Skip to content

Commit

Permalink
Merge remote-tracking branch 'remotes/origin/master' into work-s
Browse files Browse the repository at this point in the history
  • Loading branch information
kairera0467 committed Aug 2, 2020
2 parents 5640e99 + 17e5c3b commit d5733ad
Show file tree
Hide file tree
Showing 17 changed files with 432 additions and 345 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;_TEST_ENGLISH TEST_Direct3D9Ex_ _WindowedFullscreen MemoryRenderer animetest</DefineConstants>
<DefineConstants>TRACE;_TEST_ENGLISH TEST_Direct3D9Ex_ _WindowedFullscreen MemoryRenderer animetest</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
Expand Down
610 changes: 316 additions & 294 deletions DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ public override int On進行描画()
this.tx背景.t2D描画( CDTXMania.app.Device, 0, 0 );

#region[ バージョン表示 ]
string strVersion = "KTT:J:A:J:2018110400";
string strVersion = "KTT:J:A:J:2020032000";
#if DEBUG
strVersion += " DEBUG";
#endif
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3391,15 +3391,19 @@ public void t分岐処理( int n分岐先, int n分岐開始位置のChip番号,
}
//2015.06.24 ソート処理で正確な番号が取得できなくなっていたので、とりあえずこれで対応。
//2015.07.21 「卓球de脱臼」でバグが発生するのを修正完了。未ヒットチップを未来方向のみ検索して対応。


// 2020.3.20 kairera0467 譜面分岐バグ検証用のログ
//Trace.TraceInformation("分岐処理発生 現在:{0} 次回:{1}", (E分岐コース)n現在のコース[nPlayer], (E分岐コース)n次回のコース[nPlayer]);
//Trace.TraceInformation("消去対象 {0} {1}", (E分岐コース)n消すコース1, (E分岐コース)n消すコース2);

//ソート後の譜面分岐開始位置のchip番号を正常に取得できないため、ここで現在の時刻から一番近い位置の音符を消す処理を作る必要がある。
//CDTX.CChip chipNoHit = this.r指定時刻に一番近い未ヒットChip( CSound管理.rc演奏用タイマ.n現在時刻ms, 0xDF, 0, 10000 );
CDTX.CChip chipNoHit = this.r指定時刻に一番近い未ヒットChip( CSound管理.rc演奏用タイマ.n現在時刻ms + 1, 0xDF, 0, 10000, nPlayer ); //とりあえず検索開始を1ms後にして対応。
if( chipNoHit == null )
return;
//Trace.TraceInformation("処理範囲基準チップ Time:{0}ms {1} chipNo:{2}", chipNoHit.n発声時刻ms, chipNoHit.n発声位置, chipNoHit.n整数値);

n分岐開始位置のChip番号 = chipNoHit.n整数値;
n分岐開始位置のChip番号 = chipNoHit.nList上の位置;

