this.t進行描画・WailingBonus();\r
this.t進行描画・譜面スクロール速度();\r
this.t進行描画・チップアニメ();\r
- flag = this.t進行描画・チップ();\r
+ flag = this.t進行描画・チップ(E楽器パート.GUITAR);\r
this.t進行描画・演奏情報();\r
this.t進行描画・Wailing枠();\r
this.t進行描画・チップファイアGB();\r
{\r
base.t進行描画・BGA( 0xb5, 50 );\r
}\r
- protected override void t進行描画・DANGER()\r
+ protected override void t進行描画・DANGER() // 現在、ギター画面でのDANGER実装は無し\r
{\r
}\r
////private void t進行描画・MIDIBGM()\r
//// CStage.Eフェーズ eフェーズid1 = base.eフェーズID;\r
//// }\r
////}\r
- private void t進行描画・RGBボタン()\r
- {\r
- if( CDTXMania.ConfigIni.eDark != Eダークモード.FULL )\r
- {\r
- this.actRGB.On進行描画();\r
- }\r
- }\r
+ //private void t進行描画・RGBボタン()\r
+ //{\r
+ // if( CDTXMania.ConfigIni.eDark != Eダークモード.FULL )\r
+ // {\r
+ // this.actRGB.On進行描画();\r
+ // }\r
+ //}\r
//private void t進行描画・STAGEFAILED()\r
//{\r
// if( ( ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED ) || ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) && ( ( this.actStageFailed.On進行描画() != 0 ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) )\r
//{\r
// this.actStatusPanels.On進行描画();\r
//}\r
- private bool t進行描画・チップ()\r
- {\r
- if( ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED ) || ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) )\r
- {\r
- return true;\r
- }\r
- if( ( this.n現在のトップChip == -1 ) || ( this.n現在のトップChip >= CDTXMania.DTX.listChip.Count ) )\r
- {\r
- return true;\r
- }\r
- int nCurrentTopChip = this.n現在のトップChip;\r
- if( nCurrentTopChip == -1 )\r
- {\r
- return true;\r
- }\r
-\r
- //double speed = 264.0; // BPM150の時の1小節の長さ[dot]\r
- double speed = 234.0; // BPM150の時の1小節の長さ[dot]\r
-\r
- double ScrollSpeedDrums = ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Drums + 1.0 ) * 0.5 * 37.5 * speed / 60000.0;\r
- double ScrollSpeedGuitar = ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Guitar + 1.0 ) * 0.5 * 0.5 * 37.5 * speed / 60000.0;\r
- double ScrollSpeedBass = ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Bass + 1.0 ) * 0.5 * 0.5 * 37.5 * speed / 60000.0;\r
-\r
- CDTX dTX = CDTXMania.DTX;\r
- CConfigIni configIni = CDTXMania.ConfigIni;\r
- while( nCurrentTopChip < dTX.listChip.Count )\r
- {\r
- CDTX.CChip pChip = dTX.listChip[ nCurrentTopChip ];\r
- pChip.nバーからの距離dot.Drums = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * ScrollSpeedDrums );\r
- pChip.nバーからの距離dot.Guitar = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * ScrollSpeedGuitar );\r
- pChip.nバーからの距離dot.Bass = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * ScrollSpeedBass );\r
- if( Math.Min( Math.Min( pChip.nバーからの距離dot.Drums, pChip.nバーからの距離dot.Guitar ), pChip.nバーからの距離dot.Bass ) > 450 )\r
- {\r
- break;\r
- }\r
- if( ( ( nCurrentTopChip == this.n現在のトップChip ) && ( pChip.nバーからの距離dot.Drums < -65 ) ) && pChip.bHit )\r
- {\r
- this.n現在のトップChip++;\r
- nCurrentTopChip = this.n現在のトップChip;\r
- continue;\r
- }\r
-\r
- bool bPChipIsAutoPlay = false;\r
- if ((\r
- ((pChip.e楽器パート == E楽器パート.DRUMS) && CDTXMania.ConfigIni.bAutoPlay[this.nチャンネル0Atoレーン07[pChip.nチャンネル番号 - 0x11]]) ||\r
- ((pChip.e楽器パート == E楽器パート.GUITAR) && CDTXMania.ConfigIni.bAutoPlay.Guitar)\r
- ) ||\r
- ((pChip.e楽器パート == E楽器パート.BASS) && CDTXMania.ConfigIni.bAutoPlay.Bass)\r
- )\r
-// if ((pChip.e楽器パート == E楽器パート.DRUMS) && CDTXMania.ConfigIni.bAutoPlay[this.nチャンネル0Atoレーン07[pChip.nチャンネル番号 - 0x11]])\r
- {\r
- bPChipIsAutoPlay = true;\r
- }\r
-\r
- int nInputAdjustTime = 0;\r
- if (bPChipIsAutoPlay)\r
- {\r
- //nInputAdjustTime = 0;\r
- }\r
- else if (pChip.e楽器パート == E楽器パート.UNKNOWN)\r
- {\r
- //nInputAdjustTime = 0;\r
- }\r
- else\r
- {\r
- nInputAdjustTime = this.nInputAdjustTimeMs[(int)pChip.e楽器パート];\r
- }\r
-\r
- if( ( ( pChip.e楽器パート != E楽器パート.UNKNOWN ) && !pChip.bHit ) &&\r
- ( ( pChip.nバーからの距離dot.Drums < 0 ) && ( this.e指定時刻からChipのJUDGEを返す( CDTXMania.Timer.n現在時刻, pChip, nInputAdjustTime ) == E判定.Miss ) ) )\r
- {\r
- this.tチップのヒット処理( CDTXMania.Timer.n現在時刻, pChip );\r
- }\r
- switch( pChip.nチャンネル番号 )\r
- {\r
- case 0x01: // BGM\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( configIni.bBGM音を発声する )\r
- {\r
- dTX.tチップの再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, 10, dTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) );\r
- }\r
- }\r
- break;\r
+// private bool t進行描画・チップ(E楽器パート ePlayMode)\r
+// {\r
+// if( ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED ) || ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) )\r
+// {\r
+// return true;\r
+// }\r
+// if( ( this.n現在のトップChip == -1 ) || ( this.n現在のトップChip >= CDTXMania.DTX.listChip.Count ) )\r
+// {\r
+// return true;\r
+// }\r
+// int nCurrentTopChip = this.n現在のトップChip;\r
+// if( nCurrentTopChip == -1 )\r
+// {\r
+// return true;\r
+// }\r
\r
- case 0x03: // BPM変更\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.actPlayInfo.dbBPM = ( pChip.n整数値 * ( ( (double) configIni.n演奏速度 ) / 20.0 ) ) + dTX.BASEBPM;\r
- }\r
- break;\r
-\r
- case 0x04: // レイヤーBGA\r
- case 0x07:\r
- case 0x55:\r
- case 0x56:\r
- case 0x57:\r
- case 0x58:\r
- case 0x59:\r
- case 0x60:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( configIni.bBGA有効 )\r
- {\r
- switch( pChip.eBGA種別 )\r
- {\r
- case EBGA種別.BMPTEX:\r
- if( pChip.rBMPTEX != null )\r
- {\r
- this.actBGA.Start( pChip.nチャンネル番号, null, pChip.rBMPTEX, pChip.rBMPTEX.tx画像.sz画像サイズ.Width, pChip.rBMPTEX.tx画像.sz画像サイズ.Height, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );\r
- }\r
- break;\r
-\r
- case EBGA種別.BGA:\r
- if( ( pChip.rBGA != null ) && ( ( pChip.rBMP != null ) || ( pChip.rBMPTEX != null ) ) )\r
- {\r
- this.actBGA.Start( pChip.nチャンネル番号, pChip.rBMP, pChip.rBMPTEX, pChip.rBGA.pt画像側右下座標.X - pChip.rBGA.pt画像側左上座標.X, pChip.rBGA.pt画像側右下座標.Y - pChip.rBGA.pt画像側左上座標.Y, 0, 0, pChip.rBGA.pt画像側左上座標.X, pChip.rBGA.pt画像側左上座標.Y, 0, 0, pChip.rBGA.pt表示座標.X, pChip.rBGA.pt表示座標.Y, 0, 0, 0 );\r
- }\r
- break;\r
-\r
- case EBGA種別.BGAPAN:\r
- if( ( pChip.rBGAPan != null ) && ( ( pChip.rBMP != null ) || ( pChip.rBMPTEX != null ) ) )\r
- {\r
- this.actBGA.Start( pChip.nチャンネル番号, pChip.rBMP, pChip.rBMPTEX, pChip.rBGAPan.sz開始サイズ.Width, pChip.rBGAPan.sz開始サイズ.Height, pChip.rBGAPan.sz終了サイズ.Width, pChip.rBGAPan.sz終了サイズ.Height, pChip.rBGAPan.pt画像側開始位置.X, pChip.rBGAPan.pt画像側開始位置.Y, pChip.rBGAPan.pt画像側終了位置.X, pChip.rBGAPan.pt画像側終了位置.Y, pChip.rBGAPan.pt表示側開始位置.X, pChip.rBGAPan.pt表示側開始位置.Y, pChip.rBGAPan.pt表示側終了位置.X, pChip.rBGAPan.pt表示側終了位置.Y, pChip.n総移動時間 );\r
- }\r
- break;\r
-\r
- default:\r
- if( pChip.rBMP != null )\r
- {\r
- this.actBGA.Start( pChip.nチャンネル番号, pChip.rBMP, null, pChip.rBMP.n幅, pChip.rBMP.n高さ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );\r
- }\r
- break;\r
- }\r
- }\r
- }\r
- break;\r
+// //double speed = 264.0; // BPM150の時の1小節の長さ[dot]\r
+// double speed = 234.0; // BPM150の時の1小節の長さ[dot]\r
\r
- case 0x08: // BPM変更(拡張)\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( dTX.listBPM.ContainsKey( pChip.n整数値・内部番号 ) )\r
- {\r
- this.actPlayInfo.dbBPM = ( dTX.listBPM[ pChip.n整数値・内部番号 ].dbBPM値 * ( ( (double) configIni.n演奏速度 ) / 20.0 ) ) + dTX.BASEBPM;\r
- }\r
- }\r
- break;\r
-\r
- case 0x11: // ドラム演奏\r
- case 0x12:\r
- case 0x13:\r
- case 0x14:\r
- case 0x15:\r
- case 0x16:\r
- case 0x17:\r
- case 0x18:\r
- case 0x19:\r
- case 0x1a:\r
- {\r
- int indexSevenLanes = this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ];\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.DRUMS, dTX.nモニタを考慮した音量( E楽器パート.DRUMS ) );\r
- }\r
- break;\r
- }\r
- case 0x1f:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.r現在の歓声Chip.Drums = pChip;\r
- }\r
- break;\r
-\r
- case 0x20:\r
- case 0x21:\r
- case 0x22:\r
- case 0x23:\r
- case 0x24:\r
- case 0x25:\r
- case 0x26:\r
- case 0x27:\r
- if( configIni.bGuitar有効 )\r
- {\r
- if( configIni.bSudden.Guitar )\r
- {\r
- pChip.b可視 = pChip.nバーからの距離dot.Guitar < 200;\r
- }\r
- if( configIni.bHidden.Guitar && ( pChip.nバーからの距離dot.Guitar < 100 ) )\r
- {\r
- pChip.b可視 = false;\r
- }\r
- if( !pChip.bHit && pChip.b可視 )\r
- {\r
- int num6 = configIni.bReverse.Guitar ? ( 0x171 - pChip.nバーからの距離dot.Guitar ) : ( 40 + pChip.nバーからの距離dot.Guitar );\r
- if( ( num6 > 0 ) && ( num6 < 0x199 ) )\r
- {\r
- int num7 = this.ctチップ模様アニメ.Guitar.n現在の値;\r
- if( pChip.nチャンネル番号 == 0x20 )\r
- {\r
- if( this.txチップ != null )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x1a, num6 - 4, new Rectangle( 0, 0xc0 + ( ( num7 % 5 ) * 8 ), 0x67, 8 ) );\r
- }\r
- }\r
- else if( !configIni.bLeft.Guitar )\r
- {\r
- Rectangle rectangle = new Rectangle( 0, num7 * 8, 0x20, 8 );\r
- if( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x1a, num6 - 4, rectangle );\r
- }\r
- rectangle.X += 0x20;\r
- if( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x3e, num6 - 4, rectangle );\r
- }\r
- rectangle.X += 0x20;\r
- if( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x62, num6 - 4, rectangle );\r
- }\r
- }\r
- else\r
- {\r
- Rectangle rectangle2 = new Rectangle( 0, num7 * 8, 0x20, 8 );\r
- if( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x62, num6 - 4, rectangle2 );\r
- }\r
- rectangle2.X += 0x20;\r
- if( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x3e, num6 - 4, rectangle2 );\r
- }\r
- rectangle2.X += 0x20;\r
- if( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x1a, num6 - 4, rectangle2 );\r
- }\r
- }\r
- }\r
- }\r
- if( ( configIni.bAutoPlay.Guitar && !pChip.bHit ) && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) || ( pChip.nチャンネル番号 == 0x20 ) )\r
- {\r
- this.actChipFireGB.Start( 0 );\r
- }\r
- if( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) || ( pChip.nチャンネル番号 == 0x20 ) )\r
- {\r
- this.actChipFireGB.Start( 1 );\r
- }\r
- if( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) || ( pChip.nチャンネル番号 == 0x20 ) )\r
- {\r
- this.actChipFireGB.Start( 2 );\r
- }\r
- this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.GUITAR, dTX.nモニタを考慮した音量( E楽器パート.GUITAR ) );\r
- this.r次にくるギターChip = null;\r
- this.tチップのヒット処理( pChip.n発声時刻ms, pChip );\r
- }\r
- break;\r
- }\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.GUITAR, dTX.nモニタを考慮した音量( E楽器パート.GUITAR ) );\r
- }\r
- break;\r
+// double ScrollSpeedDrums = ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Drums + 1.0 ) * 0.5 * 37.5 * speed / 60000.0;\r
+// double ScrollSpeedGuitar = ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Guitar + 1.0 ) * 0.5 * 0.5 * 37.5 * speed / 60000.0;\r
+// double ScrollSpeedBass = ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Bass + 1.0 ) * 0.5 * 0.5 * 37.5 * speed / 60000.0;\r
\r
- case 40:\r
- if( configIni.bGuitar有効 )\r
- {\r
- if( configIni.bSudden.Guitar )\r
- {\r
- pChip.b可視 = pChip.nバーからの距離dot.Guitar < 200;\r
- }\r
- if( configIni.bHidden.Guitar && ( pChip.nバーからの距離dot.Guitar < 100 ) )\r
- {\r
- pChip.b可視 = false;\r
- }\r
- if( !pChip.bHit && pChip.b可視 )\r
- {\r
- int num10 = 0x19;\r
- int num11 = configIni.bReverse.Guitar ? ( 0x171 - pChip.nバーからの距離dot.Guitar ) : ( 40 + pChip.nバーからの距離dot.Guitar );\r
- int num12 = num11;\r
- int num13 = 0;\r
- if( ( num12 < ( 0x199 + num10 ) ) && ( num12 > -num10 ) )\r
- {\r
- int num14 = this.ctWailingチップ模様アニメ.n現在の値;\r
- Rectangle rectangle5 = new Rectangle( 0x60 + ( num14 * 20 ), 0, 20, 50 );\r
- if( num12 < num10 )\r
- {\r
- rectangle5.Y += num10 - num12;\r
- rectangle5.Height -= num10 - num12;\r
- num13 = num10 - num12;\r
- }\r
- if( num12 > ( 0x199 - num10 ) )\r
- {\r
- rectangle5.Height -= num12 - ( 0x199 - num10 );\r
- }\r
- if( ( rectangle5.Bottom > rectangle5.Top ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x8b, ( num11 - num10 ) + num13, rectangle5 );\r
- }\r
- }\r
- }\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( configIni.bAutoPlay.Guitar )\r
- {\r
- this.actWailingBonus.Start( E楽器パート.GUITAR, this.r現在の歓声Chip.Guitar );\r
- }\r
- }\r
- break;\r
- }\r
- pChip.bHit = true;\r
- break;\r
+// CDTX dTX = CDTXMania.DTX;\r
+// CConfigIni configIni = CDTXMania.ConfigIni;\r
+// while( nCurrentTopChip < dTX.listChip.Count )\r
+// {\r
+// CDTX.CChip pChip = dTX.listChip[ nCurrentTopChip ];\r
+// pChip.nバーからの距離dot.Drums = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * ScrollSpeedDrums );\r
+// pChip.nバーからの距離dot.Guitar = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * ScrollSpeedGuitar );\r
+// pChip.nバーからの距離dot.Bass = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * ScrollSpeedBass );\r
+// if( Math.Min( Math.Min( pChip.nバーからの距離dot.Drums, pChip.nバーからの距離dot.Guitar ), pChip.nバーからの距離dot.Bass ) > 450 )\r
+// {\r
+// break;\r
+// }\r
+// if( ( ( nCurrentTopChip == this.n現在のトップChip ) && ( pChip.nバーからの距離dot.Drums < -65 ) ) && pChip.bHit )\r
+// {\r
+// this.n現在のトップChip++;\r
+// nCurrentTopChip = this.n現在のトップChip;\r
+// continue;\r
+// }\r
\r
- case 0x2f:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.r現在の歓声Chip.Guitar = pChip;\r
- }\r
- break;\r
-\r
- case 0x31:\r
- case 50:\r
- case 0x33:\r
- case 0x34:\r
- case 0x35:\r
- case 0x36:\r
- case 0x37:\r
- case 0x38:\r
- case 0x39:\r
- case 0x3a:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- }\r
- break;\r
+// bool bPChipIsAutoPlay = false;\r
+// if ((\r
+// ((pChip.e楽器パート == E楽器パート.DRUMS) && CDTXMania.ConfigIni.bAutoPlay[this.nチャンネル0Atoレーン07[pChip.nチャンネル番号 - 0x11]]) ||\r
+// ((pChip.e楽器パート == E楽器パート.GUITAR) && CDTXMania.ConfigIni.bAutoPlay.Guitar)\r
+// ) ||\r
+// ((pChip.e楽器パート == E楽器パート.BASS) && CDTXMania.ConfigIni.bAutoPlay.Bass)\r
+// )\r
+//// if ((pChip.e楽器パート == E楽器パート.DRUMS) && CDTXMania.ConfigIni.bAutoPlay[this.nチャンネル0Atoレーン07[pChip.nチャンネル番号 - 0x11]])\r
+// {\r
+// bPChipIsAutoPlay = true;\r
+// }\r
\r
- case 80:\r
- {\r
- int num20 = pChip.n発声位置 / 0x180;\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.actPlayInfo.n小節番号 = num20 - 1;\r
- if( configIni.bWave再生位置自動調整機能有効 )\r
- {\r
- dTX.tWave再生位置自動補正();\r
- }\r
- }\r
- if( ( pChip.b可視 && configIni.bGuitar有効 ) && ( configIni.eDark != Eダークモード.FULL ) )\r
- {\r
- int y = configIni.bReverse.Guitar ? ( ( 0x171 - pChip.nバーからの距離dot.Guitar ) - 1 ) : ( ( 40 + pChip.nバーからの距離dot.Guitar ) - 1 );\r
- if( ( dTX.bチップがある.Guitar && ( y > 0 ) ) && ( ( y < 0x199 ) && ( this.txチップ != null ) ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x1a, y, new Rectangle( 0, 0xeb, 0x68, 1 ) );\r
- }\r
- y = configIni.bReverse.Bass ? ( ( 0x171 - pChip.nバーからの距離dot.Bass ) - 1 ) : ( ( 40 + pChip.nバーからの距離dot.Bass ) - 1 );\r
- if( ( dTX.bチップがある.Bass && ( y > 0 ) ) && ( ( y < 0x199 ) && ( this.txチップ != null ) ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 480, y, new Rectangle( 0, 0xeb, 0x68, 1 ) );\r
- }\r
- }\r
- break;\r
- }\r
- case 0x51:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- pChip.bHit = true;\r
- break;\r
+// int nInputAdjustTime = 0;\r
+// if (bPChipIsAutoPlay)\r
+// {\r
+// //nInputAdjustTime = 0;\r
+// }\r
+// else if (pChip.e楽器パート == E楽器パート.UNKNOWN)\r
+// {\r
+// //nInputAdjustTime = 0;\r
+// }\r
+// else\r
+// {\r
+// nInputAdjustTime = this.nInputAdjustTimeMs[(int)pChip.e楽器パート];\r
+// }\r
\r
- case 0x52:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- }\r
- break;\r
+// if( ( ( pChip.e楽器パート != E楽器パート.UNKNOWN ) && !pChip.bHit ) &&\r
+// ( ( pChip.nバーからの距離dot.Drums < 0 ) && ( this.e指定時刻からChipのJUDGEを返す( CDTXMania.Timer.n現在時刻, pChip, nInputAdjustTime ) == E判定.Miss ) ) )\r
+// {\r
+// this.tチップのヒット処理( CDTXMania.Timer.n現在時刻, pChip );\r
+// }\r
+// switch( pChip.nチャンネル番号 )\r
+// {\r
+// case 0x01: // BGM\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// if( configIni.bBGM音を発声する )\r
+// {\r
+// dTX.tチップの再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, 10, dTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) );\r
+// }\r
+// }\r
+// break;\r
\r
- case 0x53:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- }\r
- break;\r
+// case 0x03: // BPM変更\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// this.actPlayInfo.dbBPM = ( pChip.n整数値 * ( ( (double) configIni.n演奏速度 ) / 20.0 ) ) + dTX.BASEBPM;\r
+// }\r
+// break;\r
+\r
+// case 0x04: // レイヤーBGA\r
+// case 0x07:\r
+// case 0x55:\r
+// case 0x56:\r
+// case 0x57:\r
+// case 0x58:\r
+// case 0x59:\r
+// case 0x60:\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// if( configIni.bBGA有効 )\r
+// {\r
+// switch( pChip.eBGA種別 )\r
+// {\r
+// case EBGA種別.BMPTEX:\r
+// if( pChip.rBMPTEX != null )\r
+// {\r
+// this.actBGA.Start( pChip.nチャンネル番号, null, pChip.rBMPTEX, pChip.rBMPTEX.tx画像.sz画像サイズ.Width, pChip.rBMPTEX.tx画像.sz画像サイズ.Height, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );\r
+// }\r
+// break;\r
+\r
+// case EBGA種別.BGA:\r
+// if( ( pChip.rBGA != null ) && ( ( pChip.rBMP != null ) || ( pChip.rBMPTEX != null ) ) )\r
+// {\r
+// this.actBGA.Start( pChip.nチャンネル番号, pChip.rBMP, pChip.rBMPTEX, pChip.rBGA.pt画像側右下座標.X - pChip.rBGA.pt画像側左上座標.X, pChip.rBGA.pt画像側右下座標.Y - pChip.rBGA.pt画像側左上座標.Y, 0, 0, pChip.rBGA.pt画像側左上座標.X, pChip.rBGA.pt画像側左上座標.Y, 0, 0, pChip.rBGA.pt表示座標.X, pChip.rBGA.pt表示座標.Y, 0, 0, 0 );\r
+// }\r
+// break;\r
+\r
+// case EBGA種別.BGAPAN:\r
+// if( ( pChip.rBGAPan != null ) && ( ( pChip.rBMP != null ) || ( pChip.rBMPTEX != null ) ) )\r
+// {\r
+// this.actBGA.Start( pChip.nチャンネル番号, pChip.rBMP, pChip.rBMPTEX, pChip.rBGAPan.sz開始サイズ.Width, pChip.rBGAPan.sz開始サイズ.Height, pChip.rBGAPan.sz終了サイズ.Width, pChip.rBGAPan.sz終了サイズ.Height, pChip.rBGAPan.pt画像側開始位置.X, pChip.rBGAPan.pt画像側開始位置.Y, pChip.rBGAPan.pt画像側終了位置.X, pChip.rBGAPan.pt画像側終了位置.Y, pChip.rBGAPan.pt表示側開始位置.X, pChip.rBGAPan.pt表示側開始位置.Y, pChip.rBGAPan.pt表示側終了位置.X, pChip.rBGAPan.pt表示側終了位置.Y, pChip.n総移動時間 );\r
+// }\r
+// break;\r
+\r
+// default:\r
+// if( pChip.rBMP != null )\r
+// {\r
+// this.actBGA.Start( pChip.nチャンネル番号, pChip.rBMP, null, pChip.rBMP.n幅, pChip.rBMP.n高さ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );\r
+// }\r
+// break;\r
+// }\r
+// }\r
+// }\r
+// break;\r
\r
- case 0x54:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( configIni.bAVI有効 )\r
- {\r
- switch( pChip.eAVI種別 )\r
- {\r
- case EAVI種別.AVI:\r
- if( pChip.rAVI != null )\r
- {\r
- this.actAVI.Start( pChip.nチャンネル番号, pChip.rAVI, 0x116, 0x163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, pChip.n発声時刻ms );\r
- }\r
- break;\r
-\r
- case EAVI種別.AVIPAN:\r
- if( pChip.rAVIPan != null )\r
- {\r
- this.actAVI.Start( pChip.nチャンネル番号, pChip.rAVI, pChip.rAVIPan.sz開始サイズ.Width, pChip.rAVIPan.sz開始サイズ.Height, pChip.rAVIPan.sz終了サイズ.Width, pChip.rAVIPan.sz終了サイズ.Height, pChip.rAVIPan.pt動画側開始位置.X, pChip.rAVIPan.pt動画側開始位置.Y, pChip.rAVIPan.pt動画側終了位置.X, pChip.rAVIPan.pt動画側終了位置.Y, pChip.rAVIPan.pt表示側開始位置.X, pChip.rAVIPan.pt表示側開始位置.Y, pChip.rAVIPan.pt表示側終了位置.X, pChip.rAVIPan.pt表示側終了位置.Y, pChip.n総移動時間, pChip.n発声時刻ms );\r
- }\r
- break;\r
- }\r
- }\r
- }\r
- break;\r
-\r
- case 0x61:\r
- case 0x62:\r
- case 0x63:\r
- case 0x64:\r
- case 0x65:\r
- case 0x66:\r
- case 0x67:\r
- case 0x68:\r
- case 0x69:\r
- case 0x70:\r
- case 0x71:\r
- case 0x72:\r
- case 0x73:\r
- case 0x74:\r
- case 0x75:\r
- case 0x76:\r
- case 0x77:\r
- case 0x78:\r
- case 0x79:\r
- case 0x80:\r
- case 0x81:\r
- case 0x82:\r
- case 0x83:\r
- case 0x84:\r
- case 0x85:\r
- case 0x86:\r
- case 0x87:\r
- case 0x88:\r
- case 0x89:\r
- case 0x90:\r
- case 0x91:\r
- case 0x92:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( configIni.bBGM音を発声する )\r
- {\r
- dTX.tWavの再生停止( this.n最後に再生したBGMの実WAV番号[ pChip.nチャンネル番号 - 0x61 ] );\r
- dTX.tチップの再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, 10, dTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) );\r
- this.n最後に再生したBGMの実WAV番号[ pChip.nチャンネル番号 - 0x61 ] = pChip.n整数値・内部番号;\r
- }\r
- }\r
- break;\r
-\r
- case 160:\r
- case 0xa1:\r
- case 0xa2:\r
- case 0xa3:\r
- case 0xa4:\r
- case 0xa5:\r
- case 0xa6:\r
- case 0xa7:\r
- if( configIni.bGuitar有効 )\r
- {\r
- if( configIni.bSudden.Bass )\r
- {\r
- pChip.b可視 = pChip.nバーからの距離dot.Bass < 200;\r
- }\r
- if( configIni.bHidden.Bass && ( pChip.nバーからの距離dot.Bass < 100 ) )\r
- {\r
- pChip.b可視 = false;\r
- }\r
- if( !pChip.bHit && pChip.b可視 )\r
- {\r
- int num8 = configIni.bReverse.Bass ? ( 0x171 - pChip.nバーからの距離dot.Bass ) : ( 40 + pChip.nバーからの距離dot.Bass );\r
- if( ( num8 > 0 ) && ( num8 < 0x199 ) )\r
- {\r
- int num9 = this.ctチップ模様アニメ.Bass.n現在の値;\r
- if( pChip.nチャンネル番号 == 160 )\r
- {\r
- if( this.txチップ != null )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 480, num8 - 4, new Rectangle( 0, 0xc0 + ( ( num9 % 5 ) * 8 ), 0x67, 8 ) );\r
- }\r
- }\r
- else if( !configIni.bLeft.Bass )\r
- {\r
- Rectangle rectangle3 = new Rectangle( 0, num9 * 8, 0x20, 8 );\r
- if( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 480, num8 - 4, rectangle3 );\r
- }\r
- rectangle3.X += 0x20;\r
- if( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x204, num8 - 4, rectangle3 );\r
- }\r
- rectangle3.X += 0x20;\r
- if( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x228, num8 - 4, rectangle3 );\r
- }\r
- }\r
- else\r
- {\r
- Rectangle rectangle4 = new Rectangle( 0, num9 * 8, 0x20, 8 );\r
- if( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x228, num8 - 4, rectangle4 );\r
- }\r
- rectangle4.X += 0x20;\r
- if( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x204, num8 - 4, rectangle4 );\r
- }\r
- rectangle4.X += 0x20;\r
- if( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 480, num8 - 4, rectangle4 );\r
- }\r
- }\r
- }\r
- }\r
- if( ( configIni.bAutoPlay.Bass && !pChip.bHit ) && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) || ( pChip.nチャンネル番号 == 160 ) )\r
- {\r
- this.actChipFireGB.Start( 3 );\r
- }\r
- if( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) || ( pChip.nチャンネル番号 == 160 ) )\r
- {\r
- this.actChipFireGB.Start( 4 );\r
- }\r
- if( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) || ( pChip.nチャンネル番号 == 160 ) )\r
- {\r
- this.actChipFireGB.Start( 5 );\r
- }\r
- this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.BASS, dTX.nモニタを考慮した音量( E楽器パート.BASS ) );\r
- this.r次にくるベースChip = null;\r
- this.tチップのヒット処理( pChip.n発声時刻ms, pChip );\r
- }\r
- break;\r
- }\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.BASS, dTX.nモニタを考慮した音量( E楽器パート.BASS ) );\r
- }\r
- break;\r
+// case 0x08: // BPM変更(拡張)\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// if( dTX.listBPM.ContainsKey( pChip.n整数値・内部番号 ) )\r
+// {\r
+// this.actPlayInfo.dbBPM = ( dTX.listBPM[ pChip.n整数値・内部番号 ].dbBPM値 * ( ( (double) configIni.n演奏速度 ) / 20.0 ) ) + dTX.BASEBPM;\r
+// }\r
+// }\r
+// break;\r
+\r
+// case 0x11: // ドラム演奏\r
+// case 0x12:\r
+// case 0x13:\r
+// case 0x14:\r
+// case 0x15:\r
+// case 0x16:\r
+// case 0x17:\r
+// case 0x18:\r
+// case 0x19:\r
+// case 0x1a:\r
+// this.t進行描画・チップ・ドラムス( configIni, ref dTX, ref pChip );\r
+// break;\r
+\r
+// case 0x1f: // フィルインサウンド(ドラム)\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// this.r現在の歓声Chip.Drums = pChip;\r
+// }\r
+// break;\r
+\r
+// case 0x20: // ギター演奏\r
+// case 0x21:\r
+// case 0x22:\r
+// case 0x23:\r
+// case 0x24:\r
+// case 0x25:\r
+// case 0x26:\r
+// case 0x27:\r
+// this.t進行描画・チップ・ギター( configIni, ref dTX, ref pChip );\r
+// break;\r
+\r
+// case 0x28: // ウェイリング(ギター)\r
+// this.t進行描画・チップ・ギター・ウェイリング( configIni, ref dTX, ref pChip );\r
+// break;\r
+\r
+// case 0x2f: // ウェイリングサウンド(ギター)\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// this.r現在の歓声Chip.Guitar = pChip;\r
+// }\r
+// break;\r
+\r
+// case 0x31: // 不可視チップ配置(ドラム)\r
+// case 0x32:\r
+// case 0x33:\r
+// case 0x34:\r
+// case 0x35:\r
+// case 0x36:\r
+// case 0x37:\r
+// case 0x38:\r
+// case 0x39:\r
+// case 0x3a:\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// }\r
+// break;\r
\r
- case 0xa8:\r
- if( configIni.bGuitar有効 )\r
- {\r
- if( configIni.bSudden.Bass )\r
- {\r
- pChip.b可視 = pChip.nバーからの距離dot.Bass < 200;\r
- }\r
- if( configIni.bHidden.Bass && ( pChip.nバーからの距離dot.Bass < 100 ) )\r
- {\r
- pChip.b可視 = false;\r
- }\r
- if( !pChip.bHit && pChip.b可視 )\r
- {\r
- int num15 = 0x19;\r
- int num16 = configIni.bReverse.Bass ? ( 0x171 - pChip.nバーからの距離dot.Bass ) : ( 40 + pChip.nバーからの距離dot.Bass );\r
- int num17 = num16;\r
- int num18 = 0;\r
- if( ( num17 < ( 0x199 + num15 ) ) && ( num17 > -num15 ) )\r
- {\r
- int num19 = this.ctWailingチップ模様アニメ.n現在の値;\r
- Rectangle rectangle6 = new Rectangle( 0x60 + ( num19 * 20 ), 0, 20, 50 );\r
- if( num17 < num15 )\r
- {\r
- rectangle6.Y += num15 - num17;\r
- rectangle6.Height -= num15 - num17;\r
- num18 = num15 - num17;\r
- }\r
- if( num17 > ( 0x199 - num15 ) )\r
- {\r
- rectangle6.Height -= num17 - ( 0x199 - num15 );\r
- }\r
- if( ( rectangle6.Bottom > rectangle6.Top ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x251, ( num16 - num15 ) + num18, rectangle6 );\r
- }\r
- }\r
- }\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( configIni.bAutoPlay.Bass )\r
- {\r
- this.actWailingBonus.Start( E楽器パート.BASS, this.r現在の歓声Chip.Bass );\r
- }\r
- }\r
- break;\r
- }\r
- pChip.bHit = true;\r
- break;\r
+// case 0x50: // 小節線\r
+// {\r
+// int n小節番号plus1 = pChip.n発声位置 / 384;\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// this.actPlayInfo.n小節番号 = n小節番号plus1 - 1;\r
+// if( configIni.bWave再生位置自動調整機能有効 )\r
+// {\r
+// dTX.tWave再生位置自動補正();\r
+// }\r
+// }\r
+// if( configIni.bDrums有効 && ePlayMode == E楽器パート.DRUMS ) // Drumsでのみ表示\r
+// {\r
+// if ( configIni.b演奏情報を表示する && ( configIni.eDark == Eダークモード.OFF ) )\r
+// {\r
+// int n小節番号 = n小節番号plus1 - 1;\r
+// CDTXMania.act文字コンソール.tPrint( 0x14d, configIni.bReverse.Drums ? ( ( 0x38 + pChip.nバーからの距離dot.Drums ) - 0x11 ) : ( ( 0x1a6 - pChip.nバーからの距離dot.Drums ) - 0x11 ), C文字コンソール.Eフォント種別.白, n小節番号.ToString() );\r
+// }\r
+// if ( ( ( configIni.eDark != Eダークモード.FULL ) && pChip.b可視 ) && ( this.txチップ != null ) )\r
+// {\r
+// this.txチップ.t2D描画( CDTXMania.app.Device, 0x23, configIni.bReverse.Drums ? ( ( 0x38 + pChip.nバーからの距離dot.Drums ) - 1 ) : ( ( 0x1a6 - pChip.nバーからの距離dot.Drums ) - 1 ), new Rectangle( 0, 0x1bc, 0x128, 2 ) );\r
+// }\r
+// }\r
+// if( ( pChip.b可視 && configIni.bGuitar有効 ) && ( configIni.eDark != Eダークモード.FULL ) )\r
+// {\r
+// int y = configIni.bReverse.Guitar ? ( ( 0x171 - pChip.nバーからの距離dot.Guitar ) - 1 ) : ( ( 40 + pChip.nバーからの距離dot.Guitar ) - 1 );\r
+// if( ( dTX.bチップがある.Guitar && ( y > 0 ) ) && ( ( y < 0x199 ) && ( this.txチップ != null ) ) )\r
+// {\r
+// this.txチップ.t2D描画( CDTXMania.app.Device, 0x1a, y, new Rectangle( 0, 0xeb, 0x68, 1 ) );\r
+// }\r
+// y = configIni.bReverse.Bass ? ( ( 0x171 - pChip.nバーからの距離dot.Bass ) - 1 ) : ( ( 40 + pChip.nバーからの距離dot.Bass ) - 1 );\r
+// if( ( dTX.bチップがある.Bass && ( y > 0 ) ) && ( ( y < 0x199 ) && ( this.txチップ != null ) ) )\r
+// {\r
+// this.txチップ.t2D描画( CDTXMania.app.Device, 480, y, new Rectangle( 0, 0xeb, 0x68, 1 ) );\r
+// }\r
+// }\r
+// break;\r
+// }\r
+// case 0x51: // 拍線\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// }\r
+// if( ( ePlayMode == E楽器パート.DRUMS ) && ( configIni.eDark != Eダークモード.FULL ) && pChip.b可視 && ( this.txチップ != null ) )\r
+// {\r
+// this.txチップ.t2D描画( CDTXMania.app.Device, 0x23, configIni.bReverse.Drums ? ( ( 0x38 + pChip.nバーからの距離dot.Drums ) - 1 ) : ( ( 0x1a6 - pChip.nバーからの距離dot.Drums ) - 1 ), new Rectangle( 0, 0x1bf, 0x128, 1 ) );\r
+// }\r
+// break;\r
\r
- case 0xaf:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.r現在の歓声Chip.Bass = pChip;\r
- }\r
- break;\r
-\r
- case 0xb1:\r
- case 0xb2:\r
- case 0xb3:\r
- case 180:\r
- case 0xb5:\r
- case 0xb6:\r
- case 0xb7:\r
- case 0xb8:\r
- case 0xb9:\r
- case 0xbc:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- }\r
- break;\r
+// case 0x52: // MIDIコーラス\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// }\r
+// break;\r
\r
- case 0xba:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.r現在の空うちギターChip = pChip;\r
- pChip.nチャンネル番号 = 0x20;\r
- }\r
- break;\r
+// case 0x53: // フィルイン\r
+// this.t進行描画・チップ・フィルイン( configIni, ref dTX, ref pChip );\r
+// break;\r
\r
- case 0xbb:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.r現在の空うちベースChip = pChip;\r
- pChip.nチャンネル番号 = 160;\r
- }\r
- break;\r
-\r
- case 0xc4:\r
- case 0xc7:\r
- case 0xd5:\r
- case 0xd6:\r
- case 0xd7:\r
- case 0xd8:\r
- case 0xd9:\r
- case 0xe0:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( ( configIni.bBGA有効 && ( pChip.eBGA種別 == EBGA種別.BMP ) ) || ( pChip.eBGA種別 == EBGA種別.BMPTEX ) )\r
- {\r
- for( int i = 0; i < 8; i++ )\r
- {\r
- if( this.nBGAスコープチャンネルマップ[ 0, i ] == pChip.nチャンネル番号 )\r
- {\r
- this.actBGA.ChangeScope( this.nBGAスコープチャンネルマップ[ 1, i ], pChip.rBMP, pChip.rBMPTEX );\r
- }\r
- }\r
- }\r
- }\r
- break;\r
+// case 0x54: // 動画再生\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// if( configIni.bAVI有効 )\r
+// {\r
+// switch( pChip.eAVI種別 )\r
+// {\r
+// case EAVI種別.AVI:\r
+// if( pChip.rAVI != null )\r
+// {\r
+// this.actAVI.Start( pChip.nチャンネル番号, pChip.rAVI, 0x116, 0x163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, pChip.n発声時刻ms );\r
+// }\r
+// break;\r
+\r
+// case EAVI種別.AVIPAN:\r
+// if( pChip.rAVIPan != null )\r
+// {\r
+// this.actAVI.Start( pChip.nチャンネル番号, pChip.rAVI, pChip.rAVIPan.sz開始サイズ.Width, pChip.rAVIPan.sz開始サイズ.Height, pChip.rAVIPan.sz終了サイズ.Width, pChip.rAVIPan.sz終了サイズ.Height, pChip.rAVIPan.pt動画側開始位置.X, pChip.rAVIPan.pt動画側開始位置.Y, pChip.rAVIPan.pt動画側終了位置.X, pChip.rAVIPan.pt動画側終了位置.Y, pChip.rAVIPan.pt表示側開始位置.X, pChip.rAVIPan.pt表示側開始位置.Y, pChip.rAVIPan.pt表示側終了位置.X, pChip.rAVIPan.pt表示側終了位置.Y, pChip.n総移動時間, pChip.n発声時刻ms );\r
+// }\r
+// break;\r
+// }\r
+// }\r
+// }\r
+// break;\r
+\r
+// case 0x61: case 0x62: case 0x63: case 0x64: // 自動再生(BGM, SE)\r
+// case 0x65: case 0x66: case 0x67: case 0x68:\r
+// case 0x69: case 0x70: case 0x71: case 0x72:\r
+// case 0x73: case 0x74: case 0x75: case 0x76:\r
+// case 0x77: case 0x78: case 0x79: case 0x80:\r
+// case 0x81: case 0x82: case 0x83: case 0x84:\r
+// case 0x85: case 0x86: case 0x87: case 0x88:\r
+// case 0x89: case 0x90: case 0x91: case 0x92:\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// if( configIni.bBGM音を発声する )\r
+// {\r
+// dTX.tWavの再生停止( this.n最後に再生したBGMの実WAV番号[ pChip.nチャンネル番号 - 0x61 ] );\r
+// dTX.tチップの再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, 10, dTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) );\r
+// this.n最後に再生したBGMの実WAV番号[ pChip.nチャンネル番号 - 0x61 ] = pChip.n整数値・内部番号;\r
+// }\r
+// }\r
+// break;\r
+\r
+// case 0xa0: // ベース演奏\r
+// case 0xa1:\r
+// case 0xa2:\r
+// case 0xa3:\r
+// case 0xa4:\r
+// case 0xa5:\r
+// case 0xa6:\r
+// case 0xa7:\r
+// this.t進行描画・チップ・ベース( configIni, ref dTX, ref pChip );\r
+// break;\r
+\r
+// case 0xa8: // ウェイリング(ベース)\r
+// this.t進行描画・チップ・ベース・ウェイリング( configIni, ref dTX, ref pChip );\r
+// break;\r
+\r
+// case 0xaf:\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// this.r現在の歓声Chip.Bass = pChip;\r
+// }\r
+// break;\r
+\r
+// case 0xb1: // 空打ち音設定(ドラム)\r
+// case 0xb2:\r
+// case 0xb3:\r
+// case 0xb4:\r
+// case 0xb5:\r
+// case 0xb6:\r
+// case 0xb7:\r
+// case 0xb8:\r
+// case 0xb9:\r
+// case 0xbc:\r
+// this.t進行描画・チップ・空打ち音設定・ドラム( configIni, ref dTX, ref pChip );\r
+// break;\r
+\r
+// case 0xba: // 空打ち音設定(ギター)\r
+// break;\r
+\r
+// case 0xbb: // 空打ち音設定(ベース)\r
+// if ( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// this.r現在の空うちギターChip = pChip;\r
+// pChip.nチャンネル番号 = 0x20;\r
+// }\r
+// if ( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// this.r現在の空うちベースChip = pChip;\r
+// pChip.nチャンネル番号 = 160;\r
+// }\r
+// break;\r
+\r
+// case 0xc4: // BGA画像入れ替え\r
+// case 0xc7:\r
+// case 0xd5:\r
+// case 0xd6:\r
+// case 0xd7:\r
+// case 0xd8:\r
+// case 0xd9:\r
+// case 0xe0:\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// if( ( configIni.bBGA有効 && ( pChip.eBGA種別 == EBGA種別.BMP ) ) || ( pChip.eBGA種別 == EBGA種別.BMPTEX ) )\r
+// {\r
+// for( int i = 0; i < 8; i++ )\r
+// {\r
+// if( this.nBGAスコープチャンネルマップ[ 0, i ] == pChip.nチャンネル番号 )\r
+// {\r
+// this.actBGA.ChangeScope( this.nBGAスコープチャンネルマップ[ 1, i ], pChip.rBMP, pChip.rBMPTEX );\r
+// }\r
+// }\r
+// }\r
+// }\r
+// break;\r
\r
- default:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- }\r
- break;\r
- }\r
+// default:\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// }\r
+// break;\r
+// }\r
\r
- nCurrentTopChip++;\r
- }\r
- return false;\r
- }\r
+// nCurrentTopChip++;\r
+// }\r
+// return false;\r
+// }\r
//private void t進行描画・チップアニメ()\r
//{\r
// for( int i = 1; i < 3; i++ )\r
// this.actGauge.db現在のゲージ値[ (int) part ] = 1.0;\r
// }\r
//-----------------\r
+\r
+ protected override void t進行描画・チップ・ドラムス( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ {\r
+ // int indexSevenLanes = this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ];\r
+ if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.DRUMS, dTX.nモニタを考慮した音量( E楽器パート.DRUMS ) );\r
+ }\r
+ }\r
+ protected override void t進行描画・チップ・ギター( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ {\r
+ if ( configIni.bGuitar有効 )\r
+ {\r
+ if ( configIni.bSudden.Guitar )\r
+ {\r
+ pChip.b可視 = pChip.nバーからの距離dot.Guitar < 200;\r
+ }\r
+ if ( configIni.bHidden.Guitar && ( pChip.nバーからの距離dot.Guitar < 100 ) )\r
+ {\r
+ pChip.b可視 = false;\r
+ }\r
+ if ( !pChip.bHit && pChip.b可視 )\r
+ {\r
+ int nバーからの距離 = configIni.bReverse.Guitar ? ( 0x171 - pChip.nバーからの距離dot.Guitar ) : ( 40 + pChip.nバーからの距離dot.Guitar );\r
+ if ( ( nバーからの距離 > 0 ) && ( nバーからの距離 < 0x199 ) )\r
+ {\r
+ int nアニメカウンタ現在の値 = this.ctチップ模様アニメ.Guitar.n現在の値;\r
+ if ( pChip.nチャンネル番号 == 0x20 )\r
+ {\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x1a, nバーからの距離 - 4, new Rectangle( 0, 0xc0 + ( ( nアニメカウンタ現在の値 % 5 ) * 8 ), 0x67, 8 ) );\r
+ }\r
+ }\r
+ else if ( !configIni.bLeft.Guitar )\r
+ {\r
+ Rectangle rectangle = new Rectangle( 0, nアニメカウンタ現在の値 * 8, 0x20, 8 );\r
+ if ( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x1a, nバーからの距離 - 4, rectangle );\r
+ }\r
+ rectangle.X += 0x20;\r
+ if ( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x3e, nバーからの距離 - 4, rectangle );\r
+ }\r
+ rectangle.X += 0x20;\r
+ if ( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x62, nバーからの距離 - 4, rectangle );\r
+ }\r
+ }\r
+ else\r
+ {\r
+ Rectangle rectangle2 = new Rectangle( 0, nアニメカウンタ現在の値 * 8, 0x20, 8 );\r
+ if ( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x62, nバーからの距離 - 4, rectangle2 );\r
+ }\r
+ rectangle2.X += 0x20;\r
+ if ( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x3e, nバーからの距離 - 4, rectangle2 );\r
+ }\r
+ rectangle2.X += 0x20;\r
+ if ( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x1a, nバーからの距離 - 4, rectangle2 );\r
+ }\r
+ }\r
+ }\r
+ }\r
+ if ( ( configIni.bAutoPlay.Guitar && !pChip.bHit ) && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ if ( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) || ( pChip.nチャンネル番号 == 0x20 ) )\r
+ {\r
+ this.actChipFireGB.Start( 0 );\r
+ }\r
+ if ( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) || ( pChip.nチャンネル番号 == 0x20 ) )\r
+ {\r
+ this.actChipFireGB.Start( 1 );\r
+ }\r
+ if ( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) || ( pChip.nチャンネル番号 == 0x20 ) )\r
+ {\r
+ this.actChipFireGB.Start( 2 );\r
+ }\r
+ this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.GUITAR, dTX.nモニタを考慮した音量( E楽器パート.GUITAR ) );\r
+ this.r次にくるギターChip = null;\r
+ this.tチップのヒット処理( pChip.n発声時刻ms, pChip );\r
+ }\r
+ // break;\r
+ return;\r
+ }\r
+ if ( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.GUITAR, dTX.nモニタを考慮した音量( E楽器パート.GUITAR ) );\r
+ }\r
+\r
+ }\r
+ protected override void t進行描画・チップ・ギター・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ {\r
+ if( configIni.bGuitar有効 )\r
+ {\r
+ if( configIni.bSudden.Guitar )\r
+ {\r
+ pChip.b可視 = pChip.nバーからの距離dot.Guitar < 200;\r
+ }\r
+ if( configIni.bHidden.Guitar && ( pChip.nバーからの距離dot.Guitar < 100 ) )\r
+ {\r
+ pChip.b可視 = false;\r
+ }\r
+ if( !pChip.bHit && pChip.b可視 )\r
+ {\r
+ int num10 = 0x19;\r
+ int num11 = configIni.bReverse.Guitar ? ( 0x171 - pChip.nバーからの距離dot.Guitar ) : ( 40 + pChip.nバーからの距離dot.Guitar );\r
+ int num12 = num11;\r
+ int num13 = 0;\r
+ if( ( num12 < ( 0x199 + num10 ) ) && ( num12 > -num10 ) )\r
+ {\r
+ int num14 = this.ctWailingチップ模様アニメ.n現在の値;\r
+ Rectangle rectangle5 = new Rectangle( 0x60 + ( num14 * 20 ), 0, 20, 50 );\r
+ if( num12 < num10 )\r
+ {\r
+ rectangle5.Y += num10 - num12;\r
+ rectangle5.Height -= num10 - num12;\r
+ num13 = num10 - num12;\r
+ }\r
+ if( num12 > ( 0x199 - num10 ) )\r
+ {\r
+ rectangle5.Height -= num12 - ( 0x199 - num10 );\r
+ }\r
+ if( ( rectangle5.Bottom > rectangle5.Top ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x8b, ( num11 - num10 ) + num13, rectangle5 );\r
+ }\r
+ }\r
+ }\r
+ if( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ if( configIni.bAutoPlay.Guitar )\r
+ {\r
+ this.actWailingBonus.Start( E楽器パート.GUITAR, this.r現在の歓声Chip.Guitar );\r
+ }\r
+ }\r
+ return;\r
+ }\r
+ pChip.bHit = true;\r
+ }\r
+ protected override void t進行描画・チップ・フィルイン( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ {\r
+ if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ }\r
+ }\r
+ protected override void t進行描画・チップ・ベース( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ {\r
+ if ( configIni.bGuitar有効 )\r
+ {\r
+ if ( configIni.bSudden.Bass )\r
+ {\r
+ pChip.b可視 = pChip.nバーからの距離dot.Bass < 200;\r
+ }\r
+ if ( configIni.bHidden.Bass && ( pChip.nバーからの距離dot.Bass < 100 ) )\r
+ {\r
+ pChip.b可視 = false;\r
+ }\r
+ if ( !pChip.bHit && pChip.b可視 )\r
+ {\r
+ int num8 = configIni.bReverse.Bass ? ( 0x171 - pChip.nバーからの距離dot.Bass ) : ( 40 + pChip.nバーからの距離dot.Bass );\r
+ if ( ( num8 > 0 ) && ( num8 < 0x199 ) )\r
+ {\r
+ int num9 = this.ctチップ模様アニメ.Bass.n現在の値;\r
+ if ( pChip.nチャンネル番号 == 160 )\r
+ {\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 480, num8 - 4, new Rectangle( 0, 0xc0 + ( ( num9 % 5 ) * 8 ), 0x67, 8 ) );\r
+ }\r
+ }\r
+ else if ( !configIni.bLeft.Bass )\r
+ {\r
+ Rectangle rectangle3 = new Rectangle( 0, num9 * 8, 0x20, 8 );\r
+ if ( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 480, num8 - 4, rectangle3 );\r
+ }\r
+ rectangle3.X += 0x20;\r
+ if ( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x204, num8 - 4, rectangle3 );\r
+ }\r
+ rectangle3.X += 0x20;\r
+ if ( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x228, num8 - 4, rectangle3 );\r
+ }\r
+ }\r
+ else\r
+ {\r
+ Rectangle rectangle4 = new Rectangle( 0, num9 * 8, 0x20, 8 );\r
+ if ( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x228, num8 - 4, rectangle4 );\r
+ }\r
+ rectangle4.X += 0x20;\r
+ if ( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x204, num8 - 4, rectangle4 );\r
+ }\r
+ rectangle4.X += 0x20;\r
+ if ( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 480, num8 - 4, rectangle4 );\r
+ }\r
+ }\r
+ }\r
+ }\r
+ if ( ( configIni.bAutoPlay.Bass && !pChip.bHit ) && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ if ( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) || ( pChip.nチャンネル番号 == 160 ) )\r
+ {\r
+ this.actChipFireGB.Start( 3 );\r
+ }\r
+ if ( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) || ( pChip.nチャンネル番号 == 160 ) )\r
+ {\r
+ this.actChipFireGB.Start( 4 );\r
+ }\r
+ if ( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) || ( pChip.nチャンネル番号 == 160 ) )\r
+ {\r
+ this.actChipFireGB.Start( 5 );\r
+ }\r
+ this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.BASS, dTX.nモニタを考慮した音量( E楽器パート.BASS ) );\r
+ this.r次にくるベースChip = null;\r
+ this.tチップのヒット処理( pChip.n発声時刻ms, pChip );\r
+ }\r
+ return;\r
+ }\r
+ if ( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.BASS, dTX.nモニタを考慮した音量( E楽器パート.BASS ) );\r
+ }\r
+ }\r
+ protected override void t進行描画・チップ・ベース・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ {\r
+ if ( configIni.bGuitar有効 )\r
+ {\r
+ if ( configIni.bSudden.Bass )\r
+ {\r
+ pChip.b可視 = pChip.nバーからの距離dot.Bass < 200;\r
+ }\r
+ if ( configIni.bHidden.Bass && ( pChip.nバーからの距離dot.Bass < 100 ) )\r
+ {\r
+ pChip.b可視 = false;\r
+ }\r
+ if ( !pChip.bHit && pChip.b可視 )\r
+ {\r
+ int num15 = 0x19;\r
+ int num16 = configIni.bReverse.Bass ? ( 0x171 - pChip.nバーからの距離dot.Bass ) : ( 40 + pChip.nバーからの距離dot.Bass );\r
+ int num17 = num16;\r
+ int num18 = 0;\r
+ if ( ( num17 < ( 0x199 + num15 ) ) && ( num17 > -num15 ) )\r
+ {\r
+ int num19 = this.ctWailingチップ模様アニメ.n現在の値;\r
+ Rectangle rectangle6 = new Rectangle( 0x60 + ( num19 * 20 ), 0, 20, 50 );\r
+ if ( num17 < num15 )\r
+ {\r
+ rectangle6.Y += num15 - num17;\r
+ rectangle6.Height -= num15 - num17;\r
+ num18 = num15 - num17;\r
+ }\r
+ if ( num17 > ( 0x199 - num15 ) )\r
+ {\r
+ rectangle6.Height -= num17 - ( 0x199 - num15 );\r
+ }\r
+ if ( ( rectangle6.Bottom > rectangle6.Top ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x251, ( num16 - num15 ) + num18, rectangle6 );\r
+ }\r
+ }\r
+ }\r
+ if ( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ if ( configIni.bAutoPlay.Bass )\r
+ {\r
+ this.actWailingBonus.Start( E楽器パート.BASS, this.r現在の歓声Chip.Bass );\r
+ }\r
+ }\r
+ return;\r
+ }\r
+ pChip.bHit = true;\r
+ }\r
+ protected override void t進行描画・チップ・空打ち音設定・ドラム( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ {\r
+ if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ }\r
+ }\r
+ protected override void t進行描画・チップ・小節線( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ {\r
+ int n小節番号plus1 = pChip.n発声位置 / 0x180;\r
+ if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ this.actPlayInfo.n小節番号 = n小節番号plus1 - 1;\r
+ if ( configIni.bWave再生位置自動調整機能有効 )\r
+ {\r
+ dTX.tWave再生位置自動補正();\r
+ }\r
+ }\r
+ if ( ( pChip.b可視 && configIni.bGuitar有効 ) && ( configIni.eDark != Eダークモード.FULL ) )\r
+ {\r
+ int y = configIni.bReverse.Guitar ? ( ( 0x171 - pChip.nバーからの距離dot.Guitar ) - 1 ) : ( ( 40 + pChip.nバーからの距離dot.Guitar ) - 1 );\r
+ if ( ( dTX.bチップがある.Guitar && ( y > 0 ) ) && ( ( y < 0x199 ) && ( this.txチップ != null ) ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x1a, y, new Rectangle( 0, 0xeb, 0x68, 1 ) );\r
+ }\r
+ y = configIni.bReverse.Bass ? ( ( 0x171 - pChip.nバーからの距離dot.Bass ) - 1 ) : ( ( 40 + pChip.nバーからの距離dot.Bass ) - 1 );\r
+ if ( ( dTX.bチップがある.Bass && ( y > 0 ) ) && ( ( y < 0x199 ) && ( this.txチップ != null ) ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 480, y, new Rectangle( 0, 0xeb, 0x68, 1 ) );\r
+ }\r
+ }\r
+\r
+ }\r
+\r
#endregion\r
}\r
}\r
// CStage.Eフェーズ eフェーズid1 = base.eフェーズID;\r
// }\r
//}\r
- private void t進行描画・RGBボタン()\r
- {\r
- if( CDTXMania.ConfigIni.eDark != Eダークモード.FULL )\r
- {\r
- this.actRGB.On進行描画();\r
- }\r
- }\r
+ //private void t進行描画・RGBボタン()\r
+ //{\r
+ // if( CDTXMania.ConfigIni.eDark != Eダークモード.FULL )\r
+ // {\r
+ // this.actRGB.On進行描画();\r
+ // }\r
+ //}\r
//private void t進行描画・STAGEFAILED()\r
//{\r
// if( ( ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED ) || ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) && ( ( this.actStageFailed.On進行描画() != 0 ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) )\r
//{\r
// this.actStatusPanels.On進行描画();\r
//}\r
- private bool t進行描画・チップ(E楽器パート ePlayMode)\r
- {\r
- if( ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED ) || ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) )\r
- {\r
- return true;\r
- }\r
- if( ( this.n現在のトップChip == -1 ) || ( this.n現在のトップChip >= CDTXMania.DTX.listChip.Count ) )\r
- {\r
- return true;\r
- }\r
- int nCurrentTopChip = this.n現在のトップChip;\r
- if( nCurrentTopChip == -1 )\r
- {\r
- return true;\r
- }\r
+// private bool t進行描画・チップ(E楽器パート ePlayMode)\r
+// {\r
+// if( ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED ) || ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) )\r
+// {\r
+// return true;\r
+// }\r
+// if( ( this.n現在のトップChip == -1 ) || ( this.n現在のトップChip >= CDTXMania.DTX.listChip.Count ) )\r
+// {\r
+// return true;\r
+// }\r
+// int nCurrentTopChip = this.n現在のトップChip;\r
+// if( nCurrentTopChip == -1 )\r
+// {\r
+// return true;\r
+// }\r
\r
- //double speed = 264.0; // BPM150の時の1小節の長さ[dot]\r
- double speed = 234.0; // BPM150の時の1小節の長さ[dot]\r
+// //double speed = 264.0; // BPM150の時の1小節の長さ[dot]\r
+// double speed = 234.0; // BPM150の時の1小節の長さ[dot]\r
\r
- double ScrollSpeedDrums = ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Drums + 1.0 ) * 0.5 * 37.5 * speed / 60000.0;\r
- double ScrollSpeedGuitar = ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Guitar + 1.0 ) * 0.5 * 0.5 * 37.5 * speed / 60000.0;\r
- double ScrollSpeedBass = ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Bass + 1.0 ) * 0.5 * 0.5 * 37.5 * speed / 60000.0;\r
+// double ScrollSpeedDrums = ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Drums + 1.0 ) * 0.5 * 37.5 * speed / 60000.0;\r
+// double ScrollSpeedGuitar = ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Guitar + 1.0 ) * 0.5 * 0.5 * 37.5 * speed / 60000.0;\r
+// double ScrollSpeedBass = ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Bass + 1.0 ) * 0.5 * 0.5 * 37.5 * speed / 60000.0;\r
\r
- CDTX dTX = CDTXMania.DTX;\r
- CConfigIni configIni = CDTXMania.ConfigIni;\r
- while( nCurrentTopChip < dTX.listChip.Count )\r
- {\r
- CDTX.CChip pChip = dTX.listChip[ nCurrentTopChip ];\r
- pChip.nバーからの距離dot.Drums = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * ScrollSpeedDrums );\r
- pChip.nバーからの距離dot.Guitar = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * ScrollSpeedGuitar );\r
- pChip.nバーからの距離dot.Bass = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * ScrollSpeedBass );\r
- if( Math.Min( Math.Min( pChip.nバーからの距離dot.Drums, pChip.nバーからの距離dot.Guitar ), pChip.nバーからの距離dot.Bass ) > 450 )\r
- {\r
- break;\r
- }\r
- if( ( ( nCurrentTopChip == this.n現在のトップChip ) && ( pChip.nバーからの距離dot.Drums < -65 ) ) && pChip.bHit )\r
- {\r
- this.n現在のトップChip++;\r
- nCurrentTopChip = this.n現在のトップChip;\r
- continue;\r
- }\r
+// CDTX dTX = CDTXMania.DTX;\r
+// CConfigIni configIni = CDTXMania.ConfigIni;\r
+// while( nCurrentTopChip < dTX.listChip.Count )\r
+// {\r
+// CDTX.CChip pChip = dTX.listChip[ nCurrentTopChip ];\r
+// pChip.nバーからの距離dot.Drums = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * ScrollSpeedDrums );\r
+// pChip.nバーからの距離dot.Guitar = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * ScrollSpeedGuitar );\r
+// pChip.nバーからの距離dot.Bass = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * ScrollSpeedBass );\r
+// if( Math.Min( Math.Min( pChip.nバーからの距離dot.Drums, pChip.nバーからの距離dot.Guitar ), pChip.nバーからの距離dot.Bass ) > 450 )\r
+// {\r
+// break;\r
+// }\r
+// if( ( ( nCurrentTopChip == this.n現在のトップChip ) && ( pChip.nバーからの距離dot.Drums < -65 ) ) && pChip.bHit )\r
+// {\r
+// this.n現在のトップChip++;\r
+// nCurrentTopChip = this.n現在のトップChip;\r
+// continue;\r
+// }\r
\r
- bool bPChipIsAutoPlay = false;\r
- if ((\r
- ((pChip.e楽器パート == E楽器パート.DRUMS) && CDTXMania.ConfigIni.bAutoPlay[this.nチャンネル0Atoレーン07[pChip.nチャンネル番号 - 0x11]]) ||\r
- ((pChip.e楽器パート == E楽器パート.GUITAR) && CDTXMania.ConfigIni.bAutoPlay.Guitar)\r
- ) ||\r
- ((pChip.e楽器パート == E楽器パート.BASS) && CDTXMania.ConfigIni.bAutoPlay.Bass)\r
- )\r
-// if ((pChip.e楽器パート == E楽器パート.DRUMS) && CDTXMania.ConfigIni.bAutoPlay[this.nチャンネル0Atoレーン07[pChip.nチャンネル番号 - 0x11]])\r
- {\r
- bPChipIsAutoPlay = true;\r
- }\r
+// bool bPChipIsAutoPlay = false;\r
+// if ((\r
+// ((pChip.e楽器パート == E楽器パート.DRUMS) && CDTXMania.ConfigIni.bAutoPlay[this.nチャンネル0Atoレーン07[pChip.nチャンネル番号 - 0x11]]) ||\r
+// ((pChip.e楽器パート == E楽器パート.GUITAR) && CDTXMania.ConfigIni.bAutoPlay.Guitar)\r
+// ) ||\r
+// ((pChip.e楽器パート == E楽器パート.BASS) && CDTXMania.ConfigIni.bAutoPlay.Bass)\r
+// )\r
+//// if ((pChip.e楽器パート == E楽器パート.DRUMS) && CDTXMania.ConfigIni.bAutoPlay[this.nチャンネル0Atoレーン07[pChip.nチャンネル番号 - 0x11]])\r
+// {\r
+// bPChipIsAutoPlay = true;\r
+// }\r
\r
- int nInputAdjustTime = 0;\r
- if (bPChipIsAutoPlay)\r
- {\r
- //nInputAdjustTime = 0;\r
- }\r
- else if (pChip.e楽器パート == E楽器パート.UNKNOWN)\r
- {\r
- //nInputAdjustTime = 0;\r
- }\r
- else\r
- {\r
- nInputAdjustTime = this.nInputAdjustTimeMs[(int)pChip.e楽器パート];\r
- }\r
+// int nInputAdjustTime = 0;\r
+// if (bPChipIsAutoPlay)\r
+// {\r
+// //nInputAdjustTime = 0;\r
+// }\r
+// else if (pChip.e楽器パート == E楽器パート.UNKNOWN)\r
+// {\r
+// //nInputAdjustTime = 0;\r
+// }\r
+// else\r
+// {\r
+// nInputAdjustTime = this.nInputAdjustTimeMs[(int)pChip.e楽器パート];\r
+// }\r
\r
- if( ( ( pChip.e楽器パート != E楽器パート.UNKNOWN ) && !pChip.bHit ) &&\r
- ( ( pChip.nバーからの距離dot.Drums < 0 ) && ( this.e指定時刻からChipのJUDGEを返す( CDTXMania.Timer.n現在時刻, pChip, nInputAdjustTime ) == E判定.Miss ) ) )\r
- {\r
- this.tチップのヒット処理( CDTXMania.Timer.n現在時刻, pChip );\r
- }\r
- switch( pChip.nチャンネル番号 )\r
- {\r
- case 0x01: // BGM\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( configIni.bBGM音を発声する )\r
- {\r
- dTX.tチップの再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, 10, dTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) );\r
- }\r
- }\r
- break;\r
+// if( ( ( pChip.e楽器パート != E楽器パート.UNKNOWN ) && !pChip.bHit ) &&\r
+// ( ( pChip.nバーからの距離dot.Drums < 0 ) && ( this.e指定時刻からChipのJUDGEを返す( CDTXMania.Timer.n現在時刻, pChip, nInputAdjustTime ) == E判定.Miss ) ) )\r
+// {\r
+// this.tチップのヒット処理( CDTXMania.Timer.n現在時刻, pChip );\r
+// }\r
+// switch( pChip.nチャンネル番号 )\r
+// {\r
+// case 0x01: // BGM\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// if( configIni.bBGM音を発声する )\r
+// {\r
+// dTX.tチップの再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, 10, dTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) );\r
+// }\r
+// }\r
+// break;\r
\r
- case 0x03: // BPM変更\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.actPlayInfo.dbBPM = ( pChip.n整数値 * ( ( (double) configIni.n演奏速度 ) / 20.0 ) ) + dTX.BASEBPM;\r
- }\r
- break;\r
+// case 0x03: // BPM変更\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// this.actPlayInfo.dbBPM = ( pChip.n整数値 * ( ( (double) configIni.n演奏速度 ) / 20.0 ) ) + dTX.BASEBPM;\r
+// }\r
+// break;\r
+\r
+// case 0x04: // レイヤーBGA\r
+// case 0x07:\r
+// case 0x55:\r
+// case 0x56:\r
+// case 0x57:\r
+// case 0x58:\r
+// case 0x59:\r
+// case 0x60:\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// if( configIni.bBGA有効 )\r
+// {\r
+// switch( pChip.eBGA種別 )\r
+// {\r
+// case EBGA種別.BMPTEX:\r
+// if( pChip.rBMPTEX != null )\r
+// {\r
+// this.actBGA.Start( pChip.nチャンネル番号, null, pChip.rBMPTEX, pChip.rBMPTEX.tx画像.sz画像サイズ.Width, pChip.rBMPTEX.tx画像.sz画像サイズ.Height, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );\r
+// }\r
+// break;\r
+\r
+// case EBGA種別.BGA:\r
+// if( ( pChip.rBGA != null ) && ( ( pChip.rBMP != null ) || ( pChip.rBMPTEX != null ) ) )\r
+// {\r
+// this.actBGA.Start( pChip.nチャンネル番号, pChip.rBMP, pChip.rBMPTEX, pChip.rBGA.pt画像側右下座標.X - pChip.rBGA.pt画像側左上座標.X, pChip.rBGA.pt画像側右下座標.Y - pChip.rBGA.pt画像側左上座標.Y, 0, 0, pChip.rBGA.pt画像側左上座標.X, pChip.rBGA.pt画像側左上座標.Y, 0, 0, pChip.rBGA.pt表示座標.X, pChip.rBGA.pt表示座標.Y, 0, 0, 0 );\r
+// }\r
+// break;\r
+\r
+// case EBGA種別.BGAPAN:\r
+// if( ( pChip.rBGAPan != null ) && ( ( pChip.rBMP != null ) || ( pChip.rBMPTEX != null ) ) )\r
+// {\r
+// this.actBGA.Start( pChip.nチャンネル番号, pChip.rBMP, pChip.rBMPTEX, pChip.rBGAPan.sz開始サイズ.Width, pChip.rBGAPan.sz開始サイズ.Height, pChip.rBGAPan.sz終了サイズ.Width, pChip.rBGAPan.sz終了サイズ.Height, pChip.rBGAPan.pt画像側開始位置.X, pChip.rBGAPan.pt画像側開始位置.Y, pChip.rBGAPan.pt画像側終了位置.X, pChip.rBGAPan.pt画像側終了位置.Y, pChip.rBGAPan.pt表示側開始位置.X, pChip.rBGAPan.pt表示側開始位置.Y, pChip.rBGAPan.pt表示側終了位置.X, pChip.rBGAPan.pt表示側終了位置.Y, pChip.n総移動時間 );\r
+// }\r
+// break;\r
+\r
+// default:\r
+// if( pChip.rBMP != null )\r
+// {\r
+// this.actBGA.Start( pChip.nチャンネル番号, pChip.rBMP, null, pChip.rBMP.n幅, pChip.rBMP.n高さ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );\r
+// }\r
+// break;\r
+// }\r
+// }\r
+// }\r
+// break;\r
\r
- case 0x04: // レイヤーBGA\r
- case 0x07:\r
- case 0x55:\r
- case 0x56:\r
- case 0x57:\r
- case 0x58:\r
- case 0x59:\r
- case 0x60:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( configIni.bBGA有効 )\r
- {\r
- switch( pChip.eBGA種別 )\r
- {\r
- case EBGA種別.BMPTEX:\r
- if( pChip.rBMPTEX != null )\r
- {\r
- this.actBGA.Start( pChip.nチャンネル番号, null, pChip.rBMPTEX, pChip.rBMPTEX.tx画像.sz画像サイズ.Width, pChip.rBMPTEX.tx画像.sz画像サイズ.Height, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );\r
- }\r
- break;\r
+// case 0x08: // BPM変更(拡張)\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// if( dTX.listBPM.ContainsKey( pChip.n整数値・内部番号 ) )\r
+// {\r
+// this.actPlayInfo.dbBPM = ( dTX.listBPM[ pChip.n整数値・内部番号 ].dbBPM値 * ( ( (double) configIni.n演奏速度 ) / 20.0 ) ) + dTX.BASEBPM;\r
+// }\r
+// }\r
+// break;\r
+\r
+// case 0x11: // ドラム演奏\r
+// case 0x12:\r
+// case 0x13:\r
+// case 0x14:\r
+// case 0x15:\r
+// case 0x16:\r
+// case 0x17:\r
+// case 0x18:\r
+// case 0x19:\r
+// case 0x1a:\r
+// this.t進行描画・チップ・ドラムス( configIni, ref dTX, ref pChip );\r
+// break;\r
+\r
+// case 0x1f: // フィルインサウンド(ドラム)\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// this.r現在の歓声Chip.Drums = pChip;\r
+// }\r
+// break;\r
+\r
+// case 0x20: // ギター演奏\r
+// case 0x21:\r
+// case 0x22:\r
+// case 0x23:\r
+// case 0x24:\r
+// case 0x25:\r
+// case 0x26:\r
+// case 0x27:\r
+// this.t進行描画・チップ・ギター( configIni, ref dTX, ref pChip );\r
+// break;\r
+\r
+// case 0x28: // ウェイリング(ギター)\r
+// this.t進行描画・チップ・ギター・ウェイリング( configIni, ref dTX, ref pChip );\r
+// break;\r
+\r
+// case 0x2f: // ウェイリングサウンド(ギター)\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// this.r現在の歓声Chip.Guitar = pChip;\r
+// }\r
+// break;\r
+\r
+// case 0x31: // 不可視チップ配置(ドラム)\r
+// case 0x32:\r
+// case 0x33:\r
+// case 0x34:\r
+// case 0x35:\r
+// case 0x36:\r
+// case 0x37:\r
+// case 0x38:\r
+// case 0x39:\r
+// case 0x3a:\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// }\r
+// break;\r
\r
- case EBGA種別.BGA:\r
- if( ( pChip.rBGA != null ) && ( ( pChip.rBMP != null ) || ( pChip.rBMPTEX != null ) ) )\r
- {\r
- this.actBGA.Start( pChip.nチャンネル番号, pChip.rBMP, pChip.rBMPTEX, pChip.rBGA.pt画像側右下座標.X - pChip.rBGA.pt画像側左上座標.X, pChip.rBGA.pt画像側右下座標.Y - pChip.rBGA.pt画像側左上座標.Y, 0, 0, pChip.rBGA.pt画像側左上座標.X, pChip.rBGA.pt画像側左上座標.Y, 0, 0, pChip.rBGA.pt表示座標.X, pChip.rBGA.pt表示座標.Y, 0, 0, 0 );\r
- }\r
- break;\r
+// case 0x50: // 小節線\r
+// {\r
+// int n小節番号plus1 = pChip.n発声位置 / 384;\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// this.actPlayInfo.n小節番号 = n小節番号plus1 - 1;\r
+// if( configIni.bWave再生位置自動調整機能有効 )\r
+// {\r
+// dTX.tWave再生位置自動補正();\r
+// }\r
+// }\r
+// if( configIni.bDrums有効 && ePlayMode == E楽器パート.DRUMS) // Drumsでのみ表示\r
+// {\r
+// if( configIni.b演奏情報を表示する && ( configIni.eDark == Eダークモード.OFF ) )\r
+// {\r
+// int n小節番号 = n小節番号plus1 - 1;\r
+// CDTXMania.act文字コンソール.tPrint( 0x14d, configIni.bReverse.Drums ? ( ( 0x38 + pChip.nバーからの距離dot.Drums ) - 0x11 ) : ( ( 0x1a6 - pChip.nバーからの距離dot.Drums ) - 0x11 ), C文字コンソール.Eフォント種別.白, n小節番号.ToString() );\r
+// }\r
+// if( ( ( configIni.eDark != Eダークモード.FULL ) && pChip.b可視 ) && ( this.txチップ != null ) )\r
+// {\r
+// this.txチップ.t2D描画( CDTXMania.app.Device, 0x23, configIni.bReverse.Drums ? ( ( 0x38 + pChip.nバーからの距離dot.Drums ) - 1 ) : ( ( 0x1a6 - pChip.nバーからの距離dot.Drums ) - 1 ), new Rectangle( 0, 0x1bc, 0x128, 2 ) );\r
+// }\r
+// }\r
+// if( ( pChip.b可視 && configIni.bGuitar有効 ) && ( configIni.eDark != Eダークモード.FULL ) )\r
+// {\r
+// int y = configIni.bReverse.Guitar ? ( ( 0x176 - pChip.nバーからの距離dot.Guitar ) - 1 ) : ( ( 0x5f + pChip.nバーからの距離dot.Guitar ) - 1 );\r
+// if( ( dTX.bチップがある.Guitar && ( y > 0x39 ) ) && ( ( y < 0x19c ) && ( this.txチップ != null ) ) )\r
+// {\r
+// this.txチップ.t2D描画( CDTXMania.app.Device, 0x1fb, y, new Rectangle( 0, 450, 0x4e, 1 ) );\r
+// }\r
+// y = configIni.bReverse.Bass ? ( ( 0x176 - pChip.nバーからの距離dot.Bass ) - 1 ) : ( ( 0x5f + pChip.nバーからの距離dot.Bass ) - 1 );\r
+// if( ( dTX.bチップがある.Bass && ( y > 0x39 ) ) && ( ( y < 0x19c ) && ( this.txチップ != null ) ) )\r
+// {\r
+// this.txチップ.t2D描画( CDTXMania.app.Device, 0x18e, y, new Rectangle( 0, 450, 0x4e, 1 ) );\r
+// }\r
+// }\r
+// break;\r
+// }\r
+// case 0x51: // 拍線\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// }\r
+// if( ( ePlayMode == E楽器パート.DRUMS ) && ( configIni.eDark != Eダークモード.FULL ) && pChip.b可視 && ( this.txチップ != null ) )\r
+// {\r
+// this.txチップ.t2D描画( CDTXMania.app.Device, 0x23, configIni.bReverse.Drums ? ( ( 0x38 + pChip.nバーからの距離dot.Drums ) - 1 ) : ( ( 0x1a6 - pChip.nバーからの距離dot.Drums ) - 1 ), new Rectangle( 0, 0x1bf, 0x128, 1 ) );\r
+// }\r
+// break;\r
\r
- case EBGA種別.BGAPAN:\r
- if( ( pChip.rBGAPan != null ) && ( ( pChip.rBMP != null ) || ( pChip.rBMPTEX != null ) ) )\r
- {\r
- this.actBGA.Start( pChip.nチャンネル番号, pChip.rBMP, pChip.rBMPTEX, pChip.rBGAPan.sz開始サイズ.Width, pChip.rBGAPan.sz開始サイズ.Height, pChip.rBGAPan.sz終了サイズ.Width, pChip.rBGAPan.sz終了サイズ.Height, pChip.rBGAPan.pt画像側開始位置.X, pChip.rBGAPan.pt画像側開始位置.Y, pChip.rBGAPan.pt画像側終了位置.X, pChip.rBGAPan.pt画像側終了位置.Y, pChip.rBGAPan.pt表示側開始位置.X, pChip.rBGAPan.pt表示側開始位置.Y, pChip.rBGAPan.pt表示側終了位置.X, pChip.rBGAPan.pt表示側終了位置.Y, pChip.n総移動時間 );\r
- }\r
- break;\r
+// case 0x52: // MIDIコーラス\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// }\r
+// break;\r
\r
- default:\r
- if( pChip.rBMP != null )\r
- {\r
- this.actBGA.Start( pChip.nチャンネル番号, pChip.rBMP, null, pChip.rBMP.n幅, pChip.rBMP.n高さ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );\r
- }\r
- break;\r
- }\r
- }\r
- }\r
- break;\r
+// case 0x53: // フィルイン\r
+// this.t進行描画・チップ・フィルイン( configIni, ref dTX, ref pChip );\r
+// break;\r
\r
- case 0x08: // BPM変更(拡張)\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( dTX.listBPM.ContainsKey( pChip.n整数値・内部番号 ) )\r
- {\r
- this.actPlayInfo.dbBPM = ( dTX.listBPM[ pChip.n整数値・内部番号 ].dbBPM値 * ( ( (double) configIni.n演奏速度 ) / 20.0 ) ) + dTX.BASEBPM;\r
- }\r
- }\r
- break;\r
+// case 0x54: // 動画再生\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// if( configIni.bAVI有効 )\r
+// {\r
+// switch( pChip.eAVI種別 )\r
+// {\r
+// case EAVI種別.AVI:\r
+// if( pChip.rAVI != null )\r
+// {\r
+// this.actAVI.Start( pChip.nチャンネル番号, pChip.rAVI, 0x116, 0x163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, pChip.n発声時刻ms );\r
+// }\r
+// break;\r
+\r
+// case EAVI種別.AVIPAN:\r
+// if( pChip.rAVIPan != null )\r
+// {\r
+// this.actAVI.Start( pChip.nチャンネル番号, pChip.rAVI, pChip.rAVIPan.sz開始サイズ.Width, pChip.rAVIPan.sz開始サイズ.Height, pChip.rAVIPan.sz終了サイズ.Width, pChip.rAVIPan.sz終了サイズ.Height, pChip.rAVIPan.pt動画側開始位置.X, pChip.rAVIPan.pt動画側開始位置.Y, pChip.rAVIPan.pt動画側終了位置.X, pChip.rAVIPan.pt動画側終了位置.Y, pChip.rAVIPan.pt表示側開始位置.X, pChip.rAVIPan.pt表示側開始位置.Y, pChip.rAVIPan.pt表示側終了位置.X, pChip.rAVIPan.pt表示側終了位置.Y, pChip.n総移動時間, pChip.n発声時刻ms );\r
+// }\r
+// break;\r
+// }\r
+// }\r
+// }\r
+// break;\r
+\r
+// case 0x61: case 0x62: case 0x63: case 0x64: // 自動再生(BGM, SE)\r
+// case 0x65: case 0x66: case 0x67: case 0x68:\r
+// case 0x69: case 0x70: case 0x71: case 0x72:\r
+// case 0x73: case 0x74: case 0x75: case 0x76:\r
+// case 0x77: case 0x78: case 0x79: case 0x80:\r
+// case 0x81: case 0x82: case 0x83: case 0x84:\r
+// case 0x85: case 0x86: case 0x87: case 0x88:\r
+// case 0x89: case 0x90: case 0x91: case 0x92:\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// if( configIni.bBGM音を発声する )\r
+// {\r
+// dTX.tWavの再生停止( this.n最後に再生したBGMの実WAV番号[ pChip.nチャンネル番号 - 0x61 ] );\r
+// dTX.tチップの再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, 10, dTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) );\r
+// this.n最後に再生したBGMの実WAV番号[ pChip.nチャンネル番号 - 0x61 ] = pChip.n整数値・内部番号;\r
+// }\r
+// }\r
+// break;\r
+\r
+// case 0xa0: // ベース演奏\r
+// case 0xa1:\r
+// case 0xa2:\r
+// case 0xa3:\r
+// case 0xa4:\r
+// case 0xa5:\r
+// case 0xa6:\r
+// case 0xa7:\r
+// this.t進行描画・チップ・ベース( configIni, ref dTX, ref pChip );\r
+// break;\r
+\r
+// case 0xa8: // ウェイリング(ベース)\r
+// this.t進行描画・チップ・ベース・ウェイリング( configIni, ref dTX, ref pChip );\r
+// break;\r
+\r
+// case 0xaf: // ウェイリングサウンド(ベース)\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// this.r現在の歓声Chip.Bass = pChip;\r
+// }\r
+// break;\r
+\r
+// case 0xb1: // 空打ち音設定(ドラム)\r
+// case 0xb2:\r
+// case 0xb3:\r
+// case 0xb4:\r
+// case 0xb5:\r
+// case 0xb6:\r
+// case 0xb7:\r
+// case 0xb8:\r
+// case 0xb9:\r
+// case 0xbc:\r
+// this.t進行描画・チップ・空打ち音設定・ドラム( configIni, ref dTX, ref pChip );\r
+// break;\r
+\r
+// case 0xba: // 空打ち音設定(ギター)\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// this.r現在の空うちギターChip = pChip;\r
+// pChip.nチャンネル番号 = 0x20;\r
+// }\r
+// break;\r
\r
- case 0x11: // ドラム演奏\r
- case 0x12:\r
- case 0x13:\r
- case 0x14:\r
- case 0x15:\r
- case 0x16:\r
- case 0x17:\r
- case 0x18:\r
- case 0x19:\r
- case 0x1a:\r
- {\r
- int indexSevenLanes = this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ];\r
- if ( ePlayMode == E楽器パート.GUITAR ) // GRモード\r
- {\r
- if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.DRUMS, dTX.nモニタを考慮した音量( E楽器パート.DRUMS ) );\r
- }\r
- break;\r
- }\r
- else\r
- { // Drumsモード\r
- if ( configIni.bDrums有効 )\r
- {\r
- if ( configIni.bSudden.Drums )\r
- {\r
- if ( pChip.nバーからの距離dot.Drums < 200 )\r
- {\r
- pChip.b可視 = true;\r
- pChip.n透明度 = 0xff;\r
- }\r
- else if ( pChip.nバーからの距離dot.Drums < 250 )\r
- {\r
- pChip.b可視 = true;\r
- pChip.n透明度 = 0xff - ( (int) ( ( ( (double) ( pChip.nバーからの距離dot.Drums - 200 ) ) * 255.0 ) / 50.0 ) );\r
- }\r
- else\r
- {\r
- pChip.b可視 = false;\r
- pChip.n透明度 = 0;\r
- }\r
- }\r
- if ( configIni.bHidden.Drums )\r
- {\r
- if ( pChip.nバーからの距離dot.Drums < 100 )\r
- {\r
- pChip.b可視 = false;\r
- }\r
- else if ( pChip.nバーからの距離dot.Drums < 150 )\r
- {\r
- pChip.b可視 = true;\r
- pChip.n透明度 = (int) ( ( ( (double) ( pChip.nバーからの距離dot.Drums - 100 ) ) * 255.0 ) / 50.0 );\r
- }\r
- }\r
- if ( !pChip.bHit && pChip.b可視 )\r
- {\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.n透明度 = pChip.n透明度;\r
- }\r
- int x = this.nチャンネルtoX座標[ pChip.nチャンネル番号 - 0x11 ];\r
- int num8 = configIni.bReverse.Drums ? ( 0x38 + pChip.nバーからの距離dot.Drums ) : ( 0x1a6 - pChip.nバーからの距離dot.Drums );\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.vc拡大縮小倍率 = new Vector3( (float) pChip.dbチップサイズ倍率, (float) pChip.dbチップサイズ倍率, 1f );\r
- }\r
- int num9 = this.ctチップ模様アニメ.Drums.n現在の値;\r
- switch ( pChip.nチャンネル番号 )\r
- {\r
- case 0x11:\r
- x = ( x + 0x10 ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0x2c, num9 * 7, 0x20, 8 ) );\r
- }\r
- break;\r
+// case 0xbb: // 空打ち音設定(ベース)\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// this.r現在の空うちベースChip = pChip;\r
+// pChip.nチャンネル番号 = 0xA0;\r
+// }\r
+// break;\r
\r
- case 0x12:\r
- x = ( x + 0x10 ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0x4c, num9 * 7, 0x20, 8 ) );\r
- }\r
- break;\r
+// case 0xc4: case 0xc7: case 0xd5: case 0xd6: // BGA画像入れ替え\r
+// case 0xd7: case 0xd8: case 0xd9: case 0xe0:\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// if( ( configIni.bBGA有効 && ( pChip.eBGA種別 == EBGA種別.BMP ) ) || ( pChip.eBGA種別 == EBGA種別.BMPTEX ) )\r
+// {\r
+// for( int i = 0; i < 8; i++ )\r
+// {\r
+// if( this.nBGAスコープチャンネルマップ[ 0, i ] == pChip.nチャンネル番号 )\r
+// {\r
+// this.actBGA.ChangeScope( this.nBGAスコープチャンネルマップ[ 1, i ], pChip.rBMP, pChip.rBMPTEX );\r
+// }\r
+// }\r
+// }\r
+// }\r
+// break;\r
\r
- case 0x13:\r
- x = ( x + 0x16 ) - ( (int) ( ( 44.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 5, new Rectangle( 0, num9 * 9, 0x2c, 10 ) );\r
- }\r
- break;\r
+// default:\r
+// if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+// {\r
+// pChip.bHit = true;\r
+// }\r
+// break;\r
+// }\r
\r
- case 0x14:\r
- x = ( x + 0x10 ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0x6c, num9 * 7, 0x20, 8 ) );\r
- }\r
- break;\r
+// nCurrentTopChip++;\r
+// }\r
+// return false;\r
+// }\r
+ //private void t進行描画・チップアニメ()\r
+ //{\r
+ // for ( int i = 0; i < 3; i++ )\r
+ // {\r
+ // this.ctチップ模様アニメ[ i ].t進行Loop();\r
+ // }\r
+ // this.ctWailingチップ模様アニメ.t進行Loop();\r
+ //}\r
+ private void t進行描画・チップファイアD()\r
+ {\r
+ this.actChipFireD.On進行描画();\r
+ }\r
+ //private void t進行描画・チップファイアGB()\r
+ //{\r
+ // this.actChipFireGB.On進行描画();\r
+ //}\r
+ private void t進行描画・ドラムパッド()\r
+ {\r
+ if( CDTXMania.ConfigIni.eDark != Eダークモード.FULL )\r
+ {\r
+ this.actPad.On進行描画();\r
+ }\r
+ }\r
+ protected override void t進行描画・パネル文字列()\r
+ {\r
+ base.t進行描画・パネル文字列( 0x150, 0x1ab );\r
+ }\r
+ //private bool t進行描画・フェードイン・アウト()\r
+ //{\r
+ // switch( base.eフェーズID )\r
+ // {\r
+ // case CStage.Eフェーズ.共通_フェードイン:\r
+ // if( this.actFI.On進行描画() != 0 )\r
+ // {\r
+ // base.eフェーズID = CStage.Eフェーズ.共通_通常状態;\r
+ // }\r
+ // break;\r
\r
- case 0x15:\r
- x = ( x + 0x10 ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 140, num9 * 7, 0x20, 8 ) );\r
- }\r
- break;\r
-\r
- case 0x16:\r
- x = ( x + 0x13 ) - ( (int) ( ( 38.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 0x15, new Rectangle( 0xcc, 0x158, 0x26, 0x24 ) );\r
- this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0xcc, num9 * 7, 0x26, 8 ) );\r
- }\r
- break;\r
-\r
- case 0x17:\r
- x = ( x + 0x10 ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0xac, num9 * 7, 0x20, 8 ) );\r
- }\r
- break;\r
-\r
- case 0x18:\r
- x = ( x + 13 ) - ( (int) ( ( 26.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0xf2, num9 * 7, 0x1a, 8 ) );\r
- this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 9, new Rectangle( 0xf2, 0x158, 0x1a, 0x12 ) );\r
- }\r
- break;\r
-\r
- case 0x19:\r
- x = ( x + 13 ) - ( (int) ( ( 26.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0xf2, num9 * 7, 0x1a, 8 ) );\r
- this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 9, new Rectangle( 0xf2, 0x158, 0x1a, 0x12 ) );\r
- }\r
- break;\r
-\r
- case 0x1a:\r
- x = ( x + 0x13 ) - ( (int) ( ( 38.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 0x15, new Rectangle( 0xcc, 0x158, 0x26, 0x24 ) );\r
- this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0xcc, num9 * 7, 0x26, 8 ) );\r
- }\r
- break;\r
- }\r
- if ( this.txチップ != null )\r
- {\r
- this.txチップ.vc拡大縮小倍率 = new Vector3( 1f, 1f, 1f );\r
- this.txチップ.n透明度 = 0xff;\r
- }\r
- }\r
- if ( ( configIni.bAutoPlay[ indexSevenLanes ] && !pChip.bHit ) && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.actLaneFlushD.Start( (Eドラムレーン) indexSevenLanes, ( (float) CInput管理.n通常音量 ) / 127f );\r
- bool flag = this.bフィルイン中;\r
- bool flag2 = this.bフィルイン中 && this.bフィルイン区間の最後のChipである( pChip );\r
- bool flag3 = flag2;\r
- this.actChipFireD.Start( (Eドラムレーン) indexSevenLanes, flag, flag2, flag3 );\r
- this.actPad.Hit( this.nチャンネル0Atoパッド08[ pChip.nチャンネル番号 - 0x11 ] );\r
- this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.DRUMS, dTX.nモニタを考慮した音量( E楽器パート.DRUMS ) );\r
- this.tチップのヒット処理( pChip.n発声時刻ms, pChip );\r
- }\r
- break;\r
- }\r
- if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.DRUMS, dTX.nモニタを考慮した音量( E楽器パート.DRUMS ) );\r
- pChip.bHit = true;\r
- }\r
- }\r
- }\r
- break;\r
-\r
- case 0x1f: // フィルインサウンド(ドラム)\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.r現在の歓声Chip.Drums = pChip;\r
- }\r
- break;\r
-\r
- case 0x20: // ギター演奏\r
- case 0x21:\r
- case 0x22:\r
- case 0x23:\r
- case 0x24:\r
- case 0x25:\r
- case 0x26:\r
- case 0x27:\r
- if( configIni.bGuitar有効 )\r
- {\r
- if( configIni.bSudden.Guitar )\r
- {\r
- pChip.b可視 = pChip.nバーからの距離dot.Guitar < 200;\r
- }\r
- if( configIni.bHidden.Guitar && ( pChip.nバーからの距離dot.Guitar < 100 ) )\r
- {\r
- pChip.b可視 = false;\r
- }\r
- if( !pChip.bHit && pChip.b可視 )\r
- {\r
- int num10 = configIni.bReverse.Guitar ? ( 0x176 - pChip.nバーからの距離dot.Guitar ) : ( 0x5f + pChip.nバーからの距離dot.Guitar );\r
- if( ( num10 > 0x39 ) && ( num10 < 0x19c ) )\r
- {\r
- int num11 = this.ctチップ模様アニメ.Guitar.n現在の値;\r
- if( pChip.nチャンネル番号 == 0x20 )\r
- {\r
- if( this.txチップ != null )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x1fd, num10 - 2, new Rectangle( 0x10c, 0x90 + ( ( num11 % 5 ) * 6 ), 0x4c, 6 ) );\r
- }\r
- }\r
- else if( !configIni.bLeft.Guitar )\r
- {\r
- Rectangle rectangle = new Rectangle( 0x10c, num11 * 6, 0x18, 6 );\r
- if( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x1fd, num10 - 3, rectangle );\r
- }\r
- rectangle.X += 0x18;\r
- if( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x217, num10 - 3, rectangle );\r
- }\r
- rectangle.X += 0x18;\r
- if( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x231, num10 - 3, rectangle );\r
- }\r
- }\r
- else\r
- {\r
- Rectangle rectangle2 = new Rectangle( 0x10c, num11 * 6, 0x18, 6 );\r
- if( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x231, num10 - 3, rectangle2 );\r
- }\r
- rectangle2.X += 0x18;\r
- if( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x217, num10 - 3, rectangle2 );\r
- }\r
- rectangle2.X += 0x18;\r
- if( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x1fd, num10 - 3, rectangle2 );\r
- }\r
- }\r
- }\r
- }\r
- if( ( configIni.bAutoPlay.Guitar && !pChip.bHit ) && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) || ( pChip.nチャンネル番号 == 0x20 ) )\r
- {\r
- this.actChipFireGB.Start( 0 );\r
- }\r
- if( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) || ( pChip.nチャンネル番号 == 0x20 ) )\r
- {\r
- this.actChipFireGB.Start( 1 );\r
- }\r
- if( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) || ( pChip.nチャンネル番号 == 0x20 ) )\r
- {\r
- this.actChipFireGB.Start( 2 );\r
- }\r
- this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.GUITAR, dTX.nモニタを考慮した音量( E楽器パート.GUITAR ) );\r
- this.r次にくるギターChip = null;\r
- this.tチップのヒット処理( pChip.n発声時刻ms, pChip );\r
- }\r
- break;\r
- }\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.GUITAR, dTX.nモニタを考慮した音量( E楽器パート.GUITAR ) );\r
- }\r
- break;\r
-\r
- case 0x28: // ウェイリング(ギター)\r
- if( configIni.bGuitar有効 )\r
- {\r
- if( configIni.bSudden.Guitar )\r
- {\r
- pChip.b可視 = pChip.nバーからの距離dot.Guitar < 200;\r
- }\r
- if( configIni.bHidden.Guitar && ( pChip.nバーからの距離dot.Guitar < 100 ) )\r
- {\r
- pChip.b可視 = false;\r
- }\r
- if( !pChip.bHit && pChip.b可視 )\r
- {\r
- int num14 = 0x19;\r
- int num15 = configIni.bReverse.Guitar ? ( 0x176 - pChip.nバーからの距離dot.Guitar ) : ( 0x5f + pChip.nバーからの距離dot.Guitar );\r
- int num16 = num15 - 0x39;\r
- int num17 = 0;\r
- if( ( num16 < ( 0x163 + num14 ) ) && ( num16 > -num14 ) )\r
- {\r
- int num18 = this.ctWailingチップ模様アニメ.n現在の値;\r
- Rectangle rectangle5 = new Rectangle( 0x10c + ( num18 * 20 ), 0xae, 20, 50 );\r
- if( num16 < num14 )\r
- {\r
- rectangle5.Y += num14 - num16;\r
- rectangle5.Height -= num14 - num16;\r
- num17 = num14 - num16;\r
- }\r
- if( num16 > ( 0x163 - num14 ) )\r
- {\r
- rectangle5.Height -= num16 - ( 0x163 - num14 );\r
- }\r
- if( ( rectangle5.Bottom > rectangle5.Top ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x24c, ( num15 - num14 ) + num17, rectangle5 );\r
- }\r
- }\r
- }\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( configIni.bAutoPlay.Guitar )\r
- {\r
- this.actWailingBonus.Start( E楽器パート.GUITAR, this.r現在の歓声Chip.Guitar );\r
- }\r
- }\r
- break;\r
- }\r
- pChip.bHit = true;\r
- break;\r
-\r
- case 0x2f: // ウェイリングサウンド(ギター)\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.r現在の歓声Chip.Guitar = pChip;\r
- }\r
- break;\r
-\r
- case 0x31: // 不可視チップ配置(ドラム)\r
- case 0x32:\r
- case 0x33:\r
- case 0x34:\r
- case 0x35:\r
- case 0x36:\r
- case 0x37:\r
- case 0x38:\r
- case 0x39:\r
- case 0x3a:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- }\r
- break;\r
-\r
- case 0x50: // 小節線\r
- {\r
- int num24 = pChip.n発声位置 / 0x180;\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.actPlayInfo.n小節番号 = num24 - 1;\r
- if( configIni.bWave再生位置自動調整機能有効 )\r
- {\r
- dTX.tWave再生位置自動補正();\r
- }\r
- }\r
- if( configIni.bDrums有効 )\r
- {\r
- if( configIni.b演奏情報を表示する && ( configIni.eDark == Eダークモード.OFF ) )\r
- {\r
- int num28 = num24 - 1;\r
- CDTXMania.act文字コンソール.tPrint( 0x14d, configIni.bReverse.Drums ? ( ( 0x38 + pChip.nバーからの距離dot.Drums ) - 0x11 ) : ( ( 0x1a6 - pChip.nバーからの距離dot.Drums ) - 0x11 ), C文字コンソール.Eフォント種別.白, num28.ToString() );\r
- }\r
- if( ( ( configIni.eDark != Eダークモード.FULL ) && pChip.b可視 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x23, configIni.bReverse.Drums ? ( ( 0x38 + pChip.nバーからの距離dot.Drums ) - 1 ) : ( ( 0x1a6 - pChip.nバーからの距離dot.Drums ) - 1 ), new Rectangle( 0, 0x1bc, 0x128, 2 ) );\r
- }\r
- }\r
- if( ( pChip.b可視 && configIni.bGuitar有効 ) && ( configIni.eDark != Eダークモード.FULL ) )\r
- {\r
- int y = configIni.bReverse.Guitar ? ( ( 0x176 - pChip.nバーからの距離dot.Guitar ) - 1 ) : ( ( 0x5f + pChip.nバーからの距離dot.Guitar ) - 1 );\r
- if( ( dTX.bチップがある.Guitar && ( y > 0x39 ) ) && ( ( y < 0x19c ) && ( this.txチップ != null ) ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x1fb, y, new Rectangle( 0, 450, 0x4e, 1 ) );\r
- }\r
- y = configIni.bReverse.Bass ? ( ( 0x176 - pChip.nバーからの距離dot.Bass ) - 1 ) : ( ( 0x5f + pChip.nバーからの距離dot.Bass ) - 1 );\r
- if( ( dTX.bチップがある.Bass && ( y > 0x39 ) ) && ( ( y < 0x19c ) && ( this.txチップ != null ) ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x18e, y, new Rectangle( 0, 450, 0x4e, 1 ) );\r
- }\r
- }\r
- break;\r
- }\r
- case 0x51: // 拍線\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- }\r
- if( ( ( configIni.eDark != Eダークモード.FULL ) && pChip.b可視 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x23, configIni.bReverse.Drums ? ( ( 0x38 + pChip.nバーからの距離dot.Drums ) - 1 ) : ( ( 0x1a6 - pChip.nバーからの距離dot.Drums ) - 1 ), new Rectangle( 0, 0x1bf, 0x128, 1 ) );\r
- }\r
- break;\r
-\r
- case 0x52: // MIDIコーラス\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- }\r
- break;\r
-\r
- case 0x53: // フィルイン\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- switch( pChip.n整数値 )\r
- {\r
- case 0x01: // フィルイン開始\r
- if( configIni.bフィルイン有効 )\r
- {\r
- this.bフィルイン中 = true;\r
- }\r
- break;\r
-\r
- case 0x02: // フィルイン終了\r
- if( configIni.bフィルイン有効 )\r
- {\r
- this.bフィルイン中 = false;\r
- }\r
- if( ( ( this.actCombo.n現在のコンボ数.Drums > 0 ) || configIni.bドラムが全部オートプレイである ) && configIni.b歓声を発声する )\r
- {\r
- if( this.r現在の歓声Chip.Drums != null )\r
- {\r
- dTX.tチップの再生( this.r現在の歓声Chip.Drums, CDTXMania.Timer.nシステム時刻, 10, dTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) );\r
- }\r
- else\r
- {\r
- CDTXMania.Skin.sound歓声音.n位置・次に鳴るサウンド = 0;\r
- CDTXMania.Skin.sound歓声音.t再生する();\r
- }\r
- }\r
- break;\r
-#if TEST_NOTEOFFMODE // 2011.1.1 yyagi TEST\r
- case 0x04: // HH消音あり(従来同等)\r
- CDTXMania.DTX.bHH演奏で直前のHHを消音する = true;\r
- break;\r
- case 0x05: // HH消音無し\r
- CDTXMania.DTX.bHH演奏で直前のHHを消音する = false;\r
- break;\r
- case 0x06: // ギター消音あり(従来同等)\r
- CDTXMania.DTX.bGUITAR演奏で直前のGUITARを消音する = true;\r
- break;\r
- case 0x07: // ギター消音無し\r
- CDTXMania.DTX.bGUITAR演奏で直前のGUITARを消音する = false;\r
- break;\r
- case 0x08: // ベース消音あり(従来同等)\r
- CDTXMania.DTX.bBASS演奏で直前のBASSを消音する = true;\r
- break;\r
- case 0x09: // ベース消音無し\r
- CDTXMania.DTX.bBASS演奏で直前のBASSを消音する = false;\r
- break;\r
-#endif\r
- }\r
- }\r
- break;\r
-\r
- case 0x54: // 動画再生\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( configIni.bAVI有効 )\r
- {\r
- switch( pChip.eAVI種別 )\r
- {\r
- case EAVI種別.AVI:\r
- if( pChip.rAVI != null )\r
- {\r
- this.actAVI.Start( pChip.nチャンネル番号, pChip.rAVI, 0x116, 0x163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, pChip.n発声時刻ms );\r
- }\r
- break;\r
-\r
- case EAVI種別.AVIPAN:\r
- if( pChip.rAVIPan != null )\r
- {\r
- this.actAVI.Start( pChip.nチャンネル番号, pChip.rAVI, pChip.rAVIPan.sz開始サイズ.Width, pChip.rAVIPan.sz開始サイズ.Height, pChip.rAVIPan.sz終了サイズ.Width, pChip.rAVIPan.sz終了サイズ.Height, pChip.rAVIPan.pt動画側開始位置.X, pChip.rAVIPan.pt動画側開始位置.Y, pChip.rAVIPan.pt動画側終了位置.X, pChip.rAVIPan.pt動画側終了位置.Y, pChip.rAVIPan.pt表示側開始位置.X, pChip.rAVIPan.pt表示側開始位置.Y, pChip.rAVIPan.pt表示側終了位置.X, pChip.rAVIPan.pt表示側終了位置.Y, pChip.n総移動時間, pChip.n発声時刻ms );\r
- }\r
- break;\r
- }\r
- }\r
- }\r
- break;\r
-\r
- case 0x61: // 自動再生(BGM, SE)\r
- case 0x62:\r
- case 0x63:\r
- case 0x64:\r
- case 0x65:\r
- case 0x66:\r
- case 0x67:\r
- case 0x68:\r
- case 0x69:\r
- case 0x70:\r
- case 0x71:\r
- case 0x72:\r
- case 0x73:\r
- case 0x74:\r
- case 0x75:\r
- case 0x76:\r
- case 0x77:\r
- case 0x78:\r
- case 0x79:\r
- case 0x80:\r
- case 0x81:\r
- case 0x82:\r
- case 0x83:\r
- case 0x84:\r
- case 0x85:\r
- case 0x86:\r
- case 0x87:\r
- case 0x88:\r
- case 0x89:\r
- case 0x90:\r
- case 0x91:\r
- case 0x92:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( configIni.bBGM音を発声する )\r
- {\r
- dTX.tWavの再生停止( this.n最後に再生したBGMの実WAV番号[ pChip.nチャンネル番号 - 0x61 ] );\r
- dTX.tチップの再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, 10, dTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) );\r
- this.n最後に再生したBGMの実WAV番号[ pChip.nチャンネル番号 - 0x61 ] = pChip.n整数値・内部番号;\r
- }\r
- }\r
- break;\r
-\r
- case 0xa0: // ベース演奏\r
- case 0xa1:\r
- case 0xa2:\r
- case 0xa3:\r
- case 0xa4:\r
- case 0xa5:\r
- case 0xa6:\r
- case 0xa7:\r
- if( configIni.bGuitar有効 )\r
- {\r
- if( configIni.bSudden.Bass )\r
- {\r
- pChip.b可視 = pChip.nバーからの距離dot.Bass < 200;\r
- }\r
- if( configIni.bHidden.Bass && ( pChip.nバーからの距離dot.Bass < 100 ) )\r
- {\r
- pChip.b可視 = false;\r
- }\r
- if( !pChip.bHit && pChip.b可視 )\r
- {\r
- int num12 = configIni.bReverse.Bass ? ( 0x176 - pChip.nバーからの距離dot.Bass ) : ( 0x5f + pChip.nバーからの距離dot.Bass );\r
- if( ( num12 > 0x39 ) && ( num12 < 0x19c ) )\r
- {\r
- int num13 = this.ctチップ模様アニメ.Bass.n現在の値;\r
- if( pChip.nチャンネル番号 == 160 )\r
- {\r
- if( this.txチップ != null )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 400, num12 - 2, new Rectangle( 0x10c, 0x90 + ( ( num13 % 5 ) * 6 ), 0x4c, 6 ) );\r
- }\r
- }\r
- else if( !configIni.bLeft.Bass )\r
- {\r
- Rectangle rectangle3 = new Rectangle( 0x10c, num13 * 6, 0x18, 6 );\r
- if( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 400, num12 - 3, rectangle3 );\r
- }\r
- rectangle3.X += 0x18;\r
- if( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x1aa, num12 - 3, rectangle3 );\r
- }\r
- rectangle3.X += 0x18;\r
- if( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x1c4, num12 - 3, rectangle3 );\r
- }\r
- }\r
- else\r
- {\r
- Rectangle rectangle4 = new Rectangle( 0x10c, num13 * 6, 0x18, 6 );\r
- if( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x1c4, num12 - 3, rectangle4 );\r
- }\r
- rectangle4.X += 0x18;\r
- if( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x1aa, num12 - 3, rectangle4 );\r
- }\r
- rectangle4.X += 0x18;\r
- if( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 400, num12 - 3, rectangle4 );\r
- }\r
- }\r
- }\r
- }\r
- if( ( configIni.bAutoPlay.Bass && !pChip.bHit ) && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) || ( pChip.nチャンネル番号 == 160 ) )\r
- {\r
- this.actChipFireGB.Start( 3 );\r
- }\r
- if( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) || ( pChip.nチャンネル番号 == 160 ) )\r
- {\r
- this.actChipFireGB.Start( 4 );\r
- }\r
- if( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) || ( pChip.nチャンネル番号 == 160 ) )\r
- {\r
- this.actChipFireGB.Start( 5 );\r
- }\r
- this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.BASS, dTX.nモニタを考慮した音量( E楽器パート.BASS ) );\r
- this.r次にくるベースChip = null;\r
- this.tチップのヒット処理( pChip.n発声時刻ms, pChip );\r
- }\r
- break;\r
- }\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
- {\r
- this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.BASS, dTX.nモニタを考慮した音量( E楽器パート.BASS ) );\r
- pChip.bHit = true;\r
- }\r
- break;\r
-\r
- case 0xa8: // ウェイリング(ベース)\r
- if( configIni.bGuitar有効 )\r
- {\r
- if( configIni.bSudden.Bass )\r
- {\r
- pChip.b可視 = pChip.nバーからの距離dot.Bass < 200;\r
- }\r
- if( configIni.bHidden.Bass && ( pChip.nバーからの距離dot.Bass < 100 ) )\r
- {\r
- pChip.b可視 = false;\r
- }\r
- if( !pChip.bHit && pChip.b可視 )\r
- {\r
- int num19 = 0x19;\r
- int num20 = configIni.bReverse.Bass ? ( 0x176 - pChip.nバーからの距離dot.Bass ) : ( 0x5f + pChip.nバーからの距離dot.Bass );\r
- int num21 = num20 - 0x39;\r
- int num22 = 0;\r
- if( ( num21 < ( 0x163 + num19 ) ) && ( num21 > -num19 ) )\r
- {\r
- int num23 = this.ctWailingチップ模様アニメ.n現在の値;\r
- Rectangle rectangle6 = new Rectangle( 0x10c + ( num23 * 20 ), 0xae, 20, 50 );\r
- if( num21 < num19 )\r
- {\r
- rectangle6.Y += num19 - num21;\r
- rectangle6.Height -= num19 - num21;\r
- num22 = num19 - num21;\r
- }\r
- if( num21 > ( 0x163 - num19 ) )\r
- {\r
- rectangle6.Height -= num21 - ( 0x163 - num19 );\r
- }\r
- if( ( rectangle6.Bottom > rectangle6.Top ) && ( this.txチップ != null ) )\r
- {\r
- this.txチップ.t2D描画( CDTXMania.app.Device, 0x1df, ( num20 - num19 ) + num22, rectangle6 );\r
- }\r
- }\r
- }\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( configIni.bAutoPlay.Bass )\r
- {\r
- this.actWailingBonus.Start( E楽器パート.BASS, this.r現在の歓声Chip.Bass );\r
- }\r
- }\r
- break;\r
- }\r
- pChip.bHit = true;\r
- break;\r
-\r
- case 0xaf: // ウェイリングサウンド(ベース)\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.r現在の歓声Chip.Bass = pChip;\r
- }\r
- break;\r
-\r
- case 0xb1: // 空打ち音設定(ドラム)\r
- case 0xb2:\r
- case 0xb3:\r
- case 0xb4:\r
- case 0xb5:\r
- case 0xb6:\r
- case 0xb7:\r
- case 0xb8:\r
- case 0xb9:\r
- case 0xbc:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.r現在の空うちドラムChip[ (int) this.eチャンネルtoパッド[ pChip.nチャンネル番号 - 0xb1 ] ] = pChip;\r
- pChip.nチャンネル番号 = ( pChip.nチャンネル番号 != 0xbc ) ? ( ( pChip.nチャンネル番号 - 0xb1 ) + 0x11 ) : 0x1a;\r
- }\r
- break;\r
-\r
- case 0xba: // 空打ち音設定(ギター)\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.r現在の空うちギターChip = pChip;\r
- pChip.nチャンネル番号 = 0x20;\r
- }\r
- break;\r
-\r
- case 0xbb: // 空打ち音設定(ベース)\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- this.r現在の空うちベースChip = pChip;\r
- pChip.nチャンネル番号 = 160;\r
- }\r
- break;\r
-\r
- case 0xc4: // BGA画像入れ替え\r
- case 0xc7:\r
- case 0xd5:\r
- case 0xd6:\r
- case 0xd7:\r
- case 0xd8:\r
- case 0xd9:\r
- case 0xe0:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- if( ( configIni.bBGA有効 && ( pChip.eBGA種別 == EBGA種別.BMP ) ) || ( pChip.eBGA種別 == EBGA種別.BMPTEX ) )\r
- {\r
- for( int i = 0; i < 8; i++ )\r
- {\r
- if( this.nBGAスコープチャンネルマップ[ 0, i ] == pChip.nチャンネル番号 )\r
- {\r
- this.actBGA.ChangeScope( this.nBGAスコープチャンネルマップ[ 1, i ], pChip.rBMP, pChip.rBMPTEX );\r
- }\r
- }\r
- }\r
- }\r
- break;\r
-\r
- default:\r
- if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
- {\r
- pChip.bHit = true;\r
- }\r
- break;\r
- }\r
-\r
- nCurrentTopChip++;\r
- }\r
- return false;\r
- }\r
- //private void t進行描画・チップアニメ()\r
- //{\r
- // for ( int i = 0; i < 3; i++ )\r
- // {\r
- // this.ctチップ模様アニメ[ i ].t進行Loop();\r
- // }\r
- // this.ctWailingチップ模様アニメ.t進行Loop();\r
- //}\r
- private void t進行描画・チップファイアD()\r
- {\r
- this.actChipFireD.On進行描画();\r
- }\r
- //private void t進行描画・チップファイアGB()\r
- //{\r
- // this.actChipFireGB.On進行描画();\r
- //}\r
- private void t進行描画・ドラムパッド()\r
- {\r
- if( CDTXMania.ConfigIni.eDark != Eダークモード.FULL )\r
- {\r
- this.actPad.On進行描画();\r
- }\r
- }\r
- protected override void t進行描画・パネル文字列()\r
- {\r
- base.t進行描画・パネル文字列( 0x150, 0x1ab );\r
- }\r
- //private bool t進行描画・フェードイン・アウト()\r
- //{\r
- // switch( base.eフェーズID )\r
- // {\r
- // case CStage.Eフェーズ.共通_フェードイン:\r
- // if( this.actFI.On進行描画() != 0 )\r
- // {\r
- // base.eフェーズID = CStage.Eフェーズ.共通_通常状態;\r
- // }\r
- // break;\r
-\r
- // case CStage.Eフェーズ.共通_フェードアウト:\r
- // case CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト:\r
- // if( this.actFO.On進行描画() != 0 )\r
- // {\r
- // return true;\r
- // }\r
- // break;\r
+ // case CStage.Eフェーズ.共通_フェードアウト:\r
+ // case CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト:\r
+ // if( this.actFO.On進行描画() != 0 )\r
+ // {\r
+ // return true;\r
+ // }\r
+ // break;\r
\r
// case CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト:\r
// if( this.actFOClear.On進行描画() == 0 )\r
// fDamage = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015;\r
// break;\r
\r
-// case E判定.Great:\r
-// fDamage = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009;\r
-// break;\r
+// case E判定.Great:\r
+// fDamage = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009;\r
+// break;\r
+\r
+// case E判定.Good:\r
+// fDamage = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003;\r
+// break;\r
+\r
+// case E判定.Poor:\r
+// fDamage = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0;\r
+// break;\r
+\r
+// case E判定.Miss:\r
+// fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035;\r
+// switch( CDTXMania.ConfigIni.eダメージレベル )\r
+// {\r
+// case Eダメージレベル.少ない:\r
+// fDamage *= 0.6;\r
+// break;\r
+\r
+// case Eダメージレベル.普通:\r
+// fDamage *= 1.0;\r
+// break;\r
+\r
+// case Eダメージレベル.大きい:\r
+// fDamage *= 1.6;\r
+// break;\r
+// }\r
+// break;\r
+\r
+// default:\r
+// fDamage = 0.0;\r
+// break;\r
+// }\r
+//#endif\r
+// this.actGauge.db現在のゲージ値 += fDamage;\r
+\r
+// if( this.actGauge.db現在のゲージ値 > 1.0 )\r
+// this.actGauge.db現在のゲージ値 = 1.0;\r
+// }\r
+ //-----------------\r
+\r
+ protected override void t進行描画・チップ・ドラムス( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ {\r
+ if ( configIni.bDrums有効 )\r
+ {\r
+ if ( configIni.bSudden.Drums )\r
+ {\r
+ if ( pChip.nバーからの距離dot.Drums < 200 )\r
+ {\r
+ pChip.b可視 = true;\r
+ pChip.n透明度 = 0xff;\r
+ }\r
+ else if ( pChip.nバーからの距離dot.Drums < 250 )\r
+ {\r
+ pChip.b可視 = true;\r
+ pChip.n透明度 = 0xff - ( (int) ( ( ( (double) ( pChip.nバーからの距離dot.Drums - 200 ) ) * 255.0 ) / 50.0 ) );\r
+ }\r
+ else\r
+ {\r
+ pChip.b可視 = false;\r
+ pChip.n透明度 = 0;\r
+ }\r
+ }\r
+ if ( configIni.bHidden.Drums )\r
+ {\r
+ if ( pChip.nバーからの距離dot.Drums < 100 )\r
+ {\r
+ pChip.b可視 = false;\r
+ }\r
+ else if ( pChip.nバーからの距離dot.Drums < 150 )\r
+ {\r
+ pChip.b可視 = true;\r
+ pChip.n透明度 = (int) ( ( ( (double) ( pChip.nバーからの距離dot.Drums - 100 ) ) * 255.0 ) / 50.0 );\r
+ }\r
+ }\r
+ if ( !pChip.bHit && pChip.b可視 )\r
+ {\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.n透明度 = pChip.n透明度;\r
+ }\r
+ int x = this.nチャンネルtoX座標[ pChip.nチャンネル番号 - 0x11 ];\r
+ int num8 = configIni.bReverse.Drums ? ( 0x38 + pChip.nバーからの距離dot.Drums ) : ( 0x1a6 - pChip.nバーからの距離dot.Drums );\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.vc拡大縮小倍率 = new Vector3( (float) pChip.dbチップサイズ倍率, (float) pChip.dbチップサイズ倍率, 1f );\r
+ }\r
+ int num9 = this.ctチップ模様アニメ.Drums.n現在の値;\r
+ switch ( pChip.nチャンネル番号 )\r
+ {\r
+ case 0x11:\r
+ x = ( x + 0x10 ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0x2c, num9 * 7, 0x20, 8 ) );\r
+ }\r
+ break;\r
+\r
+ case 0x12:\r
+ x = ( x + 0x10 ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0x4c, num9 * 7, 0x20, 8 ) );\r
+ }\r
+ break;\r
+\r
+ case 0x13:\r
+ x = ( x + 0x16 ) - ( (int) ( ( 44.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 5, new Rectangle( 0, num9 * 9, 0x2c, 10 ) );\r
+ }\r
+ break;\r
+\r
+ case 0x14:\r
+ x = ( x + 0x10 ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0x6c, num9 * 7, 0x20, 8 ) );\r
+ }\r
+ break;\r
\r
-// case E判定.Good:\r
-// fDamage = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003;\r
-// break;\r
+ case 0x15:\r
+ x = ( x + 0x10 ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 140, num9 * 7, 0x20, 8 ) );\r
+ }\r
+ break;\r
\r
-// case E判定.Poor:\r
-// fDamage = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0;\r
-// break;\r
+ case 0x16:\r
+ x = ( x + 0x13 ) - ( (int) ( ( 38.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 0x15, new Rectangle( 0xcc, 0x158, 0x26, 0x24 ) );\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0xcc, num9 * 7, 0x26, 8 ) );\r
+ }\r
+ break;\r
\r
-// case E判定.Miss:\r
-// fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035;\r
-// switch( CDTXMania.ConfigIni.eダメージレベル )\r
-// {\r
-// case Eダメージレベル.少ない:\r
-// fDamage *= 0.6;\r
-// break;\r
+ case 0x17:\r
+ x = ( x + 0x10 ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0xac, num9 * 7, 0x20, 8 ) );\r
+ }\r
+ break;\r
\r
-// case Eダメージレベル.普通:\r
-// fDamage *= 1.0;\r
-// break;\r
+ case 0x18:\r
+ x = ( x + 13 ) - ( (int) ( ( 26.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0xf2, num9 * 7, 0x1a, 8 ) );\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 9, new Rectangle( 0xf2, 0x158, 0x1a, 0x12 ) );\r
+ }\r
+ break;\r
\r
-// case Eダメージレベル.大きい:\r
-// fDamage *= 1.6;\r
-// break;\r
-// }\r
-// break;\r
+ case 0x19:\r
+ x = ( x + 13 ) - ( (int) ( ( 26.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0xf2, num9 * 7, 0x1a, 8 ) );\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 9, new Rectangle( 0xf2, 0x158, 0x1a, 0x12 ) );\r
+ }\r
+ break;\r
\r
-// default:\r
-// fDamage = 0.0;\r
-// break;\r
-// }\r
-//#endif\r
-// this.actGauge.db現在のゲージ値 += fDamage;\r
+ case 0x1a:\r
+ x = ( x + 0x13 ) - ( (int) ( ( 38.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 0x15, new Rectangle( 0xcc, 0x158, 0x26, 0x24 ) );\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0xcc, num9 * 7, 0x26, 8 ) );\r
+ }\r
+ break;\r
+ }\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.vc拡大縮小倍率 = new Vector3( 1f, 1f, 1f );\r
+ this.txチップ.n透明度 = 0xff;\r
+ }\r
+ }\r
\r
-// if( this.actGauge.db現在のゲージ値 > 1.0 )\r
-// this.actGauge.db現在のゲージ値 = 1.0;\r
-// }\r
- //-----------------\r
+ int indexSevenLanes = this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ];\r
+ if ( ( configIni.bAutoPlay[ indexSevenLanes ] && !pChip.bHit ) && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ this.actLaneFlushD.Start( (Eドラムレーン) indexSevenLanes, ( (float) CInput管理.n通常音量 ) / 127f );\r
+ bool flag = this.bフィルイン中;\r
+ bool flag2 = this.bフィルイン中 && this.bフィルイン区間の最後のChipである( pChip );\r
+ bool flag3 = flag2;\r
+ this.actChipFireD.Start( (Eドラムレーン) indexSevenLanes, flag, flag2, flag3 );\r
+ this.actPad.Hit( this.nチャンネル0Atoパッド08[ pChip.nチャンネル番号 - 0x11 ] );\r
+ this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.DRUMS, dTX.nモニタを考慮した音量( E楽器パート.DRUMS ) );\r
+ this.tチップのヒット処理( pChip.n発声時刻ms, pChip );\r
+ }\r
+ //break;\r
+ return;\r
+ } // end of "if configIni.bDrums有効"\r
+ if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+ {\r
+ this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.DRUMS, dTX.nモニタを考慮した音量( E楽器パート.DRUMS ) );\r
+ pChip.bHit = true;\r
+ }\r
+ }\r
+ protected override void t進行描画・チップ・ギター( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ {\r
+ if ( configIni.bGuitar有効 )\r
+ {\r
+ if ( configIni.bSudden.Guitar )\r
+ {\r
+ pChip.b可視 = pChip.nバーからの距離dot.Guitar < 200;\r
+ }\r
+ if ( configIni.bHidden.Guitar && ( pChip.nバーからの距離dot.Guitar < 100 ) )\r
+ {\r
+ pChip.b可視 = false;\r
+ }\r
+ if ( !pChip.bHit && pChip.b可視 )\r
+ {\r
+ int nバーからの距離 = configIni.bReverse.Guitar ? ( 0x176 - pChip.nバーからの距離dot.Guitar ) : ( 0x5f + pChip.nバーからの距離dot.Guitar );\r
+ if ( ( nバーからの距離 > 0x39 ) && ( nバーからの距離 < 0x19c ) )\r
+ {\r
+ int nアニメカウンタ現在の値 = this.ctチップ模様アニメ.Guitar.n現在の値;\r
+ if ( pChip.nチャンネル番号 == 0x20 )\r
+ {\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x1fd, nバーからの距離 - 2, new Rectangle( 0x10c, 0x90 + ( ( nアニメカウンタ現在の値 % 5 ) * 6 ), 0x4c, 6 ) );\r
+ }\r
+ }\r
+ else if ( !configIni.bLeft.Guitar )\r
+ {\r
+ Rectangle rectangle = new Rectangle( 0x10c, nアニメカウンタ現在の値 * 6, 0x18, 6 );\r
+ if ( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x1fd, nバーからの距離 - 3, rectangle );\r
+ }\r
+ rectangle.X += 0x18;\r
+ if ( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x217, nバーからの距離 - 3, rectangle );\r
+ }\r
+ rectangle.X += 0x18;\r
+ if ( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x231, nバーからの距離 - 3, rectangle );\r
+ }\r
+ }\r
+ else\r
+ {\r
+ Rectangle rectangle2 = new Rectangle( 0x10c, nアニメカウンタ現在の値 * 6, 0x18, 6 );\r
+ if ( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x231, nバーからの距離 - 3, rectangle2 );\r
+ }\r
+ rectangle2.X += 0x18;\r
+ if ( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x217, nバーからの距離 - 3, rectangle2 );\r
+ }\r
+ rectangle2.X += 0x18;\r
+ if ( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x1fd, nバーからの距離 - 3, rectangle2 );\r
+ }\r
+ }\r
+ }\r
+ }\r
+ if ( ( configIni.bAutoPlay.Guitar && !pChip.bHit ) && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ if ( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) || ( pChip.nチャンネル番号 == 0x20 ) )\r
+ {\r
+ this.actChipFireGB.Start( 0 );\r
+ }\r
+ if ( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) || ( pChip.nチャンネル番号 == 0x20 ) )\r
+ {\r
+ this.actChipFireGB.Start( 1 );\r
+ }\r
+ if ( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) || ( pChip.nチャンネル番号 == 0x20 ) )\r
+ {\r
+ this.actChipFireGB.Start( 2 );\r
+ }\r
+ this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.GUITAR, dTX.nモニタを考慮した音量( E楽器パート.GUITAR ) );\r
+ this.r次にくるギターChip = null;\r
+ this.tチップのヒット処理( pChip.n発声時刻ms, pChip );\r
+ }\r
+ //break;\r
+ return;\r
+ } // end of "if configIni.bDrums有効"\r
+ if ( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.GUITAR, dTX.nモニタを考慮した音量( E楽器パート.GUITAR ) );\r
+ }\r
+ }\r
+ protected override void t進行描画・チップ・ギター・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ {\r
+ if ( configIni.bGuitar有効 )\r
+ {\r
+ if ( configIni.bSudden.Guitar )\r
+ {\r
+ pChip.b可視 = pChip.nバーからの距離dot.Guitar < 200;\r
+ }\r
+ if ( configIni.bHidden.Guitar && ( pChip.nバーからの距離dot.Guitar < 100 ) )\r
+ {\r
+ pChip.b可視 = false;\r
+ }\r
+ if ( !pChip.bHit && pChip.b可視 )\r
+ {\r
+ int num14 = 0x19;\r
+ int num15 = configIni.bReverse.Guitar ? ( 0x176 - pChip.nバーからの距離dot.Guitar ) : ( 0x5f + pChip.nバーからの距離dot.Guitar );\r
+ int num16 = num15 - 0x39;\r
+ int num17 = 0;\r
+ if ( ( num16 < ( 0x163 + num14 ) ) && ( num16 > -num14 ) )\r
+ {\r
+ int num18 = this.ctWailingチップ模様アニメ.n現在の値;\r
+ Rectangle rectangle5 = new Rectangle( 0x10c + ( num18 * 20 ), 0xae, 20, 50 );\r
+ if ( num16 < num14 )\r
+ {\r
+ rectangle5.Y += num14 - num16;\r
+ rectangle5.Height -= num14 - num16;\r
+ num17 = num14 - num16;\r
+ }\r
+ if ( num16 > ( 0x163 - num14 ) )\r
+ {\r
+ rectangle5.Height -= num16 - ( 0x163 - num14 );\r
+ }\r
+ if ( ( rectangle5.Bottom > rectangle5.Top ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x24c, ( num15 - num14 ) + num17, rectangle5 );\r
+ }\r
+ }\r
+ }\r
+ if ( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ if ( configIni.bAutoPlay.Guitar )\r
+ {\r
+ this.actWailingBonus.Start( E楽器パート.GUITAR, this.r現在の歓声Chip.Guitar );\r
+ }\r
+ }\r
+ return;\r
+ }\r
+ pChip.bHit = true;\r
+ }\r
+ protected override void t進行描画・チップ・フィルイン( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ {\r
+ if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ switch ( pChip.n整数値 )\r
+ {\r
+ case 0x01: // フィルイン開始\r
+ if ( configIni.bフィルイン有効 )\r
+ {\r
+ this.bフィルイン中 = true;\r
+ }\r
+ break;\r
+\r
+ case 0x02: // フィルイン終了\r
+ if ( configIni.bフィルイン有効 )\r
+ {\r
+ this.bフィルイン中 = false;\r
+ }\r
+ if ( ( ( this.actCombo.n現在のコンボ数.Drums > 0 ) || configIni.bドラムが全部オートプレイである ) && configIni.b歓声を発声する )\r
+ {\r
+ if ( this.r現在の歓声Chip.Drums != null )\r
+ {\r
+ dTX.tチップの再生( this.r現在の歓声Chip.Drums, CDTXMania.Timer.nシステム時刻, 10, dTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) );\r
+ }\r
+ else\r
+ {\r
+ CDTXMania.Skin.sound歓声音.n位置・次に鳴るサウンド = 0;\r
+ CDTXMania.Skin.sound歓声音.t再生する();\r
+ }\r
+ }\r
+ break;\r
+#if TEST_NOTEOFFMODE // 2011.1.1 yyagi TEST\r
+ case 0x04: // HH消音あり(従来同等)\r
+ CDTXMania.DTX.bHH演奏で直前のHHを消音する = true;\r
+ break;\r
+ case 0x05: // HH消音無し\r
+ CDTXMania.DTX.bHH演奏で直前のHHを消音する = false;\r
+ break;\r
+ case 0x06: // ギター消音あり(従来同等)\r
+ CDTXMania.DTX.bGUITAR演奏で直前のGUITARを消音する = true;\r
+ break;\r
+ case 0x07: // ギター消音無し\r
+ CDTXMania.DTX.bGUITAR演奏で直前のGUITARを消音する = false;\r
+ break;\r
+ case 0x08: // ベース消音あり(従来同等)\r
+ CDTXMania.DTX.bBASS演奏で直前のBASSを消音する = true;\r
+ break;\r
+ case 0x09: // ベース消音無し\r
+ CDTXMania.DTX.bBASS演奏で直前のBASSを消音する = false;\r
+ break;\r
+#endif\r
+ }\r
+ }\r
+ }\r
+ protected override void t進行描画・チップ・ベース( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ {\r
+ if ( configIni.bGuitar有効 )\r
+ {\r
+ if ( configIni.bSudden.Bass )\r
+ {\r
+ pChip.b可視 = pChip.nバーからの距離dot.Bass < 200;\r
+ }\r
+ if ( configIni.bHidden.Bass && ( pChip.nバーからの距離dot.Bass < 100 ) )\r
+ {\r
+ pChip.b可視 = false;\r
+ }\r
+ if ( !pChip.bHit && pChip.b可視 )\r
+ {\r
+ int num12 = configIni.bReverse.Bass ? ( 0x176 - pChip.nバーからの距離dot.Bass ) : ( 0x5f + pChip.nバーからの距離dot.Bass );\r
+ if ( ( num12 > 0x39 ) && ( num12 < 0x19c ) )\r
+ {\r
+ int num13 = this.ctチップ模様アニメ.Bass.n現在の値;\r
+ if ( pChip.nチャンネル番号 == 160 )\r
+ {\r
+ if ( this.txチップ != null )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 400, num12 - 2, new Rectangle( 0x10c, 0x90 + ( ( num13 % 5 ) * 6 ), 0x4c, 6 ) );\r
+ }\r
+ }\r
+ else if ( !configIni.bLeft.Bass )\r
+ {\r
+ Rectangle rectangle3 = new Rectangle( 0x10c, num13 * 6, 0x18, 6 );\r
+ if ( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 400, num12 - 3, rectangle3 );\r
+ }\r
+ rectangle3.X += 0x18;\r
+ if ( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x1aa, num12 - 3, rectangle3 );\r
+ }\r
+ rectangle3.X += 0x18;\r
+ if ( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x1c4, num12 - 3, rectangle3 );\r
+ }\r
+ }\r
+ else\r
+ {\r
+ Rectangle rectangle4 = new Rectangle( 0x10c, num13 * 6, 0x18, 6 );\r
+ if ( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x1c4, num12 - 3, rectangle4 );\r
+ }\r
+ rectangle4.X += 0x18;\r
+ if ( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x1aa, num12 - 3, rectangle4 );\r
+ }\r
+ rectangle4.X += 0x18;\r
+ if ( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 400, num12 - 3, rectangle4 );\r
+ }\r
+ }\r
+ }\r
+ }\r
+ if ( ( configIni.bAutoPlay.Bass && !pChip.bHit ) && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ if ( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) || ( pChip.nチャンネル番号 == 160 ) )\r
+ {\r
+ this.actChipFireGB.Start( 3 );\r
+ }\r
+ if ( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) || ( pChip.nチャンネル番号 == 160 ) )\r
+ {\r
+ this.actChipFireGB.Start( 4 );\r
+ }\r
+ if ( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) || ( pChip.nチャンネル番号 == 160 ) )\r
+ {\r
+ this.actChipFireGB.Start( 5 );\r
+ }\r
+ this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.BASS, dTX.nモニタを考慮した音量( E楽器パート.BASS ) );\r
+ this.r次にくるベースChip = null;\r
+ this.tチップのヒット処理( pChip.n発声時刻ms, pChip );\r
+ }\r
+ return;\r
+ }\r
+ if ( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
+ {\r
+ this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.BASS, dTX.nモニタを考慮した音量( E楽器パート.BASS ) );\r
+ pChip.bHit = true;\r
+ }\r
+ }\r
+ protected override void t進行描画・チップ・ベース・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ {\r
+ if ( configIni.bGuitar有効 )\r
+ {\r
+ if ( configIni.bSudden.Bass )\r
+ {\r
+ pChip.b可視 = pChip.nバーからの距離dot.Bass < 200;\r
+ }\r
+ if ( configIni.bHidden.Bass && ( pChip.nバーからの距離dot.Bass < 100 ) )\r
+ {\r
+ pChip.b可視 = false;\r
+ }\r
+ if ( !pChip.bHit && pChip.b可視 )\r
+ {\r
+ int num19 = 0x19;\r
+ int num20 = configIni.bReverse.Bass ? ( 0x176 - pChip.nバーからの距離dot.Bass ) : ( 0x5f + pChip.nバーからの距離dot.Bass );\r
+ int num21 = num20 - 0x39;\r
+ int num22 = 0;\r
+ if ( ( num21 < ( 0x163 + num19 ) ) && ( num21 > -num19 ) )\r
+ {\r
+ int num23 = this.ctWailingチップ模様アニメ.n現在の値;\r
+ Rectangle rectangle6 = new Rectangle( 0x10c + ( num23 * 20 ), 0xae, 20, 50 );\r
+ if ( num21 < num19 )\r
+ {\r
+ rectangle6.Y += num19 - num21;\r
+ rectangle6.Height -= num19 - num21;\r
+ num22 = num19 - num21;\r
+ }\r
+ if ( num21 > ( 0x163 - num19 ) )\r
+ {\r
+ rectangle6.Height -= num21 - ( 0x163 - num19 );\r
+ }\r
+ if ( ( rectangle6.Bottom > rectangle6.Top ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x1df, ( num20 - num19 ) + num22, rectangle6 );\r
+ }\r
+ }\r
+ }\r
+ if ( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ if ( configIni.bAutoPlay.Bass )\r
+ {\r
+ this.actWailingBonus.Start( E楽器パート.BASS, this.r現在の歓声Chip.Bass );\r
+ }\r
+ }\r
+ return;\r
+ }\r
+ pChip.bHit = true;\r
+ }\r
+ protected override void t進行描画・チップ・空打ち音設定・ドラム( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ {\r
+ if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ this.r現在の空うちドラムChip[ (int) this.eチャンネルtoパッド[ pChip.nチャンネル番号 - 0xb1 ] ] = pChip;\r
+ pChip.nチャンネル番号 = ( pChip.nチャンネル番号 != 0xbc ) ? ( ( pChip.nチャンネル番号 - 0xb1 ) + 0x11 ) : 0x1a;\r
+ }\r
+ }\r
+ protected override void t進行描画・チップ・小節線( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+ {\r
+ int n小節番号plus1 = pChip.n発声位置 / 384;\r
+ if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
+ {\r
+ pChip.bHit = true;\r
+ this.actPlayInfo.n小節番号 = n小節番号plus1 - 1;\r
+ if ( configIni.bWave再生位置自動調整機能有効 )\r
+ {\r
+ dTX.tWave再生位置自動補正();\r
+ }\r
+ }\r
+ if ( configIni.bDrums有効 )\r
+ {\r
+ if ( configIni.b演奏情報を表示する && ( configIni.eDark == Eダークモード.OFF ) )\r
+ {\r
+ int n小節番号 = n小節番号plus1 - 1;\r
+ CDTXMania.act文字コンソール.tPrint( 0x14d, configIni.bReverse.Drums ? ( ( 0x38 + pChip.nバーからの距離dot.Drums ) - 0x11 ) : ( ( 0x1a6 - pChip.nバーからの距離dot.Drums ) - 0x11 ), C文字コンソール.Eフォント種別.白, n小節番号.ToString() );\r
+ }\r
+ if ( ( ( configIni.eDark != Eダークモード.FULL ) && pChip.b可視 ) && ( this.txチップ != null ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x23, configIni.bReverse.Drums ? ( ( 0x38 + pChip.nバーからの距離dot.Drums ) - 1 ) : ( ( 0x1a6 - pChip.nバーからの距離dot.Drums ) - 1 ), new Rectangle( 0, 0x1bc, 0x128, 2 ) );\r
+ }\r
+ }\r
+ if ( ( pChip.b可視 && configIni.bGuitar有効 ) && ( configIni.eDark != Eダークモード.FULL ) )\r
+ {\r
+ int y = configIni.bReverse.Guitar ? ( ( 0x176 - pChip.nバーからの距離dot.Guitar ) - 1 ) : ( ( 0x5f + pChip.nバーからの距離dot.Guitar ) - 1 );\r
+ if ( ( dTX.bチップがある.Guitar && ( y > 0x39 ) ) && ( ( y < 0x19c ) && ( this.txチップ != null ) ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x1fb, y, new Rectangle( 0, 450, 0x4e, 1 ) );\r
+ }\r
+ y = configIni.bReverse.Bass ? ( ( 0x176 - pChip.nバーからの距離dot.Bass ) - 1 ) : ( ( 0x5f + pChip.nバーからの距離dot.Bass ) - 1 );\r
+ if ( ( dTX.bチップがある.Bass && ( y > 0x39 ) ) && ( ( y < 0x19c ) && ( this.txチップ != null ) ) )\r
+ {\r
+ this.txチップ.t2D描画( CDTXMania.app.Device, 0x18e, y, new Rectangle( 0, 450, 0x4e, 1 ) );\r
+ }\r
+ }\r
+ }\r
#endregion\r
}\r
}\r