//2017.08.15 kairera0467 複数譜面同時再生対応もどき
CDTX dTX = CDTXMania.DTX;
Expand All @@ -3416,7 +3420,7 @@ public void t分岐処理( int n分岐先, int n分岐開始位置のChip番号,
for( int A = n分岐開始位置のChip番号; A < dTX.listChip.Count; A++ )
{
//if( dTX.listChip[ A ].n発声時刻ms < dTX.listBRANCH[ this.n分岐した回数 ].db分岐時間ms )
if( dTX.listChip[ A ].n整数値 <= n分岐開始位置のChip番号 || !dTX.listChip[ A ].bBranch )
if( dTX.listChip[ A ].nList上の位置 <= n分岐開始位置のChip番号 || !dTX.listChip[ A ].bBranch )
{
dTX.listChip[ A ].b可視 = true;
continue;
Expand All @@ -3441,10 +3445,10 @@ public void t分岐処理( int n分岐先, int n分岐開始位置のChip番号,
}

// 2018.03.31 過去方向にも調べる。本来はあまりよくないと思うのでこの実装はそのうち消す。
chipNoHit = this.r指定時刻に一番近いChipを過去方向優先で検索する( CSound管理.rc演奏用タイマ.n現在時刻ms, 0xDF, 0, nPlayer ); //とりあえず検索開始を1ms後にして対応。
//chipNoHit = this.r指定時刻に一番近いChipを過去方向優先で検索する( CSound管理.rc演奏用タイマ.n現在時刻ms, 0xDF, 0, nPlayer ); //とりあえず検索開始を1ms後にして対応。

if( chipNoHit == null )
return;
//if( chipNoHit == null )
// return;
//for( int A = n分岐開始位置のChip番号; A < chipNoHit.n整数値; A-- )
//{
// //if( dTX.listChip[ A ].n発声時刻ms < dTX.listBRANCH[ this.n分岐した回数 ].db分岐時間ms )
Expand Down Expand Up @@ -3569,6 +3573,7 @@ public void t演奏やりなおし()
this.t演奏位置の変更( 0, 0 );
this.t演奏位置の変更( 0, 1 );
CDTXMania.stage演奏ドラム画面.On活性化();
CDTXMania.stage演奏ドラム画面.actLaneTaiko.tリセット();
for( int i = 0; i < CDTXMania.ConfigIni.nPlayerCount; i++ )
{
this.chip現在処理中の連打チップ[ i ] = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1266,6 +1266,20 @@ public void t判定枠移動( double db移動時間, int n移動px, int n移動
this.n移動距離px = n移動px;
}

/// <summary>
/// 全プレイヤーの譜面分岐の描画関係をリセットする
/// </summary>
public void tリセット()
{
// STBranch構造体の中身をリセット
// 透明度のリセットは演奏再開後の処理で賄う
for( int i = 0; i < CDTXMania.ConfigIni.nPlayerCount; i++ )
{
this.stBranch[ i ].nBefore = 0;
this.stBranch[ i ].nAfter = 0;
}
}


#region[ private ]
//-----------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1361,7 +1361,7 @@ protected override void t進行描画_チップ_Taiko( CConfigIni configIni, ref

#if DEBUG
if( CDTXMania.ConfigIni.b演奏情報を表示する )
CDTXMania.act文字コンソール.tPrint( (int)x + 60, (int)(y - 42) - pChip.nコース * 16, C文字コンソール.Eフォント種別., pChip.n整数値.ToString() );
CDTXMania.act文字コンソール.tPrint( (int)x + 60, (int)(y - 42) - pChip.nコース * 16, C文字コンソール.Eフォント種別., pChip.nList上の位置.ToString() );
#endif


Expand Down Expand Up @@ -1784,6 +1784,7 @@ protected override void t進行描画_チップ_Taiko連打( CConfigIni configIn
if( CDTXMania.ConfigIni.eSTEALTH != Eステルスモード.DORON )
{
#region[複素数スクロール対応テスト]
#if DEBUG
this.tx太鼓ノーツ.color4 = new Color4( 1.0f, fRet, fRet );
if( body_draw == true ) {
this.tx太鼓ノーツ.vc拡大縮小倍率.X = (index - 65.0f) / 130.0f;
Expand All @@ -1797,19 +1798,22 @@ protected override void t進行描画_チップ_Taiko連打( CConfigIni configIn
//顔は色を変えない
this.tx太鼓ノーツ.color4 = new Color4( 1.0f, 1.0f, 1.0f );
this.tx太鼓ノーツ.t2D描画( CDTXMania.app.Device, x, y, 0, new Rectangle( 650, num9, 130, 130 ) );
#endif
#endregion
#region[新方式]
//this.tx太鼓ノーツ.color4 = new Color4( 1.0f, fRet, fRet );
//if( body_draw == true ) {
// this.tx太鼓ノーツ.vc拡大縮小倍率.X = (index - 65.0f) / 130.0f;
// this.tx太鼓ノーツ.t2D描画( CDTXMania.app.Device, (float)(x + 65.0f), (float)y, 0, new Rectangle( 780, 0, 130, 130 ) );
//}
//this.tx太鼓ノーツ.vc拡大縮小倍率.X = 1.0f;
//this.tx太鼓ノーツ.t2D描画( CDTXMania.app.Device, x末端, y, 0, new Rectangle( 910, 0, 130, 130 ) );
#if !DEBUG
this.tx太鼓ノーツ.color4 = new Color4( 1.0f, fRet, fRet );
if( body_draw == true ) {
this.tx太鼓ノーツ.vc拡大縮小倍率.X = (index - 65.0f) / 130.0f;
this.tx太鼓ノーツ.t2D描画( CDTXMania.app.Device, (float)(x + 65.0f), (float)y, 0, new Rectangle( 780, 0, 130, 130 ) );
}
this.tx太鼓ノーツ.vc拡大縮小倍率.X = 1.0f;
this.tx太鼓ノーツ.t2D描画( CDTXMania.app.Device, x末端, y, 0, new Rectangle( 910, 0, 130, 130 ) );

//顔は色を変えない
//this.tx太鼓ノーツ.color4 = new Color4( 1.0f, 1.0f, 1.0f );
//this.tx太鼓ノーツ.t2D描画( CDTXMania.app.Device, x, y, 0, new Rectangle( 650, num9, 130, 130 ) );
this.tx太鼓ノーツ.color4 = new Color4(1.0f, 1.0f, 1.0f);
this.tx太鼓ノーツ.t2D描画(CDTXMania.app.Device, x, y, 0, new Rectangle(650, num9, 130, 130));
#endif
#endregion
#region[旧方式]
//this.tx太鼓ノーツ.vc拡大縮小倍率.X = index - 65;
Expand Down Expand Up @@ -1852,6 +1856,7 @@ protected override void t進行描画_チップ_Taiko連打( CConfigIni configIn
if( CDTXMania.ConfigIni.eSTEALTH != Eステルスモード.DORON )
{
#region[複素数スクロール対応テスト]
#if DEBUG
this.tx太鼓ノーツ.color4 = new Color4( 1.0f, fRet, fRet );
if( body_draw == true ) {
this.tx太鼓ノーツ.vc拡大縮小倍率.X = (index - 65.0f) / 130.0f;
Expand All @@ -1870,19 +1875,22 @@ protected override void t進行描画_チップ_Taiko連打( CConfigIni configIn
y = CDTXMania.Skin.nScrollFieldY[ nPlayer ] + -( pChip.nバーからの距離dot.Taiko * (float)pChip.dbSCROLL_Y );
this.tx太鼓ノーツ.t2D描画( CDTXMania.app.Device, x, y, 0, new Rectangle( 1040, num9, 130, 130 ) );
CDTXMania.act文字コンソール.tPrint( (int)x, (int)y, C文字コンソール.Eフォント種別., "X:"+x+" y:"+y );
#endif
#endregion
#region[新方式]
//this.tx太鼓ノーツ.color4 = new Color4( 1.0f, fRet, fRet );
//if( body_draw == true ) {
// this.tx太鼓ノーツ.vc拡大縮小倍率.X = (index - 65.0f) / 130.0f;
// this.tx太鼓ノーツ.t2D描画( CDTXMania.app.Device, x + 65, y, 0, new Rectangle( 1170, 0, 130, 130 ) );
//}
//this.tx太鼓ノーツ.vc拡大縮小倍率.X = 1.0f;
//this.tx太鼓ノーツ.t2D描画( CDTXMania.app.Device, x末端, y, 0, new Rectangle( 1300, num9, 130, 130 ) );
#if !DEBUG
this.tx太鼓ノーツ.color4 = new Color4( 1.0f, fRet, fRet );
if( body_draw == true ) {
this.tx太鼓ノーツ.vc拡大縮小倍率.X = (index - 65.0f) / 130.0f;
this.tx太鼓ノーツ.t2D描画( CDTXMania.app.Device, x + 65, y, 0, new Rectangle( 1170, 0, 130, 130 ) );
}
this.tx太鼓ノーツ.vc拡大縮小倍率.X = 1.0f;
this.tx太鼓ノーツ.t2D描画( CDTXMania.app.Device, x末端, y, 0, new Rectangle( 1300, num9, 130, 130 ) );

////顔は色を変えない
//this.tx太鼓ノーツ.color4 = new Color4( 1.0f, 1.0f, 1.0f );
//this.tx太鼓ノーツ.t2D描画( CDTXMania.app.Device, x, y, 0, new Rectangle( 1040, num9, 130, 130 ) );
//顔は色を変えない
this.tx太鼓ノーツ.color4 = new Color4( 1.0f, 1.0f, 1.0f );
this.tx太鼓ノーツ.t2D描画( CDTXMania.app.Device, x, y, 0, new Rectangle( 1040, num9, 130, 130 ) );
#endif
#endregion
#region[旧方式]
//this.tx太鼓ノーツ.vc拡大縮小倍率.X = index - 65;
Expand Down Expand Up @@ -1948,23 +1956,23 @@ protected override void t進行描画_チップ_Taiko連打( CConfigIni configIn
if( !CDTXMania.ConfigIni.bMonochlo )
{
#region[新方式]
//if( CDTXMania.ConfigIni.eSTEALTH != Eステルスモード.DORON && pChip.n連打音符State == 6 )
//this.tx太鼓ノーツ.t2D描画( CDTXMania.app.Device, x, y, 0, new Rectangle( n, num9, 130, 130 ) );//大音符:1170
if( CDTXMania.ConfigIni.eSTEALTH != Eステルスモード.DORON && pChip.n連打音符State == 6 )
this.tx太鼓ノーツ.t2D描画( CDTXMania.app.Device, x, y, 0, new Rectangle( n, num9, 130, 130 ) );//大音符:1170
#endregion
#region[旧方式]
//if( CDTXMania.ConfigIni.eSTEALTH != Eステルスモード.DORON )
//this.tx太鼓ノーツ.t2D描画( CDTXMania.app.Device, x, y, new Rectangle( n, num9, 130, 130 ) );//大音符:1170
#endregion
#endregion
}
else
{
#region[新方式]
//if( CDTXMania.ConfigIni.eSTEALTH != Eステルスモード.DORON )
//this.txモノクロノーツ.t2D描画( CDTXMania.app.Device, x, y, 0, new Rectangle( n, num9, 130, 130 ) );//大音符:1170
if( CDTXMania.ConfigIni.eSTEALTH != Eステルスモード.DORON )
this.txモノクロノーツ.t2D描画( CDTXMania.app.Device, x, y, 0, new Rectangle( n, num9, 130, 130 ) );//大音符:1170
#endregion
#region[旧方式]
//if( CDTXMania.ConfigIni.eSTEALTH != Eステルスモード.DORON )
//this.txモノクロノーツ.t2D描画( CDTXMania.app.Device, x, y, new Rectangle( n, num9, 130, 130 ) );//大音符:1170
//if( CDTXMania.ConfigIni.eSTEALTH != Eステルスモード.DORON )
//this.txモノクロノーツ.t2D描画( CDTXMania.app.Device, x, y, new Rectangle( n, num9, 130, 130 ) );//大音符:1170
#endregion
}

Expand All @@ -1985,7 +1993,7 @@ protected override void t進行描画_チップ_Taiko連打( CConfigIni configIn
if( pChip.nチャンネル番号 != 0x18 && ( nPlayer == 0 ? CDTXMania.ConfigIni.b太鼓パートAutoPlay : CDTXMania.ConfigIni.b太鼓パートAutoPlay2P ) )
this.tチップのヒット処理( pChip.n発声時刻ms, pChip, E楽器パート.TAIKO, false, 0, nPlayer );
}
#endregion
#endregion
}

protected override void t進行描画_チップ_ドラムス( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )
Expand Down Expand Up @@ -2089,7 +2097,7 @@ public void t全体制御メソッド()
}


#region[ 譜面分岐ガイド建設予定地 ]
#region[ 譜面分岐ガイド建設予定地 ]
//現在実験状態です。
//画像などが完成したらメソッドorクラスとして分離します。

Expand Down Expand Up @@ -2166,9 +2174,9 @@ public void t全体制御メソッド()
CDTXMania.act文字コンソール.tPrint( 0, nY基準位置[ i ] + (16 * 1), C文字コンソール.Eフォント種別., strNext.ToString() );
}
}
#endregion
#endregion

#region[ 片手判定をこっちに持ってきてみる。]
#region[ 片手判定をこっちに持ってきてみる。]
//常時イベントが発生しているメソッドのほうがいいんじゃないかという予想。
//CDTX.CChip chipNoHit = this.r指定時刻に一番近い未ヒットChip((int)CSound管理.rc演奏用タイマ.n現在時刻ms, 0);
for( int i = 0; i < CDTXMania.ConfigIni.nPlayerCount; i++ )
Expand All @@ -2190,9 +2198,9 @@ public void t全体制御メソッド()
}
}

#endregion
#endregion

#region[ 判定カウント(Debug用) ]
#region[ 判定カウント(Debug用) ]
#if DEBUG
int count_y = 0;
CDTXMania.act文字コンソール.tPrint( 0, count_y, C文字コンソール.Eフォント種別., string.Format($"PG:{this.nヒット数[0].:0000}") );
Expand All @@ -2216,10 +2224,10 @@ public void t全体制御メソッド()
count_y += 16;
CDTXMania.act文字コンソール.tPrint( 0, count_y, C文字コンソール.Eフォント種別., string.Format($"PO:{this.nヒット数[1].見逃し不可:0000}") );
#endif
#endregion
#endregion

string strNull = "Found"; // 不要?
#region[ ポーズメニュー ]
#region[ ポーズメニュー ]
if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.F1 ) )
{
if( !this.actPauseMenu.bIsActivePopupMenu )
Expand All @@ -2242,7 +2250,7 @@ public void t全体制御メソッド()
C共通.bToggleBoolian( ref this.bポーズメニューを表示する );
}
}
#endregion
#endregion
//if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.F8 ) )
//{
//this.actChipFireD.Start紙吹雪();
Expand Down Expand Up @@ -2299,7 +2307,7 @@ private void t進行描画_リアルタイム判定数表示()

// 2019.04.06 kairera0467
// 再生速度を仮設置
CDTXMania.act文字コンソール.tPrint( 0, 400, C文字コンソール.Eフォント種別., string.Format( "PlaySpeed x{0,4:#.00}", (double)(CDTXMania.ConfigIni.n演奏速度 / 20.0 ) ) );
//CDTXMania.act文字コンソール.tPrint( 0, 400, C文字コンソール.Eフォント種別.白, string.Format( "PlaySpeed x{0,4:#.00}", (double)(CDTXMania.ConfigIni.n演奏速度 / 20.0 ) ) );
}
}

Expand Down Expand Up @@ -2405,6 +2413,6 @@ public CTexture CreateMonochromeImage( Image img )
return texture;
}
//-----------------
#endregion
#endregion
}
}
Loading

0 comments on commit d5733ad

Please sign in to comment.