OSDN Git Service

ギターのピック時のフラッシュが輝き切るまでの時間を短縮。
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sun, 20 Feb 2011 13:44:00 +0000 (13:44 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sun, 20 Feb 2011 13:44:00 +0000 (13:44 +0000)
続4・演奏画面のリファクタ。ドラムとギター画面で共通で使用しているメソッドを1つにまとめる作業。まだ完全には作業完了していない。少しずつ慎重に進めます。

git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@122 16f42ceb-6dc6-49c8-ba94-f2d53467949d

DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ステータスパネル共通.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏チップファイアGB.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarチップファイア.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsDanger.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsチップファイアGB.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs

index 66ef770..5ee0ae1 100644 (file)
@@ -98,7 +98,7 @@ namespace DTXMania
                        {\r
                                foreach ( STATUSPANEL statuspanel in this.stパネルマップ )\r
                                {\r
-                                       if ( strラベル名.Equals( statuspanel.label, StringComparison.CurrentCultureIgnoreCase ) )   // 2011.2.17 yyagi ignore case\r
+                                       if ( strラベル名.Equals( statuspanel.label, StringComparison.CurrentCultureIgnoreCase ) )   // #24482 2011.2.17 yyagi ignore case\r
                                        {\r
                                                this.nStatus = statuspanel.status;\r
                                                return;\r
index e6d2144..ef51014 100644 (file)
@@ -7,7 +7,7 @@ using FDK;
 \r
 namespace DTXMania\r
 {\r
-       internal class CAct演奏チップファイアGB : CActivity\r
+       internal abstract class CAct演奏チップファイアGB : CActivity\r
        {\r
                // コンストラクタ\r
 \r
@@ -25,10 +25,11 @@ namespace DTXMania
                        {\r
                                this.pt中央位置[ nLane ].X = n中央X;\r
                                this.pt中央位置[ nLane ].Y = n中央Y;\r
-                               this.ct進行[ nLane ].t開始( 0, 0x38, 4, CDTXMania.Timer );\r
+                               this.ct進行[ nLane ].t開始( 24, 0x38, 8, CDTXMania.Timer );         // 2011.2.17 yyagi: (0, 0x38, 4,..) -> (24, 0x38, 8) に変更 ギターチップの光り始めを早くするため\r
                        }\r
                }\r
 \r
+               public abstract void Start( int nLane );\r
 \r
                // CActivity 実装\r
 \r
index e078762..ecb4106 100644 (file)
@@ -32,6 +32,7 @@ namespace DTXMania
                {\r
                        this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.継続;\r
                        this.n現在のトップChip = ( CDTXMania.DTX.listChip.Count > 0 ) ? 0 : -1;\r
+                       this.L最後に再生したHHの実WAV番号 = new List<int>( 16 );\r
                        this.n最後に再生したHHのチャンネル番号 = 0;\r
                        this.n最後に再生したギターの実WAV番号 = -1;\r
                        this.n最後に再生したベースの実WAV番号 = -1;\r
@@ -84,10 +85,16 @@ namespace DTXMania
                }\r
                public override void On非活性化()\r
                {\r
+                       this.L最後に再生したHHの実WAV番号.Clear();   // #23921 2011.1.4 yyagi\r
+                       this.L最後に再生したHHの実WAV番号 = null;    //\r
                        for ( int i = 0; i < 3; i++ )\r
                        {\r
                                this.queWailing[ i ] = null;\r
                        }\r
+                       this.ctWailingチップ模様アニメ = null;\r
+                       this.ctチップ模様アニメ.Drums = null;\r
+                       this.ctチップ模様アニメ.Guitar = null;\r
+                       this.ctチップ模様アニメ.Bass = null;\r
                        base.On非活性化();\r
                }\r
                public override void OnManagedリソースの作成()\r
@@ -107,7 +114,6 @@ namespace DTXMania
                        {\r
                                CDTXMania.tテクスチャの解放( ref this.tx背景 );\r
 \r
-                               CDTXMania.tテクスチャの解放( ref this.txヒットバー );\r
                                CDTXMania.tテクスチャの解放( ref this.txWailing枠 );\r
                                base.OnManagedリソースの解放();\r
                        }\r
@@ -282,17 +288,20 @@ namespace DTXMania
                protected CAct演奏AVI actAVI;\r
                protected CAct演奏BGA actBGA;\r
 \r
+               protected CAct演奏チップファイアGB actChipFireGB;\r
                protected CAct演奏Combo共通 actCombo;\r
+               protected CAct演奏Danger共通 actDANGER;\r
                protected CActFIFOBlack actFI;\r
                protected CActFIFOBlack actFO;\r
                protected CActFIFOWhite actFOClear;\r
                protected CAct演奏ゲージ共通 actGauge;\r
 \r
                protected CAct演奏判定文字列共通 actJudgeString;\r
-\r
+               protected CAct演奏DrumsレーンフラッシュD actLaneFlushD;\r
+               protected CAct演奏レーンフラッシュGB共通 actLaneFlushGB;\r
                protected CAct演奏パネル文字列 actPanel;\r
                protected CAct演奏演奏情報 actPlayInfo;\r
-\r
+               protected CAct演奏RGB共通 actRGB;\r
                protected CAct演奏スコア共通 actScore;\r
                protected CAct演奏ステージ失敗 actStageFailed;\r
                protected CAct演奏ステータスパネル共通 actStatusPanels;\r
@@ -318,7 +327,7 @@ namespace DTXMania
                protected int n現在のトップChip = -1;\r
                protected int[] n最後に再生したBGMの実WAV番号 = new int[ 50 ];\r
                protected int n最後に再生したHHのチャンネル番号;\r
-\r
+               protected List<int> L最後に再生したHHの実WAV番号;            // #23921 2011.1.4 yyagi: change "int" to "List<int>", for recording multiple wav No.\r
                protected int n最後に再生したギターの実WAV番号;\r
                protected int n最後に再生したベースの実WAV番号;\r
        \r
@@ -330,7 +339,7 @@ namespace DTXMania
                protected CDTX.CChip r次にくるギターChip;\r
                protected CDTX.CChip r次にくるベースChip;\r
                protected CTexture txWailing枠;\r
-\r
+               protected CTexture txチップ;\r
                protected CTexture txヒットバー;\r
 \r
                protected CTexture tx背景;\r
@@ -367,9 +376,127 @@ namespace DTXMania
                        }\r
                        return E判定.Miss;\r
                }\r
+               protected CDTX.CChip r空うちChip( E楽器パート part, Eパッド pad )\r
+               {\r
+                       switch ( part )\r
+                       {\r
+                               case E楽器パート.DRUMS:\r
+                                       switch ( pad )\r
+                                       {\r
+                                               case Eパッド.HH:\r
+                                                       if ( this.r現在の空うちドラムChip.HH != null )\r
+                                                       {\r
+                                                               return this.r現在の空うちドラムChip.HH;\r
+                                                       }\r
+                                                       if ( CDTXMania.ConfigIni.eHHGroup != EHHGroup.ハイハットのみ打ち分ける )\r
+                                                       {\r
+                                                               if ( CDTXMania.ConfigIni.eHHGroup == EHHGroup.左シンバルのみ打ち分ける )\r
+                                                               {\r
+                                                                       return this.r現在の空うちドラムChip.HHO;\r
+                                                               }\r
+                                                               if ( this.r現在の空うちドラムChip.HHO != null )\r
+                                                               {\r
+                                                                       return this.r現在の空うちドラムChip.HHO;\r
+                                                               }\r
+                                                       }\r
+                                                       return this.r現在の空うちドラムChip.LC;\r
+\r
+                                               case Eパッド.SD:\r
+                                                       return this.r現在の空うちドラムChip.SD;\r
+\r
+                                               case Eパッド.BD:\r
+                                                       return this.r現在の空うちドラムChip.BD;\r
+\r
+                                               case Eパッド.HT:\r
+                                                       return this.r現在の空うちドラムChip.HT;\r
+\r
+                                               case Eパッド.LT:\r
+                                                       if ( this.r現在の空うちドラムChip.LT != null )\r
+                                                       {\r
+                                                               return this.r現在の空うちドラムChip.LT;\r
+                                                       }\r
+                                                       if ( CDTXMania.ConfigIni.eFTGroup == EFTGroup.共通 )\r
+                                                       {\r
+                                                               return this.r現在の空うちドラムChip.FT;\r
+                                                       }\r
+                                                       return null;\r
+\r
+                                               case Eパッド.FT:\r
+                                                       if ( this.r現在の空うちドラムChip.FT != null )\r
+                                                       {\r
+                                                               return this.r現在の空うちドラムChip.FT;\r
+                                                       }\r
+                                                       if ( CDTXMania.ConfigIni.eFTGroup == EFTGroup.共通 )\r
+                                                       {\r
+                                                               return this.r現在の空うちドラムChip.LT;\r
+                                                       }\r
+                                                       return null;\r
+\r
+                                               case Eパッド.CY:\r
+                                                       if ( this.r現在の空うちドラムChip.CY != null )\r
+                                                       {\r
+                                                               return this.r現在の空うちドラムChip.CY;\r
+                                                       }\r
+                                                       if ( CDTXMania.ConfigIni.eCYGroup == ECYGroup.共通 )\r
+                                                       {\r
+                                                               return this.r現在の空うちドラムChip.RD;\r
+                                                       }\r
+                                                       return null;\r
+\r
+                                               case Eパッド.HHO:\r
+                                                       if ( this.r現在の空うちドラムChip.HHO != null )\r
+                                                       {\r
+                                                               return this.r現在の空うちドラムChip.HHO;\r
+                                                       }\r
+                                                       if ( CDTXMania.ConfigIni.eHHGroup != EHHGroup.ハイハットのみ打ち分ける )\r
+                                                       {\r
+                                                               if ( CDTXMania.ConfigIni.eHHGroup == EHHGroup.左シンバルのみ打ち分ける )\r
+                                                               {\r
+                                                                       return this.r現在の空うちドラムChip.HH;\r
+                                                               }\r
+                                                               if ( this.r現在の空うちドラムChip.HH != null )\r
+                                                               {\r
+                                                                       return this.r現在の空うちドラムChip.HH;\r
+                                                               }\r
+                                                       }\r
+                                                       return this.r現在の空うちドラムChip.LC;\r
+\r
+                                               case Eパッド.RD:\r
+                                                       if ( this.r現在の空うちドラムChip.RD != null )\r
+                                                       {\r
+                                                               return this.r現在の空うちドラムChip.RD;\r
+                                                       }\r
+                                                       if ( CDTXMania.ConfigIni.eCYGroup == ECYGroup.共通 )\r
+                                                       {\r
+                                                               return this.r現在の空うちドラムChip.CY;\r
+                                                       }\r
+                                                       return null;\r
+\r
+                                               case Eパッド.LC:\r
+                                                       if ( this.r現在の空うちドラムChip.LC != null )\r
+                                                       {\r
+                                                               return this.r現在の空うちドラムChip.LC;\r
+                                                       }\r
+                                                       if ( ( CDTXMania.ConfigIni.eHHGroup != EHHGroup.ハイハットのみ打ち分ける ) && ( CDTXMania.ConfigIni.eHHGroup != EHHGroup.全部共通 ) )\r
+                                                       {\r
+                                                               return null;\r
+                                                       }\r
+                                                       if ( this.r現在の空うちドラムChip.HH != null )\r
+                                                       {\r
+                                                               return this.r現在の空うちドラムChip.HH;\r
+                                                       }\r
+                                                       return this.r現在の空うちドラムChip.HHO;\r
+                                       }\r
+                                       break;\r
 \r
+                               case E楽器パート.GUITAR:\r
+                                       return this.r現在の空うちギターChip;\r
 \r
-\r
+                               case E楽器パート.BASS:\r
+                                       return this.r現在の空うちベースChip;\r
+                       }\r
+                       return null;\r
+               }\r
                protected CDTX.CChip r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( long nTime, int nChannelFlag, int nInputAdjustTime )\r
                {\r
                        nTime += nInputAdjustTime;                                              // #24239 2011.1.23 yyagi InputAdjust\r
@@ -461,7 +588,109 @@ namespace DTXMania
                        }\r
                        return chip3;\r
                }\r
+               protected void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part )\r
+               {\r
+                       this.tサウンド再生( rChip, n再生開始システム時刻ms, part, CDTXMania.ConfigIni.n手動再生音量, false, false );\r
+               }\r
+               protected void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part, int n音量 )\r
+               {\r
+                       this.tサウンド再生( rChip, n再生開始システム時刻ms, part, n音量, false, false );\r
+               }\r
+               protected void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part, int n音量, bool bモニタ )\r
+               {\r
+                       this.tサウンド再生( rChip, n再生開始システム時刻ms, part, n音量, bモニタ, false );\r
+               }\r
+               protected void tサウンド再生( CDTX.CChip pChip, long n再生開始システム時刻ms, E楽器パート part, int n音量, bool bモニタ, bool b音程をずらして再生 )\r
+               {\r
+                       if ( pChip != null )\r
+                       {\r
+                               switch ( part )\r
+                               {\r
+                                       case E楽器パート.DRUMS:\r
+                                               {\r
+                                                       int index = pChip.nチャンネル番号;\r
+                                                       if ( ( index >= 0x11 ) && ( index <= 0x1a ) )\r
+                                                       {\r
+                                                               index -= 0x11;\r
+                                                       }\r
+                                                       else\r
+                                                       {\r
+                                                               if ( ( index < 0x31 ) || ( index > 0x3a ) )\r
+                                                               {\r
+                                                                       return;\r
+                                                               }\r
+                                                               index -= 0x31;\r
+                                                       }\r
+                                                       int nLane = this.nチャンネル0Atoレーン07[ index ];\r
+                                                       if ( ( nLane == 1 ) &&  // 今回演奏するのがHC or HO\r
+                                                               ( index == 0 || ( index == 7 && this.n最後に再生したHHのチャンネル番号 != 0x18 && this.n最後に再生したHHのチャンネル番号 != 0x38 ) )\r
+                                                               // HCを演奏するか、またはHO演奏&以前HO演奏でない&以前不可視HO演奏でない\r
+                                                       )\r
+                                                       {\r
+                                                               // #23921 2011.1.4 yyagi: 2種類以上のオープンハイハットが発音済みだと、最後のHHOしか消せない問題に対応。\r
+#if TEST_NOTEOFFMODE   // 2011.1.1 yyagi test\r
+                                                               if (CDTXMania.DTX.bHH演奏で直前のHHを消音する)\r
+                                                               {\r
+#endif\r
+                                                               for ( int i = 0; i < this.L最後に再生したHHの実WAV番号.Count; i++ )          // #23921 2011.1.4 yyagi\r
+                                                               {\r
+                                                                       // CDTXMania.DTX.tWavの再生停止(this.L最後に再生したHHの実WAV番号);\r
+                                                                       CDTXMania.DTX.tWavの再生停止( this.L最後に再生したHHの実WAV番号[ i ] ); // #23921 yyagi ストック分全て消音する\r
+                                                               }\r
+                                                               this.L最後に再生したHHの実WAV番号.Clear();\r
+#if TEST_NOTEOFFMODE   // 2011.1.1 yyagi test\r
+                                                               }\r
+#endif\r
+                                                               //this.n最後に再生したHHの実WAV番号 = pChip.n整数値・内部番号;\r
+                                                               this.n最後に再生したHHのチャンネル番号 = pChip.nチャンネル番号;\r
+                                                       }\r
+#if TEST_NOTEOFFMODE   // 2011.1.4 yyagi test\r
+                                                       if (CDTXMania.DTX.bHH演奏で直前のHHを消音する)\r
+                                                       {\r
+#endif\r
+                                                       if ( index == 7 || index == 0x27 )                                              // #23921 HOまたは不可視HO演奏時はそのチップ番号をストックしておく\r
+                                                       {\r
+                                                               if ( this.L最後に再生したHHの実WAV番号.Count >= 16 ) // #23921 ただしストック数が16以上になるようなら、頭の1個を削って常に16未満に抑える\r
+                                                               {                                                                                                       // (ストックが増えてList<>のrealloc()が発生するのを予防する)\r
+                                                                       this.L最後に再生したHHの実WAV番号.RemoveAt( 0 );\r
+                                                               }\r
+                                                               if ( this.L最後に再生したHHの実WAV番号.IndexOf( pChip.n整数値・内部番号 ) < 0 )      // チップ音がまだストックされてなければ\r
+                                                               {\r
+                                                                       this.L最後に再生したHHの実WAV番号.Add( pChip.n整数値・内部番号 );                    // ストックする\r
+                                                               }\r
+                                                       }\r
+#if TEST_NOTEOFFMODE   // 2011.1.4 yyagi test\r
+                                                       }\r
+#endif\r
+                                                       CDTXMania.DTX.tチップの再生( pChip, n再生開始システム時刻ms, nLane, n音量, bモニタ );\r
+                                                       return;\r
+                                               }\r
+                                       case E楽器パート.GUITAR:\r
+#if TEST_NOTEOFFMODE   // 2011.1.1 yyagi test\r
+                                               if (CDTXMania.DTX.bGUITAR演奏で直前のGUITARを消音する) {\r
+#endif\r
+                                               CDTXMania.DTX.tWavの再生停止( this.n最後に再生したギターの実WAV番号 );\r
+#if TEST_NOTEOFFMODE\r
+                                               }\r
+#endif\r
+                                               CDTXMania.DTX.tチップの再生( pChip, n再生開始システム時刻ms, 8, n音量, bモニタ, b音程をずらして再生 );\r
+                                               this.n最後に再生したギターの実WAV番号 = pChip.n整数値・内部番号;\r
+                                               return;\r
 \r
+                                       case E楽器パート.BASS:\r
+#if TEST_NOTEOFFMODE\r
+                                               if (CDTXMania.DTX.bBASS演奏で直前のBASSを消音する) {\r
+#endif\r
+                                               CDTXMania.DTX.tWavの再生停止( this.n最後に再生したベースの実WAV番号 );\r
+#if TEST_NOTEOFFMODE\r
+                                               }\r
+#endif\r
+                                               CDTXMania.DTX.tチップの再生( pChip, n再生開始システム時刻ms, 9, n音量, bモニタ, b音程をずらして再生 );\r
+                                               this.n最後に再生したベースの実WAV番号 = pChip.n整数値・内部番号;\r
+                                               return;\r
+                               }\r
+                       }\r
+               }\r
                protected void tステータスパネルの選択()\r
                {\r
                        if ( CDTXMania.bコンパクトモード )\r
@@ -473,7 +702,234 @@ namespace DTXMania
                                this.actStatusPanels.tラベル名からステータスパネルを決定する( CDTXMania.stage選曲.r確定された曲.ar難易度ラベル[ CDTXMania.stage選曲.n確定された曲の難易度 ] );\r
                        }\r
                }\r
+               protected abstract E判定 tチップのヒット処理( long nHitTime, CDTX.CChip pChip );\r
+               protected E判定 tチップのヒット処理( long nHitTime, CDTX.CChip pChip, E楽器パート screenmode )          // E楽器パート screenmode\r
+               {\r
+                       pChip.bHit = true;\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
+                       {\r
+                               bPChipIsAutoPlay = true;\r
+                       }\r
+                       else\r
+                       {\r
+                               this.bAUTOでないチップが1つでもバーを通過した = true;\r
+                       }\r
+                       E判定 eJudgeResult = E判定.Auto;\r
+                       switch ( pChip.e楽器パート )\r
+                       {\r
+                               case E楽器パート.DRUMS:\r
+                                       {\r
+                                               int nInputAdjustTime = bPChipIsAutoPlay ? 0 : this.nInputAdjustTimeMs.Drums;\r
+                                               eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
+                                               this.actJudgeString.Start( this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ], bPChipIsAutoPlay ? E判定.Auto : eJudgeResult, pChip.nLag );\r
+                                       }\r
+                                       break;\r
+\r
+                               case E楽器パート.GUITAR:\r
+                                       {\r
+                                               int nInputAdjustTime = bPChipIsAutoPlay ? 0 : this.nInputAdjustTimeMs.Guitar;\r
+                                               eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
+                                               this.actJudgeString.Start( 10, bPChipIsAutoPlay ? E判定.Auto : eJudgeResult, pChip.nLag );\r
+                                               break;\r
+                                       }\r
 \r
+                               case E楽器パート.BASS:\r
+                                       {\r
+                                               int nInputAdjustTime = bPChipIsAutoPlay ? 0 : this.nInputAdjustTimeMs.Bass;\r
+                                               eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
+                                               this.actJudgeString.Start( 11, bPChipIsAutoPlay ? E判定.Auto : eJudgeResult, pChip.nLag );\r
+                                       }\r
+                                       break;\r
+                       }\r
+                       if ( !bPChipIsAutoPlay && ( pChip.e楽器パート != E楽器パート.UNKNOWN ) )\r
+                       {\r
+                               this.t判定にあわせてゲージを増減する( screenmode, pChip.e楽器パート, eJudgeResult );\r
+                       }\r
+\r
+                       switch ( pChip.e楽器パート )\r
+                       {\r
+                               case E楽器パート.DRUMS:\r
+                                       switch ( eJudgeResult )\r
+                                       {\r
+                                               case E判定.Miss:\r
+                                               case E判定.Bad:\r
+                                                       this.nヒット数・Auto含む.Drums.Miss++;\r
+                                                       if ( !bPChipIsAutoPlay )\r
+                                                       {\r
+                                                               this.nヒット数・Auto含まない.Drums.Miss++;\r
+                                                       }\r
+                                                       break;\r
+                                               default:\r
+                                                       this.nヒット数・Auto含む.Drums[ (int) eJudgeResult ]++;\r
+                                                       if ( !bPChipIsAutoPlay )\r
+                                                       {\r
+                                                               this.nヒット数・Auto含まない.Drums[ (int) eJudgeResult ]++;\r
+                                                       }\r
+                                                       break;\r
+                                       }\r
+\r
+                                       if ( CDTXMania.ConfigIni.bドラムが全部オートプレイである || !bPChipIsAutoPlay )\r
+                                       {\r
+                                               switch ( eJudgeResult )\r
+                                               {\r
+                                                       case E判定.Perfect:\r
+                                                       case E判定.Great:\r
+                                                       case E判定.Good:\r
+                                                               this.actCombo.n現在のコンボ数.Drums++;\r
+                                                               break;\r
+\r
+                                                       default:\r
+                                                               this.actCombo.n現在のコンボ数.Drums = 0;\r
+                                                               break;\r
+                                               }\r
+                                       }\r
+                                       break;\r
+\r
+                               case E楽器パート.GUITAR:\r
+                                       switch ( eJudgeResult )\r
+                                       {\r
+                                               case E判定.Miss:\r
+                                               case E判定.Bad:\r
+                                                       this.nヒット数・Auto含む.Guitar.Miss++;\r
+                                                       if ( !bPChipIsAutoPlay )\r
+                                                       {\r
+                                                               this.nヒット数・Auto含まない.Guitar.Miss++;\r
+                                                       }\r
+                                                       break;\r
+                                               default:        // #24068 2011.1.10 ikanick changed\r
+                                                       // #24167 2011.1.16 yyagi changed\r
+                                                       this.nヒット数・Auto含む.Guitar[ (int) eJudgeResult ]++;\r
+                                                       if ( !bPChipIsAutoPlay )\r
+                                                       {\r
+                                                               this.nヒット数・Auto含まない.Guitar[ (int) eJudgeResult ]++;\r
+                                                       }\r
+                                                       break;\r
+                                       }\r
+                                       switch ( eJudgeResult )\r
+                                       {\r
+                                               case E判定.Perfect:\r
+                                               case E判定.Great:\r
+                                               case E判定.Good:\r
+                                                       this.actCombo.n現在のコンボ数.Guitar++;\r
+                                                       break;\r
+\r
+                                               default:\r
+                                                       this.actCombo.n現在のコンボ数.Guitar = 0;\r
+                                                       break;\r
+                                       }\r
+                                       break;\r
+\r
+                               case E楽器パート.BASS:\r
+                                       switch ( eJudgeResult )\r
+                                       {\r
+                                               case E判定.Miss:\r
+                                               case E判定.Bad:\r
+                                                       this.nヒット数・Auto含む.Bass.Miss++;\r
+                                                       if ( !bPChipIsAutoPlay )\r
+                                                       {\r
+                                                               this.nヒット数・Auto含まない.Bass.Miss++;\r
+                                                       }\r
+                                                       break;\r
+                                               default:        // #24068 2011.1.10 ikanick changed\r
+                                                       this.nヒット数・Auto含む.Bass[ (int) eJudgeResult ]++;\r
+                                                       if ( !bPChipIsAutoPlay )\r
+                                                       {\r
+                                                               this.nヒット数・Auto含まない.Bass[ (int) eJudgeResult ]++;\r
+                                                       }\r
+                                                       break;\r
+                                       }\r
+\r
+                                       switch ( eJudgeResult )\r
+                                       {\r
+                                               case E判定.Perfect:\r
+                                               case E判定.Great:\r
+                                               case E判定.Good:\r
+                                                       this.actCombo.n現在のコンボ数.Bass++;\r
+                                                       break;\r
+\r
+                                               default:\r
+                                                       this.actCombo.n現在のコンボ数.Bass = 0;\r
+                                                       break;\r
+                                       }\r
+                                       break;\r
+\r
+                               default:\r
+                                       break;\r
+                       }\r
+                       if ( ( !bPChipIsAutoPlay && ( pChip.e楽器パート != E楽器パート.UNKNOWN ) ) && ( eJudgeResult != E判定.Miss ) && ( eJudgeResult != E判定.Bad ) )\r
+                       {\r
+                               int nCombos = 0;\r
+                               switch ( pChip.e楽器パート )\r
+                               {\r
+                                       case E楽器パート.DRUMS:\r
+                                               nCombos = this.actCombo.n現在のコンボ数.Drums;\r
+                                               break;\r
+                                       case E楽器パート.GUITAR:\r
+                                               nCombos = this.actCombo.n現在のコンボ数.Guitar;\r
+                                               break;\r
+                                       case E楽器パート.BASS:\r
+                                               nCombos = this.actCombo.n現在のコンボ数.Bass;\r
+                                               break;\r
+                               }\r
+                               long nScore = this.actScore.Get( pChip.e楽器パート );\r
+                               long[] numArray = new long[] { 350L, 200L, 50L, 0L };\r
+                               if ( ( nCombos <= 500 ) || ( eJudgeResult == E判定.Good ) )\r
+                               {\r
+                                       nScore += numArray[ (int) eJudgeResult ] * nCombos;\r
+                               }\r
+                               else if ( ( eJudgeResult == E判定.Perfect ) || ( eJudgeResult == E判定.Great ) )\r
+                               {\r
+                                       nScore += numArray[ (int) eJudgeResult ] * 500L;\r
+                               }\r
+                               this.actScore.Set( pChip.e楽器パート, nScore );\r
+                       }\r
+                       return eJudgeResult;\r
+               }\r
+               protected abstract void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part );\r
+               protected abstract void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part, int nLane );\r
+               protected void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part, E楽器パート screenmode )\r
+               {\r
+                       this.tチップのヒット処理・BadならびにTight時のMiss( part, 0, screenmode );\r
+               }\r
+               protected void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part, int nLane, E楽器パート screenmode )\r
+               {\r
+                       this.bAUTOでないチップが1つでもバーを通過した = true;\r
+                       this.t判定にあわせてゲージを増減する( screenmode, part, E判定.Miss );\r
+                       switch ( part )\r
+                       {\r
+                               case E楽器パート.DRUMS:\r
+                                       if ( ( nLane >= 0 ) && ( nLane <= 7 ) )\r
+                                       {\r
+                                               this.actJudgeString.Start( nLane, CDTXMania.ConfigIni.bAutoPlay[ nLane ] ? E判定.Auto : E判定.Miss, 999 );\r
+                                       }\r
+                                       this.actCombo.n現在のコンボ数.Drums = 0;\r
+                                       return;\r
+\r
+                               case E楽器パート.GUITAR:\r
+                                       this.actJudgeString.Start( 10, E判定.Bad, 999 );\r
+                                       this.actCombo.n現在のコンボ数.Guitar = 0;\r
+                                       return;\r
+\r
+                               case E楽器パート.BASS:\r
+                                       this.actJudgeString.Start( 11, E判定.Bad, 999 );\r
+                                       this.actCombo.n現在のコンボ数.Bass = 0;\r
+                                       break;\r
+\r
+                               default:\r
+                                       return;\r
+                       }\r
+               }\r
+       \r
+               protected CDTX.CChip r指定時刻に一番近い未ヒットChip( long nTime, int nChannelFlag, int nInputAdjustTime )\r
+               {\r
+                       return this.r指定時刻に一番近い未ヒットChip( nTime, nChannelFlag, nInputAdjustTime, 0 );\r
+               }\r
                protected CDTX.CChip r指定時刻に一番近い未ヒットChip( long nTime, int nChannelFlag, int nInputAdjustTime, int n検索範囲時間ms )\r
                {\r
                        nTime += nInputAdjustTime;\r
@@ -615,8 +1071,8 @@ namespace DTXMania
                }\r
 \r
                protected abstract void t入力処理・ドラム();\r
-               protected abstract void t入力処理・ギター();\r
-               protected abstract void t入力処理・ベース();\r
+//             protected abstract void t入力処理・ギター();\r
+//             protected abstract void t入力処理・ベース();\r
                protected abstract void ドラムスクロール速度アップ();\r
                protected abstract void ドラムスクロール速度ダウン();\r
                protected void tキー入力()\r
@@ -718,7 +1174,7 @@ namespace DTXMania
                                this.actBGA.t進行描画( x, y );\r
                        }\r
                }\r
-\r
+               protected abstract void t進行描画・DANGER();\r
                protected void t進行描画・MIDIBGM()\r
                {\r
                        if ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED )\r
@@ -760,6 +1216,10 @@ namespace DTXMania
                }\r
 \r
 \r
+               protected void t進行描画・チップファイアGB()\r
+               {\r
+                       this.actChipFireGB.On進行描画();\r
+               }\r
                protected abstract void t進行描画・パネル文字列();\r
                protected void t進行描画・パネル文字列(int x, int y)\r
                {\r
@@ -789,6 +1249,10 @@ namespace DTXMania
                {\r
                        this.actScore.On進行描画();\r
                }\r
+               protected void t進行描画・ステータスパネル()\r
+               {\r
+                       this.actStatusPanels.On進行描画();\r
+               }\r
 \r
                protected void t進行描画・チップアニメ()\r
                {\r
@@ -831,7 +1295,20 @@ namespace DTXMania
                        }\r
                        return false;\r
                }\r
-\r
+               protected void t進行描画・レーンフラッシュD()\r
+               {\r
+                       if ( ( ( CDTXMania.ConfigIni.eDark != Eダークモード.HALF ) && ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) ) && ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) )\r
+                       {\r
+                               this.actLaneFlushD.On進行描画();\r
+                       }\r
+               }\r
+               protected void t進行描画・レーンフラッシュGB()\r
+               {\r
+                       if ( ( ( CDTXMania.ConfigIni.eDark != Eダークモード.HALF ) && ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) ) && CDTXMania.ConfigIni.bGuitar有効 )\r
+                       {\r
+                               this.actLaneFlushGB.On進行描画();\r
+                       }\r
+               }\r
                protected abstract void t進行描画・演奏情報();\r
                protected void t進行描画・演奏情報(int x, int y)\r
                {\r
@@ -976,6 +1453,276 @@ namespace DTXMania
                        image.Dispose();\r
                }\r
 \r
+               protected virtual void t入力処理・ギター()\r
+               {\r
+                       if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.B ) )\r
+                       {\r
+                               CDTXMania.ConfigIni.n譜面スクロール速度.Guitar = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Guitar + 1, 0x7cf );\r
+                       }\r
+                       if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.R ) )\r
+                       {\r
+                               CDTXMania.ConfigIni.n譜面スクロール速度.Guitar = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Guitar - 1, 0 );\r
+                       }\r
+\r
+                       if ( CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Guitar )\r
+                       {\r
+                               if ( bIsAutoPlay.Guitar )\r
+                               {\r
+                                       CDTX.CChip chip = this.r次にくるギターChipを更新して返す();\r
+                                       if ( chip != null )\r
+                                       {\r
+                                               if ( ( chip.nチャンネル番号 & 4 ) != 0 )\r
+                                               {\r
+                                                       this.actLaneFlushGB.Start( 0 );\r
+                                                       this.actRGB.Push( 0 );\r
+                                               }\r
+                                               if ( ( chip.nチャンネル番号 & 2 ) != 0 )\r
+                                               {\r
+                                                       this.actLaneFlushGB.Start( 1 );\r
+                                                       this.actRGB.Push( 1 );\r
+                                               }\r
+                                               if ( ( chip.nチャンネル番号 & 1 ) != 0 )\r
+                                               {\r
+                                                       this.actLaneFlushGB.Start( 2 );\r
+                                                       this.actRGB.Push( 2 );\r
+                                               }\r
+                                       }\r
+                               }\r
+                               else\r
+                               {\r
+                                       int flagR = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.R ) ? 4 : 0;\r
+                                       this.t入力メソッド記憶( E楽器パート.GUITAR );\r
+                                       int flagG = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.G ) ? 2 : 0;\r
+                                       this.t入力メソッド記憶( E楽器パート.GUITAR );\r
+                                       int flagB = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.B ) ? 1 : 0;\r
+                                       this.t入力メソッド記憶( E楽器パート.GUITAR );\r
+                                       int flagRGB = flagR | flagG | flagB;\r
+                                       if ( flagR != 0 )\r
+                                       {\r
+                                               this.actLaneFlushGB.Start( 0 );\r
+                                               this.actRGB.Push( 0 );\r
+                                       }\r
+                                       if ( flagG != 0 )\r
+                                       {\r
+                                               this.actLaneFlushGB.Start( 1 );\r
+                                               this.actRGB.Push( 1 );\r
+                                       }\r
+                                       if ( flagB != 0 )\r
+                                       {\r
+                                               this.actLaneFlushGB.Start( 2 );\r
+                                               this.actRGB.Push( 2 );\r
+                                       }\r
+                                       List<STInputEvent> events = CDTXMania.Pad.GetEvents( E楽器パート.GUITAR, Eパッド.Pick );\r
+                                       if ( ( events != null ) && ( events.Count > 0 ) )\r
+                                       {\r
+                                               foreach ( STInputEvent event2 in events )\r
+                                               {\r
+                                                       CDTX.CChip chip4;\r
+                                                       if ( !event2.b押された )\r
+                                                       {\r
+                                                               continue;\r
+                                                       }\r
+                                                       this.t入力メソッド記憶( E楽器パート.GUITAR );\r
+                                                       long nTime = event2.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
+                                                       CDTX.CChip pChip = this.r指定時刻に一番近い未ヒットChip( nTime, 0x2f, this.nInputAdjustTimeMs.Guitar );\r
+                                                       E判定 e判定 = this.e指定時刻からChipのJUDGEを返す( nTime, pChip, this.nInputAdjustTimeMs.Guitar );\r
+                                                       if ( ( ( pChip != null ) && ( ( pChip.nチャンネル番号 & 15 ) == flagRGB ) ) && ( e判定 != E判定.Miss ) )\r
+                                                       {\r
+                                                               if ( ( flagR != 0 ) || ( flagRGB == 0 ) )\r
+                                                               {\r
+                                                                       this.actChipFireGB.Start( 0 );\r
+                                                               }\r
+                                                               if ( ( flagG != 0 ) || ( flagRGB == 0 ) )\r
+                                                               {\r
+                                                                       this.actChipFireGB.Start( 1 );\r
+                                                               }\r
+                                                               if ( ( flagB != 0 ) || ( flagRGB == 0 ) )\r
+                                                               {\r
+                                                                       this.actChipFireGB.Start( 2 );\r
+                                                               }\r
+                                                               this.tチップのヒット処理( nTime, pChip );\r
+                                                               this.tサウンド再生( pChip, CDTXMania.Timer.nシステム時刻, E楽器パート.GUITAR, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Guitar, e判定 == E判定.Poor );\r
+                                                               CDTX.CChip item = this.r指定時刻に一番近い未ヒットChip( nTime, 40, this.nInputAdjustTimeMs.Guitar, 140 );\r
+                                                               if ( item != null )\r
+                                                               {\r
+                                                                       this.queWailing.Guitar.Enqueue( item );\r
+                                                               }\r
+                                                               continue;\r
+                                                       }\r
+                                                       if ( ( ( chip4 = this.r現在の空うちギターChip ) != null ) || ( ( chip4 = this.r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( nTime, 0x2f, this.nInputAdjustTimeMs.Guitar ) ) != null ) )\r
+                                                       {\r
+                                                               this.tサウンド再生( chip4, CDTXMania.Timer.nシステム時刻, E楽器パート.GUITAR, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Guitar, true );\r
+                                                       }\r
+                                                       if ( !CDTXMania.ConfigIni.bLight.Guitar )\r
+                                                       {\r
+                                                               this.tチップのヒット処理・BadならびにTight時のMiss( E楽器パート.GUITAR );\r
+                                                       }\r
+                                               }\r
+                                       }\r
+                                       List<STInputEvent> list2 = CDTXMania.Pad.GetEvents( E楽器パート.GUITAR, Eパッド.Wail );\r
+                                       if ( ( list2 != null ) && ( list2.Count > 0 ) )\r
+                                       {\r
+                                               foreach ( STInputEvent event3 in list2 )\r
+                                               {\r
+                                                       CDTX.CChip chip5;\r
+                                                       if ( !event3.b押された )\r
+                                                       {\r
+                                                               continue;\r
+                                                       }\r
+                                                       long num6 = event3.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
+                                                       while ( ( this.queWailing.Guitar.Count > 0 ) && ( ( chip5 = this.queWailing.Guitar.Dequeue() ) != null ) )\r
+                                                       {\r
+                                                               if ( ( num6 - chip5.n発声時刻ms ) <= 1000 )         // #24245 2011.1.26 yyagi: 800 -> 1000\r
+                                                               {\r
+                                                                       chip5.bHit = true;\r
+                                                                       this.actWailingBonus.Start( E楽器パート.GUITAR, this.r現在の歓声Chip.Guitar );\r
+                                                                       if ( !bIsAutoPlay.Guitar )\r
+                                                                       {\r
+                                                                               int nCombo = ( this.actCombo.n現在のコンボ数.Guitar < 500 ) ? this.actCombo.n現在のコンボ数.Guitar : 500;\r
+                                                                               this.actScore.Set( E楽器パート.GUITAR, this.actScore.Get( E楽器パート.GUITAR ) + ( nCombo * 3000L ) );                // #24245 2011.1.26 yyagi changed DRUMS->GUITAR, add nCombo conditions\r
+                                                                       }\r
+                                                               }\r
+                                                       }\r
+                                               }\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
+               protected virtual void t入力処理・ベース()\r
+               {\r
+                       if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.B ) )\r
+                       {\r
+                               CDTXMania.ConfigIni.n譜面スクロール速度.Bass = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Bass + 1, 0x7cf );\r
+                       }\r
+                       if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.R ) )\r
+                       {\r
+                               CDTXMania.ConfigIni.n譜面スクロール速度.Bass = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Bass - 1, 0 );\r
+                       }\r
+\r
+                       if ( CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Bass )\r
+                       {\r
+                               if ( bIsAutoPlay.Bass )\r
+                               {\r
+                                       CDTX.CChip chip = this.r次にくるベースChipを更新して返す();\r
+                                       if ( chip != null )\r
+                                       {\r
+                                               if ( ( chip.nチャンネル番号 & 4 ) != 0 )\r
+                                               {\r
+                                                       this.actLaneFlushGB.Start( 3 );\r
+                                                       this.actRGB.Push( 3 );\r
+                                               }\r
+                                               if ( ( chip.nチャンネル番号 & 2 ) != 0 )\r
+                                               {\r
+                                                       this.actLaneFlushGB.Start( 4 );\r
+                                                       this.actRGB.Push( 4 );\r
+                                               }\r
+                                               if ( ( chip.nチャンネル番号 & 1 ) != 0 )\r
+                                               {\r
+                                                       this.actLaneFlushGB.Start( 5 );\r
+                                                       this.actRGB.Push( 5 );\r
+                                               }\r
+                                       }\r
+                               }\r
+                               else\r
+                               {\r
+                                       int flagR = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.R ) ? 4 : 0;\r
+                                       this.t入力メソッド記憶( E楽器パート.BASS );\r
+                                       int flagG = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.G ) ? 2 : 0;\r
+                                       this.t入力メソッド記憶( E楽器パート.BASS );\r
+                                       int flagB = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.B ) ? 1 : 0;\r
+                                       this.t入力メソッド記憶( E楽器パート.BASS );\r
+                                       int flagRGB = flagR | flagG | flagB;\r
+                                       if ( flagR != 0 )\r
+                                       {\r
+                                               this.actLaneFlushGB.Start( 3 );\r
+                                               this.actRGB.Push( 3 );\r
+                                       }\r
+                                       if ( flagG != 0 )\r
+                                       {\r
+                                               this.actLaneFlushGB.Start( 4 );\r
+                                               this.actRGB.Push( 4 );\r
+                                       }\r
+                                       if ( flagB != 0 )\r
+                                       {\r
+                                               this.actLaneFlushGB.Start( 5 );\r
+                                               this.actRGB.Push( 5 );\r
+                                       }\r
+                                       List<STInputEvent> events = CDTXMania.Pad.GetEvents( E楽器パート.BASS, Eパッド.Pick );\r
+                                       if ( ( events != null ) && ( events.Count > 0 ) )\r
+                                       {\r
+                                               foreach ( STInputEvent event2 in events )\r
+                                               {\r
+                                                       CDTX.CChip chip4;\r
+                                                       if ( !event2.b押された )\r
+                                                       {\r
+                                                               continue;\r
+                                                       }\r
+                                                       this.t入力メソッド記憶( E楽器パート.BASS );\r
+                                                       long nTime = event2.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
+                                                       CDTX.CChip pChip = this.r指定時刻に一番近い未ヒットChip( nTime, 0xaf, this.nInputAdjustTimeMs.Bass );\r
+                                                       E判定 e判定 = this.e指定時刻からChipのJUDGEを返す( nTime, pChip, this.nInputAdjustTimeMs.Bass );\r
+                                                       if ( ( ( pChip != null ) && ( ( pChip.nチャンネル番号 & 15 ) == flagRGB ) ) && ( e判定 != E判定.Miss ) )\r
+                                                       {\r
+                                                               if ( ( flagR != 0 ) || ( flagRGB == 0 ) )\r
+                                                               {\r
+                                                                       this.actChipFireGB.Start( 3 );\r
+                                                               }\r
+                                                               if ( ( flagG != 0 ) || ( flagRGB == 0 ) )\r
+                                                               {\r
+                                                                       this.actChipFireGB.Start( 4 );\r
+                                                               }\r
+                                                               if ( ( flagB != 0 ) || ( flagRGB == 0 ) )\r
+                                                               {\r
+                                                                       this.actChipFireGB.Start( 5 );\r
+                                                               }\r
+                                                               this.tチップのヒット処理( nTime, pChip );\r
+                                                               this.tサウンド再生( pChip, CDTXMania.Timer.nシステム時刻, E楽器パート.BASS, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Bass, e判定 == E判定.Poor );\r
+                                                               CDTX.CChip item = this.r指定時刻に一番近い未ヒットChip( nTime, 0xa8, this.nInputAdjustTimeMs.Bass, 140 );\r
+                                                               if ( item != null )\r
+                                                               {\r
+                                                                       this.queWailing.Bass.Enqueue( item );\r
+                                                               }\r
+                                                               continue;\r
+                                                       }\r
+                                                       if ( ( ( chip4 = this.r現在の空うちベースChip ) != null ) || ( ( chip4 = this.r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( nTime, 0xaf, this.nInputAdjustTimeMs.Bass ) ) != null ) )\r
+                                                       {\r
+                                                               this.tサウンド再生( chip4, CDTXMania.Timer.nシステム時刻, E楽器パート.BASS, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Bass, true );\r
+                                                       }\r
+                                                       if ( !CDTXMania.ConfigIni.bLight.Bass )\r
+                                                       {\r
+                                                               this.tチップのヒット処理・BadならびにTight時のMiss( E楽器パート.BASS );\r
+                                                       }\r
+                                               }\r
+                                       }\r
+                                       List<STInputEvent> list2 = CDTXMania.Pad.GetEvents( E楽器パート.BASS, Eパッド.Wail );\r
+                                       if ( ( list2 != null ) && ( list2.Count > 0 ) )\r
+                                       {\r
+                                               foreach ( STInputEvent event3 in list2 )\r
+                                               {\r
+                                                       CDTX.CChip chip5;\r
+                                                       if ( !event3.b押された )\r
+                                                       {\r
+                                                               continue;\r
+                                                       }\r
+                                                       long num6 = event3.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
+                                                       while ( ( this.queWailing.Bass.Count > 0 ) && ( ( chip5 = this.queWailing.Bass.Dequeue() ) != null ) )\r
+                                                       {\r
+                                                               if ( ( num6 - chip5.n発声時刻ms ) <= 1000 )         // #24245 2011.1.26 yyagi: 800 -> 1000\r
+                                                               {\r
+                                                                       chip5.bHit = true;\r
+                                                                       this.actWailingBonus.Start( E楽器パート.BASS, this.r現在の歓声Chip.Bass );\r
+                                                                       if ( !bIsAutoPlay.Bass )\r
+                                                                       {\r
+                                                                               int nCombo = ( this.actCombo.n現在のコンボ数.Bass < 500 ) ? this.actCombo.n現在のコンボ数.Bass : 500;\r
+                                                                               this.actScore.Set( E楽器パート.BASS, this.actScore.Get( E楽器パート.BASS ) + ( nCombo * 3000L ) );            // #24245 2011.1.26 yyagi changed DRUMS->BASS, add nCombo conditions\r
+                                                                       }\r
+                                                               }\r
+                                                       }\r
+                                               }\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
 \r
 #if true               // DAMAGELEVELTUNING\r
 #region [ DAMAGELEVELTUNING ]\r
index a40628b..861ffd1 100644 (file)
@@ -17,7 +17,7 @@ namespace DTXMania
                \r
                // メソッド\r
 \r
-               public void Start( int nLane )\r
+               public override void Start( int nLane )\r
                {\r
                        if( ( nLane < 0 ) && ( nLane > 5 ) )\r
                        {\r
index 5e2d4c9..2b31d22 100644 (file)
@@ -33,7 +33,7 @@ namespace DTXMania
                        base.list子Activities.Add( this.actJudgeString = new CAct演奏Guitar判定文字列() );\r
                        base.list子Activities.Add( this.actGauge = new CAct演奏Guitarゲージ() );\r
                        base.list子Activities.Add( this.actCombo = new CAct演奏Guitarコンボ() );\r
-                       base.list子Activities.Add( this.actChipFire = new CAct演奏Guitarチップファイア() );\r
+                       base.list子Activities.Add( this.actChipFireGB = new CAct演奏Guitarチップファイア() );\r
                        base.list子Activities.Add( this.actPlayInfo = new CAct演奏演奏情報() );\r
                        base.list子Activities.Add( this.actFI = new CActFIFOBlack() );\r
                        base.list子Activities.Add( this.actFO = new CActFIFOBlack() );\r
@@ -171,7 +171,7 @@ namespace DTXMania
                        //this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.継続;\r
                        //this.n現在のトップChip = ( CDTXMania.DTX.listChip.Count > 0 ) ? 0 : -1;\r
                        //this.n最後に再生したHHの実WAV番号 = -1;\r
-                       this.L最後に再生したHHの実WAV番号 = new List<int>( 16 );\r
+                       //this.L最後に再生したHHの実WAV番号 = new List<int>( 16 );\r
                        //this.n最後に再生したHHのチャンネル番号 = 0;\r
                        //this.n最後に再生したギターの実WAV番号 = -1;\r
                        //this.n最後に再生したベースの実WAV番号 = -1;\r
@@ -237,7 +237,7 @@ namespace DTXMania
                        {\r
                                //CDTXMania.tテクスチャの解放( ref this.tx背景 );\r
                                CDTXMania.tテクスチャの解放( ref this.txチップ );\r
-                               //CDTXMania.tテクスチャの解放( ref this.txヒットバー );\r
+                               CDTXMania.tテクスチャの解放( ref this.txヒットバー );\r
                                //CDTXMania.tテクスチャの解放( ref this.txWailing枠 );\r
                                base.OnManagedリソースの解放();\r
                        }\r
@@ -536,17 +536,17 @@ namespace DTXMania
 \r
                //private CAct演奏AVI actAVI;\r
                //private CAct演奏BGA actBGA;\r
-               private CAct演奏Guitarチップファイア actChipFire;\r
+               //private CAct演奏Guitarチップファイア actChipFireGB;\r
                //private CAct演奏Guitarコンボ actCombo;\r
                //private CActFIFOBlack actFI;\r
                //private CActFIFOBlack actFO;\r
                //private CActFIFOWhite actFOClear;\r
                //private CAct演奏Guitarゲージ actGauge;\r
                //private CAct演奏Guitar判定文字列 actJudgeString;\r
-               private CAct演奏GuitarレーンフラッシュGB actLaneFlushGB;\r
+               //private CAct演奏GuitarレーンフラッシュGB actLaneFlushGB;\r
                //private CAct演奏パネル文字列 actPanel;\r
                //private CAct演奏演奏情報 actPlayInfo;\r
-               private CAct演奏GuitarRGB actRGB;\r
+               //private CAct演奏GuitarRGB actRGB;\r
                //private CAct演奏Guitarスコア actScore;\r
                //private CAct演奏ステージ失敗 actStageFailed;\r
                //private CAct演奏Guitarステータスパネル actStatusPanels;\r
@@ -572,7 +572,7 @@ namespace DTXMania
                //private int[] n最後に再生したBGMの実WAV番号 = new int[ 50 ];\r
                //private int n最後に再生したHHのチャンネル番号;\r
                //private int n最後に再生したHHの実WAV番号;\r
-               private List<int> L最後に再生したHHの実WAV番号;              // #23921 2011.1.4 yyagi: change "int" to "List<int>", for recording multiple wav No.\r
+               //private List<int> L最後に再生したHHの実WAV番号;            // #23921 2011.1.4 yyagi: change "int" to "List<int>", for recording multiple wav No.\r
                //private int n最後に再生したギターの実WAV番号;\r
                //private int n最後に再生したベースの実WAV番号;\r
                //private STDGBVALUE<Queue<CDTX.CChip>> queWailing;\r
@@ -583,7 +583,7 @@ namespace DTXMania
                //private CDTX.CChip r次にくるギターChip;\r
                //private CDTX.CChip r次にくるベースChip;\r
                //private CTexture txWailing枠;\r
-               private CTexture txチップ;\r
+               //private CTexture txチップ;\r
                //private CTexture txヒットバー;\r
                //private CTexture tx背景;\r
                // private STDGBVALUE<int> nInputAdjustTimeMs;          // #23580 2011.1.3 yyagi\r
@@ -615,18 +615,18 @@ namespace DTXMania
                //    }\r
                //    return E判定.Miss;\r
                //}\r
-               private CDTX.CChip r空うちChip( E楽器パート part, Eパッド pad )\r
-               {\r
-                       switch( part )\r
-                       {\r
-                               case E楽器パート.GUITAR:\r
-                                       return this.r現在の空うちギターChip;\r
+               //private CDTX.CChip r空うちChip( E楽器パート part, Eパッド pad )\r
+               //{\r
+               //    switch( part )\r
+               //    {\r
+               //        case E楽器パート.GUITAR:\r
+               //            return this.r現在の空うちギターChip;\r
 \r
-                               case E楽器パート.BASS:\r
-                                       return this.r現在の空うちベースChip;\r
-                       }\r
-                       return null;\r
-               }\r
+               //        case E楽器パート.BASS:\r
+               //            return this.r現在の空うちベースChip;\r
+               //    }\r
+               //    return null;\r
+               //}\r
                //private CDTX.CChip r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( long nTime, int nChannelFlag, int nInputAdjustTime )\r
                //{\r
                //    nTime += nInputAdjustTime;\r
@@ -833,111 +833,112 @@ namespace DTXMania
                //    this.r次にくるベースChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0xaf, nInputAdjustTime, 500 );\r
                //    return this.r次にくるベースChip;\r
                //}\r
-               private void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part )\r
-               {\r
-                       this.tサウンド再生( rChip, n再生開始システム時刻ms, part, CDTXMania.ConfigIni.n手動再生音量, false, false );\r
-               }\r
-               private void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part, int n音量 )\r
-               {\r
-                       this.tサウンド再生( rChip, n再生開始システム時刻ms, part, n音量, false, false );\r
-               }\r
-               private void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part, int n音量, bool bモニタ )\r
-               {\r
-                       this.tサウンド再生( rChip, n再生開始システム時刻ms, part, n音量, bモニタ, false );\r
-               }\r
-               private void tサウンド再生( CDTX.CChip pChip, long n再生開始システム時刻ms, E楽器パート part, int n音量, bool bモニタ, bool b音程をずらして再生 )\r
-               {\r
-                       if( pChip != null )\r
-                       {\r
-                               switch( part )\r
-                               {\r
-                                       case E楽器パート.DRUMS:\r
-                                               {\r
-                                                       int index = pChip.nチャンネル番号;\r
-                                                       if ( ( index >= 0x11 ) && ( index <= 0x1a ) )\r
-                                                       {\r
-                                                               index -= 0x11;\r
-                                                       }\r
-                                                       else\r
-                                                       {\r
-                                                               if ( ( index < 0x31 ) || ( index > 0x3a ) )\r
-                                                               {\r
-                                                                       return;\r
-                                                               }\r
-                                                               index -= 0x31;\r
-                                                       }\r
-                                                       int nLane = this.nチャンネル0Atoレーン07[ index ];\r
-                                                       if ( ( nLane == 1 ) &&  // 今回演奏するのがHC or HO\r
-                                                               ( index == 0 || ( index == 7 && this.n最後に再生したHHのチャンネル番号 != 0x18 && this.n最後に再生したHHのチャンネル番号 != 0x38 ) )\r
-                                                               // HCを演奏するか、またはHO演奏&以前HO演奏でない&以前不可視HO演奏でない\r
-                                                       )\r
-                                                       {\r
-                                                               // #23921 2011.1.4 yyagi: 2種類以上のオープンハイハットが発音済みだと、最後のHHOしか消せない問題に対応。\r
-#if TEST_NOTEOFFMODE   // 2011.1.1 yyagi test\r
-                                                               if (CDTXMania.DTX.bHH演奏で直前のHHを消音する)\r
-                                                               {\r
-#endif\r
-                                                               for ( int i = 0; i < this.L最後に再生したHHの実WAV番号.Count; i++ )          // #23921 2011.1.4 yyagi\r
-                                                               {\r
-                                                                       // CDTXMania.DTX.tWavの再生停止(this.L最後に再生したHHの実WAV番号);\r
-                                                                       CDTXMania.DTX.tWavの再生停止( this.L最後に再生したHHの実WAV番号[ i ] ); // #23921 yyagi ストック分全て消音する\r
-                                                               }\r
-                                                               this.L最後に再生したHHの実WAV番号.Clear();\r
-#if TEST_NOTEOFFMODE   // 2011.1.1 yyagi test\r
-                                                               }\r
-#endif\r
-                                                               //this.n最後に再生したHHの実WAV番号 = pChip.n整数値・内部番号;\r
-                                                               this.n最後に再生したHHのチャンネル番号 = pChip.nチャンネル番号;\r
-                                                       }\r
-#if TEST_NOTEOFFMODE   // 2011.1.4 yyagi test\r
-                                                       if (CDTXMania.DTX.bHH演奏で直前のHHを消音する)\r
-                                                       {\r
-#endif\r
-                                                       if ( index == 7 || index == 0x27 )                                              // #23921 HOまたは不可視HO演奏時はそのチップ番号をストックしておく\r
-                                                       {\r
-                                                               if ( this.L最後に再生したHHの実WAV番号.Count >= 16 ) // #23921 ただしストック数が16以上になるようなら、頭の1個を削って常に16未満に抑える\r
-                                                               {                                                                                                       // (ストックが増えてList<>のrealloc()が発生するのを予防する)\r
-                                                                       this.L最後に再生したHHの実WAV番号.RemoveAt( 0 );\r
-                                                               }\r
-                                                               if ( this.L最後に再生したHHの実WAV番号.IndexOf( pChip.n整数値・内部番号 ) < 0 )      // チップ音がまだストックされてなければ\r
-                                                               {\r
-                                                                       this.L最後に再生したHHの実WAV番号.Add( pChip.n整数値・内部番号 );                    // ストックする\r
-                                                               }\r
-                                                       }\r
-#if TEST_NOTEOFFMODE   // 2011.1.4 yyagi test\r
-                                                       }\r
-#endif\r
-                                                       CDTXMania.DTX.tチップの再生( pChip, n再生開始システム時刻ms, nLane, n音量, bモニタ );\r
-                                                       return;\r
-                                               }\r
 \r
+               //private void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part )\r
+               //{\r
+               //    this.tサウンド再生( rChip, n再生開始システム時刻ms, part, CDTXMania.ConfigIni.n手動再生音量, false, false );\r
+               //}\r
+               //private void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part, int n音量 )\r
+               //{\r
+               //    this.tサウンド再生( rChip, n再生開始システム時刻ms, part, n音量, false, false );\r
+               //}\r
+               //private void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part, int n音量, bool bモニタ )\r
+               //{\r
+               //    this.tサウンド再生( rChip, n再生開始システム時刻ms, part, n音量, bモニタ, false );\r
+               //}\r
+//        private void tサウンド再生( CDTX.CChip pChip, long n再生開始システム時刻ms, E楽器パート part, int n音量, bool bモニタ, bool b音程をずらして再生 )\r
+//        {\r
+//            if( pChip != null )\r
+//            {\r
+//                switch( part )\r
+//                {\r
+//                    case E楽器パート.DRUMS:\r
+//                        {\r
+//                            int index = pChip.nチャンネル番号;\r
+//                            if ( ( index >= 0x11 ) && ( index <= 0x1a ) )\r
+//                            {\r
+//                                index -= 0x11;\r
+//                            }\r
+//                            else\r
+//                            {\r
+//                                if ( ( index < 0x31 ) || ( index > 0x3a ) )\r
+//                                {\r
+//                                    return;\r
+//                                }\r
+//                                index -= 0x31;\r
+//                            }\r
+//                            int nLane = this.nチャンネル0Atoレーン07[ index ];\r
+//                            if ( ( nLane == 1 ) &&   // 今回演奏するのがHC or HO\r
+//                                ( index == 0 || ( index == 7 && this.n最後に再生したHHのチャンネル番号 != 0x18 && this.n最後に再生したHHのチャンネル番号 != 0x38 ) )\r
+//                                // HCを演奏するか、またはHO演奏&以前HO演奏でない&以前不可視HO演奏でない\r
+//                            )\r
+//                            {\r
+//                                // #23921 2011.1.4 yyagi: 2種類以上のオープンハイハットが発音済みだと、最後のHHOしか消せない問題に対応。\r
+//#if TEST_NOTEOFFMODE // 2011.1.1 yyagi test\r
+//                                if (CDTXMania.DTX.bHH演奏で直前のHHを消音する)\r
+//                                {\r
+//#endif\r
+//                                for ( int i = 0; i < this.L最後に再生したHHの実WAV番号.Count; i++ )               // #23921 2011.1.4 yyagi\r
+//                                {\r
+//                                    // CDTXMania.DTX.tWavの再生停止(this.L最後に再生したHHの実WAV番号);\r
+//                                    CDTXMania.DTX.tWavの再生停止( this.L最後に再生したHHの実WAV番号[ i ] );  // #23921 yyagi ストック分全て消音する\r
+//                                }\r
+//                                this.L最後に再生したHHの実WAV番号.Clear();\r
+//#if TEST_NOTEOFFMODE // 2011.1.1 yyagi test\r
+//                                }\r
+//#endif\r
+//                                //this.n最後に再生したHHの実WAV番号 = pChip.n整数値・内部番号;\r
+//                                this.n最後に再生したHHのチャンネル番号 = pChip.nチャンネル番号;\r
+//                            }\r
+//#if TEST_NOTEOFFMODE // 2011.1.4 yyagi test\r
+//                            if (CDTXMania.DTX.bHH演奏で直前のHHを消音する)\r
+//                            {\r
+//#endif\r
+//                            if ( index == 7 || index == 0x27 )                                               // #23921 HOまたは不可視HO演奏時はそのチップ番号をストックしておく\r
+//                            {\r
+//                                if ( this.L最後に再生したHHの実WAV番号.Count >= 16 )      // #23921 ただしストック数が16以上になるようなら、頭の1個を削って常に16未満に抑える\r
+//                                {                                                                                                    // (ストックが増えてList<>のrealloc()が発生するのを予防する)\r
+//                                    this.L最後に再生したHHの実WAV番号.RemoveAt( 0 );\r
+//                                }\r
+//                                if ( this.L最後に再生したHHの実WAV番号.IndexOf( pChip.n整数値・内部番号 ) < 0 )   // チップ音がまだストックされてなければ\r
+//                                {\r
+//                                    this.L最後に再生したHHの実WAV番号.Add( pChip.n整数値・内部番号 );                     // ストックする\r
+//                                }\r
+//                            }\r
+//#if TEST_NOTEOFFMODE // 2011.1.4 yyagi test\r
+//                            }\r
+//#endif\r
+//                            CDTXMania.DTX.tチップの再生( pChip, n再生開始システム時刻ms, nLane, n音量, bモニタ );\r
+//                            return;\r
+//                        }\r
 \r
-                                       case E楽器パート.GUITAR:\r
-#if TEST_NOTEOFFMODE   // 2011.1.1 yyagi TEST\r
-                                               if (CDTXMania.DTX.bGUITAR演奏で直前のGUITARを消音する) {\r
-#endif\r
-                                                       CDTXMania.DTX.tWavの再生停止(this.n最後に再生したギターの実WAV番号);\r
-#if TEST_NOTEOFFMODE   // 2011.1.1 yyagi TEST\r
-                                               }\r
-#endif\r
-                                               CDTXMania.DTX.tチップの再生( pChip, n再生開始システム時刻ms, 8, n音量, bモニタ, b音程をずらして再生 );\r
-                                               this.n最後に再生したギターの実WAV番号 = pChip.n整数値・内部番号;\r
-                                               return;\r
-\r
-                                       case E楽器パート.BASS:\r
-#if TEST_NOTEOFFMODE   // 2011.1.1 yyagi TEST\r
-                                               if (CDTXMania.DTX.bBASS演奏で直前のBASSを消音する) {\r
-#endif\r
-                                                       CDTXMania.DTX.tWavの再生停止(this.n最後に再生したベースの実WAV番号);\r
-#if TEST_NOTEOFFMODE   // 2011.1.1 yyagi TEST\r
-                                               }\r
-#endif\r
-                                               CDTXMania.DTX.tチップの再生(pChip, n再生開始システム時刻ms, 9, n音量, bモニタ, b音程をずらして再生);\r
-                                               this.n最後に再生したベースの実WAV番号 = pChip.n整数値・内部番号;\r
-                                               return;\r
-                               }\r
-                       }\r
-               }\r
+\r
+//                    case E楽器パート.GUITAR:\r
+//#if TEST_NOTEOFFMODE // 2011.1.1 yyagi TEST\r
+//                        if (CDTXMania.DTX.bGUITAR演奏で直前のGUITARを消音する) {\r
+//#endif\r
+//                            CDTXMania.DTX.tWavの再生停止(this.n最後に再生したギターの実WAV番号);\r
+//#if TEST_NOTEOFFMODE // 2011.1.1 yyagi TEST\r
+//                        }\r
+//#endif\r
+//                        CDTXMania.DTX.tチップの再生( pChip, n再生開始システム時刻ms, 8, n音量, bモニタ, b音程をずらして再生 );\r
+//                        this.n最後に再生したギターの実WAV番号 = pChip.n整数値・内部番号;\r
+//                        return;\r
+\r
+//                    case E楽器パート.BASS:\r
+//#if TEST_NOTEOFFMODE // 2011.1.1 yyagi TEST\r
+//                        if (CDTXMania.DTX.bBASS演奏で直前のBASSを消音する) {\r
+//#endif\r
+//                            CDTXMania.DTX.tWavの再生停止(this.n最後に再生したベースの実WAV番号);\r
+//#if TEST_NOTEOFFMODE // 2011.1.1 yyagi TEST\r
+//                        }\r
+//#endif\r
+//                        CDTXMania.DTX.tチップの再生(pChip, n再生開始システム時刻ms, 9, n音量, bモニタ, b音程をずらして再生);\r
+//                        this.n最後に再生したベースの実WAV番号 = pChip.n整数値・内部番号;\r
+//                        return;\r
+//                }\r
+//            }\r
+//        }\r
                //private void tステータスパネルの選択()\r
                //{\r
                //    if( CDTXMania.bコンパクトモード )\r
@@ -949,202 +950,262 @@ namespace DTXMania
                //        this.actStatusPanels.tラベル名からステータスパネルを決定する( CDTXMania.stage選曲.r確定された曲.ar難易度ラベル[ CDTXMania.stage選曲.n確定された曲の難易度 ] );\r
                //    }\r
                //}\r
-               private E判定 tチップのヒット処理( long nHitTime, CDTX.CChip pChip )\r
+               protected override E判定 tチップのヒット処理( long nHitTime, CDTX.CChip pChip )\r
                {\r
-                       pChip.bHit = true;\r
-                       bool bIsAutoPlay = false;\r
-                       if( ( ( pChip.e楽器パート == E楽器パート.GUITAR ) && CDTXMania.ConfigIni.bAutoPlay.Guitar ) ||\r
-                               ( ( pChip.e楽器パート == E楽器パート.BASS ) && CDTXMania.ConfigIni.bAutoPlay.Bass ) )\r
-                       {\r
-                               bIsAutoPlay = true;\r
-                       }\r
-                       else\r
-                       {\r
-                               this.bAUTOでないチップが1つでもバーを通過した = true;\r
-                       }\r
-                       E判定 eJudgeResult = E判定.Auto;\r
-                       switch (pChip.e楽器パート)\r
-                       {\r
-                               case E楽器パート.GUITAR:\r
-                                       eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, bIsAutoPlay ? 0 : this.nInputAdjustTimeMs.Guitar );\r
-                                       this.actJudgeString.Start( 10, bIsAutoPlay ? E判定.Auto : eJudgeResult, pChip.nLag );\r
-                                       break;\r
+                       E判定 eJudgeResult = tチップのヒット処理( nHitTime, pChip, E楽器パート.GUITAR );\r
+                       return eJudgeResult;\r
+               }\r
+               //private E判定 tチップのヒット処理( long nHitTime, CDTX.CChip pChip )               // E楽器パート screenmode\r
+               //{\r
+               //    pChip.bHit = true;\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
+               //    {\r
+               //        bPChipIsAutoPlay = true;\r
+               //    }\r
+               //    else\r
+               //    {\r
+               //        this.bAUTOでないチップが1つでもバーを通過した = true;\r
+               //    }\r
+               //    E判定 eJudgeResult = E判定.Auto;\r
+               //    switch (pChip.e楽器パート)\r
+               //    {\r
+               //        case E楽器パート.DRUMS:\r
+               //            {\r
+               //                int nInputAdjustTime = bPChipIsAutoPlay ? 0 : this.nInputAdjustTimeMs.Drums;\r
+               //                eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
+               //                this.actJudgeString.Start( this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ], bPChipIsAutoPlay ? E判定.Auto : eJudgeResult, pChip.nLag );\r
+               //            }\r
+               //            break;\r
 \r
-                               case E楽器パート.BASS:\r
-                                       eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, bIsAutoPlay ? 0 : this.nInputAdjustTimeMs.Bass );\r
-                                       this.actJudgeString.Start( 11, bIsAutoPlay ? E判定.Auto : eJudgeResult, pChip.nLag );\r
-                                       break;\r
-                       }\r
-                       if( !bIsAutoPlay )\r
-                       {\r
-                               this.t判定にあわせてゲージを増減する( E楽器パート.GUITAR, pChip.e楽器パート, eJudgeResult );\r
-                       }\r
-                       int num = 0;\r
-                       switch( pChip.e楽器パート )\r
-                       {\r
-                               case E楽器パート.DRUMS:\r
-                                       switch (eJudgeResult)\r
-                                       {\r
-                                               case E判定.Miss:\r
-                                               case E判定.Bad:\r
-                                                       this.nヒット数・Auto含む.Drums.Miss++;\r
-                                                       break;\r
-                                               default:\r
-                                                       this.nヒット数・Auto含む.Drums[(int)eJudgeResult]++;\r
-                                                       break;\r
-                                       }\r
-                                       break;\r
+               //        case E楽器パート.GUITAR:\r
+               //            {\r
+               //                int nInputAdjustTime = bPChipIsAutoPlay ? 0 : this.nInputAdjustTimeMs.Guitar;\r
+               //                eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
+               //                this.actJudgeString.Start( 10, bPChipIsAutoPlay ? E判定.Auto : eJudgeResult, pChip.nLag );\r
+               //                break;\r
+               //            }\r
 \r
-                               case E楽器パート.GUITAR:\r
-                                       switch (eJudgeResult)\r
-                                       {\r
-                                               case E判定.Miss:\r
-                                               case E判定.Bad:\r
-                                                       this.nヒット数・Auto含む.Guitar.Miss++;\r
-                                                       if ( !bIsAutoPlay )\r
-                                                       {\r
-                                                               this.nヒット数・Auto含まない.Guitar.Miss++;\r
-                                                       }\r
-                                                       break;\r
-                                               default:        // #24068 2011.1.10 ikanick changed\r
-                                                                       // #24167 2011.1.16 yyagi changed\r
-                                                       this.nヒット数・Auto含む.Guitar[ (int) eJudgeResult ]++;\r
-                                                       if ( !bIsAutoPlay )\r
-                                                       {\r
-                                                               this.nヒット数・Auto含まない.Guitar[ (int) eJudgeResult ]++;\r
-                                                       }\r
-                                                       break;\r
-                                       }\r
-                                       switch (eJudgeResult)\r
-                                       {\r
-                                               case E判定.Perfect:\r
-                                               case E判定.Great:\r
-                                               case E判定.Good:\r
-                                                       this.actCombo.n現在のコンボ数.Guitar++;\r
-                                                       break;\r
+               //        case E楽器パート.BASS:\r
+               //            {\r
+               //                int nInputAdjustTime = bPChipIsAutoPlay ? 0 : this.nInputAdjustTimeMs.Bass;\r
+               //                eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
+               //                this.actJudgeString.Start( 11, bPChipIsAutoPlay ? E判定.Auto : eJudgeResult, pChip.nLag );\r
+               //            }\r
+               //            break;\r
+               //    }\r
+               //    if ( !bPChipIsAutoPlay && ( pChip.e楽器パート != E楽器パート.UNKNOWN ) )\r
+               //    {\r
+               //        this.t判定にあわせてゲージを増減する( E楽器パート.GUITAR, pChip.e楽器パート, eJudgeResult );\r
+               //    }\r
 \r
-                                               default:\r
-                                                       this.actCombo.n現在のコンボ数.Guitar = 0;\r
-                                                       break;\r
-                                       }\r
-                                       break;\r
+               //    switch( pChip.e楽器パート )\r
+               //    {\r
+               //        case E楽器パート.DRUMS:\r
+               //            switch ( eJudgeResult )\r
+               //            {\r
+               //                case E判定.Miss:\r
+               //                case E判定.Bad:\r
+               //                    this.nヒット数・Auto含む.Drums.Miss++;\r
+               //                    if ( !bPChipIsAutoPlay )\r
+               //                    {\r
+               //                        this.nヒット数・Auto含まない.Drums.Miss++;\r
+               //                    }\r
+               //                    break;\r
+               //                default:\r
+               //                    this.nヒット数・Auto含む.Drums[ (int) eJudgeResult ]++;\r
+               //                    if ( !bPChipIsAutoPlay )\r
+               //                    {\r
+               //                        this.nヒット数・Auto含まない.Drums[ (int) eJudgeResult ]++;\r
+               //                    }\r
+               //                    break;\r
+               //            }\r
 \r
-                               case E楽器パート.BASS:\r
-                                       switch( eJudgeResult )\r
-                                       {\r
-                                               case E判定.Miss:\r
-                                               case E判定.Bad:\r
-                                                       this.nヒット数・Auto含む.Bass.Miss++;\r
-                                                       if( !bIsAutoPlay )\r
-                                                       {\r
-                                                               this.nヒット数・Auto含まない.Bass.Miss++;\r
-                                                       }\r
-                                                       break;\r
-                                               default:     // #24068 2011.1.10 ikanick changed\r
-                                                       this.nヒット数・Auto含む.Bass[(int)eJudgeResult]++;\r
-                                                       if ( !bIsAutoPlay )\r
-                                                       {\r
-                                                               this.nヒット数・Auto含まない.Bass[ (int) eJudgeResult ]++;\r
-                                                       }\r
-                                                       break;\r
-                                       }\r
-                                       switch (eJudgeResult)\r
-                                       {\r
-                                               case E判定.Perfect:\r
-                                               case E判定.Great:\r
-                                               case E判定.Good:\r
-                                                       this.actCombo.n現在のコンボ数.Bass++;\r
-                                                       break;\r
+               //            if ( CDTXMania.ConfigIni.bドラムが全部オートプレイである || !bPChipIsAutoPlay )\r
+               //            {\r
+               //                switch ( eJudgeResult )\r
+               //                {\r
+               //                    case E判定.Perfect:\r
+               //                    case E判定.Great:\r
+               //                    case E判定.Good:\r
+               //                        this.actCombo.n現在のコンボ数.Drums++;\r
+               //                        break;\r
+\r
+               //                    default:\r
+               //                        this.actCombo.n現在のコンボ数.Drums = 0;\r
+               //                        break;\r
+               //                }\r
+               //            }\r
+               //            break;\r
 \r
-                                               default:\r
-                                                       this.actCombo.n現在のコンボ数.Bass = 0;\r
-                                                       break;\r
-                                       }\r
-                                       break;\r
+               //        case E楽器パート.GUITAR:\r
+               //            switch( eJudgeResult )\r
+               //            {\r
+               //                case E判定.Miss:\r
+               //                case E判定.Bad:\r
+               //                    this.nヒット数・Auto含む.Guitar.Miss++;\r
+               //                    if ( !bPChipIsAutoPlay )\r
+               //                    {\r
+               //                        this.nヒット数・Auto含まない.Guitar.Miss++;\r
+               //                    }\r
+               //                    break;\r
+               //                default:      // #24068 2011.1.10 ikanick changed\r
+               //                            // #24167 2011.1.16 yyagi changed\r
+               //                    this.nヒット数・Auto含む.Guitar[ (int) eJudgeResult ]++;\r
+               //                    if ( !bPChipIsAutoPlay )\r
+               //                    {\r
+               //                        this.nヒット数・Auto含まない.Guitar[ (int) eJudgeResult ]++;\r
+               //                    }\r
+               //                    break;\r
+               //            }\r
+               //            switch (eJudgeResult)\r
+               //            {\r
+               //                case E判定.Perfect:\r
+               //                case E判定.Great:\r
+               //                case E判定.Good:\r
+               //                    this.actCombo.n現在のコンボ数.Guitar++;\r
+               //                    break;\r
 \r
-                               default:\r
-                                       break;\r
-                       }\r
-                       if( ( !bIsAutoPlay && ( eJudgeResult != E判定.Miss ) ) && ( eJudgeResult != E判定.Bad ) )\r
-                       {\r
-                               int nCombos = 0;\r
-                               switch ( pChip.e楽器パート )\r
-                               {\r
-                                       case E楽器パート.GUITAR:\r
-                                               nCombos = this.actCombo.n現在のコンボ数.Guitar;\r
-                                               break;\r
-                                       case E楽器パート.BASS:\r
-                                               nCombos = this.actCombo.n現在のコンボ数.Bass;\r
-                                               break;\r
-                               }\r
-                               long nScore = this.actScore.Get( pChip.e楽器パート );\r
-                               long[] numArray = new long[] { 350L, 200L, 50L, 0L };\r
-                               if( ( nCombos <= 500 ) || ( eJudgeResult == E判定.Good ) )\r
-                               {\r
-                                       nScore += numArray[ (int) eJudgeResult ] * nCombos;\r
-                               }\r
-                               else if( ( eJudgeResult == E判定.Perfect ) || ( eJudgeResult == E判定.Great ) )\r
-                               {\r
-                                       nScore += numArray[ (int) eJudgeResult ] * 500L;\r
-                               }\r
-                               this.actScore.Set( pChip.e楽器パート, nScore );\r
-                       }\r
-                       return eJudgeResult;\r
-               }\r
-               private void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part )\r
+               //                default:\r
+               //                    this.actCombo.n現在のコンボ数.Guitar = 0;\r
+               //                    break;\r
+               //            }\r
+               //            break;\r
+\r
+               //        case E楽器パート.BASS:\r
+               //            switch( eJudgeResult )\r
+               //            {\r
+               //                case E判定.Miss:\r
+               //                case E判定.Bad:\r
+               //                    this.nヒット数・Auto含む.Bass.Miss++;\r
+               //                    if( !bPChipIsAutoPlay )\r
+               //                    {\r
+               //                        this.nヒット数・Auto含まない.Bass.Miss++;\r
+               //                    }\r
+               //                    break;\r
+               //                default:      // #24068 2011.1.10 ikanick changed\r
+               //                    this.nヒット数・Auto含む.Bass[ (int) eJudgeResult ]++;\r
+               //                    if ( !bPChipIsAutoPlay )\r
+               //                    {\r
+               //                        this.nヒット数・Auto含まない.Bass[ (int) eJudgeResult ]++;\r
+               //                    }\r
+               //                    break;\r
+               //            }\r
+\r
+               //            switch( eJudgeResult )\r
+               //            {\r
+               //                case E判定.Perfect:\r
+               //                case E判定.Great:\r
+               //                case E判定.Good:\r
+               //                    this.actCombo.n現在のコンボ数.Bass++;\r
+               //                    break;\r
+\r
+               //                default:\r
+               //                    this.actCombo.n現在のコンボ数.Bass = 0;\r
+               //                    break;\r
+               //            }\r
+               //            break;\r
+\r
+               //        default:\r
+               //            break;\r
+               //    }\r
+               //    if( ( !bPChipIsAutoPlay && ( pChip.e楽器パート != E楽器パート.UNKNOWN ) ) && ( eJudgeResult != E判定.Miss ) && ( eJudgeResult != E判定.Bad ) )\r
+               //    {\r
+               //        int nCombos = 0;\r
+               //        switch ( pChip.e楽器パート )\r
+               //        {\r
+               //            case E楽器パート.DRUMS:\r
+               //                nCombos = this.actCombo.n現在のコンボ数.Drums;\r
+               //                break;\r
+               //            case E楽器パート.GUITAR:\r
+               //                nCombos = this.actCombo.n現在のコンボ数.Guitar;\r
+               //                break;\r
+               //            case E楽器パート.BASS:\r
+               //                nCombos = this.actCombo.n現在のコンボ数.Bass;\r
+               //                break;\r
+               //        }\r
+               //        long nScore = this.actScore.Get( pChip.e楽器パート );\r
+               //        long[] numArray = new long[] { 350L, 200L, 50L, 0L };\r
+               //        if( ( nCombos <= 500 ) || ( eJudgeResult == E判定.Good ) )\r
+               //        {\r
+               //            nScore += numArray[ (int) eJudgeResult ] * nCombos;\r
+               //        }\r
+               //        else if( ( eJudgeResult == E判定.Perfect ) || ( eJudgeResult == E判定.Great ) )\r
+               //        {\r
+               //            nScore += numArray[ (int) eJudgeResult ] * 500L;\r
+               //        }\r
+               //        this.actScore.Set( pChip.e楽器パート, nScore );\r
+               //    }\r
+               //    return eJudgeResult;\r
+               //}\r
+               protected override void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part )\r
                {\r
-                       this.tチップのヒット処理・BadならびにTight時のMiss( part, 0 );\r
+                       this.tチップのヒット処理・BadならびにTight時のMiss( part, 0, E楽器パート.GUITAR );\r
                }\r
-               private void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part, int nLane )\r
+               protected override void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part, int nLane )\r
                {\r
-                       this.t判定にあわせてゲージを増減する( E楽器パート.GUITAR, part, E判定.Miss );\r
-                       switch( part )\r
-                       {\r
-                               case E楽器パート.DRUMS:\r
-                                       break;\r
+                       this.tチップのヒット処理・BadならびにTight時のMiss( part, nLane, E楽器パート.GUITAR );\r
+               }\r
+               //private void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part )\r
+               //{\r
+               //    this.tチップのヒット処理・BadならびにTight時のMiss( part, 0 );\r
+               //}\r
+               //private void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part, int nLane )\r
+               //{\r
+               //    this.bAUTOでないチップが1つでもバーを通過した = true;\r
+               //    this.t判定にあわせてゲージを増減する( E楽器パート.GUITAR, part, E判定.Miss );\r
+               //    switch( part )\r
+               //    {\r
+               //        case E楽器パート.DRUMS:\r
+               //            break;\r
 \r
-                               case E楽器パート.GUITAR:\r
-                                       this.actJudgeString.Start( 10, E判定.Bad, 999 );\r
-                                       this.actCombo.n現在のコンボ数.Guitar = 0;\r
-                                       return;\r
+               //        case E楽器パート.GUITAR:\r
+               //            this.actJudgeString.Start( 10, E判定.Bad, 999 );\r
+               //            this.actCombo.n現在のコンボ数.Guitar = 0;\r
+               //            return;\r
 \r
-                               case E楽器パート.BASS:\r
-                                       this.actJudgeString.Start( 11, E判定.Bad, 999 );\r
-                                       this.actCombo.n現在のコンボ数.Bass = 0;\r
-                                       break;\r
+               //        case E楽器パート.BASS:\r
+               //            this.actJudgeString.Start( 11, E判定.Bad, 999 );\r
+               //            this.actCombo.n現在のコンボ数.Bass = 0;\r
+               //            break;\r
 \r
-                               default:\r
-                                       return;\r
-                       }\r
-               }\r
-               //private void tパネル文字列の設定()\r
-               //{\r
-               //    this.actPanel.SetPanelString( string.IsNullOrEmpty( CDTXMania.DTX.PANEL ) ? CDTXMania.DTX.TITLE : CDTXMania.DTX.PANEL );\r
+               //        default:\r
+               //            return;\r
+               //    }\r
                //}\r
+               ////private void tパネル文字列の設定()\r
+               ////{\r
+               ////    this.actPanel.SetPanelString( string.IsNullOrEmpty( CDTXMania.DTX.PANEL ) ? CDTXMania.DTX.TITLE : CDTXMania.DTX.PANEL );\r
+               ////}\r
                protected override void t進行描画・AVI()\r
                {\r
-                       base.t進行描画・AVI( 0xb5, 50 );\r
+                   base.t進行描画・AVI( 0xb5, 50 );\r
                }\r
                protected override void t進行描画・BGA()\r
                {\r
-                       base.t進行描画・BGA( 0xb5, 50 );\r
+                   base.t進行描画・BGA( 0xb5, 50 );\r
                }\r
-               private void t進行描画・DANGER()\r
+               protected override void t進行描画・DANGER()\r
                {\r
                }\r
-               //private void t進行描画・MIDIBGM()\r
-               //{\r
-               //    if( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED )\r
-               //    {\r
-               //        CStage.Eフェーズ eフェーズid1 = base.eフェーズID;\r
-               //    }\r
-               //}\r
+               ////private void t進行描画・MIDIBGM()\r
+               ////{\r
+               ////    if( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED )\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
+                   if( CDTXMania.ConfigIni.eDark != Eダークモード.FULL )\r
+                   {\r
+                       this.actRGB.On進行描画();\r
+                   }\r
                }\r
                //private void t進行描画・STAGEFAILED()\r
                //{\r
@@ -1169,7 +1230,7 @@ namespace DTXMania
                                CDTXMania.ConfigIni.bReverse.Bass ?   340 : 11\r
                        );\r
                }\r
-               private void t進行描画・ギターベース判定ライン()\r
+               private void t進行描画・ギターベース判定ライン()        // yyagi: ドラム画面とは座標が違うだけですが、まとめづらかったのでそのまま放置してます。\r
                {\r
                        if ( ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) && CDTXMania.ConfigIni.bGuitar有効 )\r
                        {\r
@@ -1186,12 +1247,12 @@ namespace DTXMania
                                }\r
                                if ( CDTXMania.DTX.bチップがある.Bass )\r
                                {\r
-                                       int num3 = ( CDTXMania.ConfigIni.bReverse.Bass ? 0x171 : 40 ) - 3;\r
+                                       int y = ( CDTXMania.ConfigIni.bReverse.Bass ? 0x171 : 40 ) - 3;\r
                                        for ( int j = 0; j < 4; j++ )\r
                                        {\r
                                                if ( this.txヒットバー != null )\r
                                                {\r
-                                                       this.txヒットバー.t2D描画( CDTXMania.app.Device, 0x1dd + ( 0x1c * j ), num3, new Rectangle( 0, j * 8, 0x1c, 8 ) );\r
+                                                       this.txヒットバー.t2D描画( CDTXMania.app.Device, 0x1dd + ( 0x1c * j ), y, new Rectangle( 0, j * 8, 0x1c, 8 ) );\r
                                                }\r
                                        }\r
                                }\r
@@ -1212,10 +1273,10 @@ namespace DTXMania
                //{\r
                //    this.actScore.On進行描画();\r
                //}\r
-               private void t進行描画・ステータスパネル()\r
-               {\r
-                       this.actStatusPanels.On進行描画();\r
-               }\r
+               //private void t進行描画・ステータスパネル()\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
@@ -1226,8 +1287,8 @@ namespace DTXMania
                        {\r
                                return true;\r
                        }\r
-                       int num = this.n現在のトップChip;\r
-                       if( num == -1 )\r
+                       int nCurrentTopChip = this.n現在のトップChip;\r
+                       if( nCurrentTopChip == -1 )\r
                        {\r
                                return true;\r
                        }\r
@@ -1235,43 +1296,43 @@ namespace DTXMania
                        //double speed = 264.0; // BPM150の時の1小節の長さ[dot]\r
                        double speed = 234.0;   // BPM150の時の1小節の長さ[dot]\r
 \r
-                       double num2 = ( ( ( ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Drums + 1.0 ) * 0.5 ) * 37.5 ) * speed ) / 60000.0;\r
-                       double num3 = ( ( ( ( ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Guitar + 1.0 ) * 0.5 ) * 0.5 ) * 37.5 ) * speed ) / 60000.0;\r
-                       double num4 = ( ( ( ( ( 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( num < dTX.listChip.Count )\r
+                       while( nCurrentTopChip < dTX.listChip.Count )\r
                        {\r
-                               CDTX.CChip pChip = dTX.listChip[ num ];\r
-                               pChip.nバーからの距離dot.Drums = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * num2 );\r
-                               pChip.nバーからの距離dot.Guitar = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * num3 );\r
-                               pChip.nバーからの距離dot.Bass = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * num4 );\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( ( ( num == this.n現在のトップChip ) && ( pChip.nバーからの距離dot.Drums < -65 ) ) && pChip.bHit )\r
+                               if( ( ( nCurrentTopChip == this.n現在のトップChip ) && ( pChip.nバーからの距離dot.Drums < -65 ) ) && pChip.bHit )\r
                                {\r
                                        this.n現在のトップChip++;\r
-                                       num = this.n現在のトップChip;\r
+                                       nCurrentTopChip = this.n現在のトップChip;\r
                                        continue;\r
                                }\r
 \r
-                               bool bIsAutoPlay = false;\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
+//                             if ((pChip.e楽器パート == E楽器パート.DRUMS) && CDTXMania.ConfigIni.bAutoPlay[this.nチャンネル0Atoレーン07[pChip.nチャンネル番号 - 0x11]])\r
                                {\r
-                                       bIsAutoPlay = true;\r
+                                       bPChipIsAutoPlay = true;\r
                                }\r
 \r
                                int nInputAdjustTime = 0;\r
-                               if (bIsAutoPlay)\r
+                               if (bPChipIsAutoPlay)\r
                                {\r
                                        //nInputAdjustTime = 0;\r
                                }\r
@@ -1281,19 +1342,17 @@ namespace DTXMania
                                }\r
                                else\r
                                {\r
-                                       //int[] nInputAdjustTimes = new int[] { this.nInputAdjustTimeMs.Drums, this.nInputAdjustTimeMs.Guitar, this.nInputAdjustTimeMs.Bass };\r
-                                       //nInputAdjustTime = nInputAdjustTimes[(int)pChip.e楽器パート];\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
+                                       ( ( 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 1:\r
+                                       case 0x01:      // BGM\r
                                                if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
                                                {\r
                                                        pChip.bHit = true;\r
@@ -1304,7 +1363,7 @@ namespace DTXMania
                                                }\r
                                                break;\r
 \r
-                                       case 3:\r
+                                       case 0x03:      // BPM変更\r
                                                if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
                                                {\r
                                                        pChip.bHit = true;\r
@@ -1312,8 +1371,8 @@ namespace DTXMania
                                                }\r
                                                break;\r
 \r
-                                       case 4:\r
-                                       case 7:\r
+                                       case 0x04:      // レイヤーBGA\r
+                                       case 0x07:\r
                                        case 0x55:\r
                                        case 0x56:\r
                                        case 0x57:\r
@@ -1359,7 +1418,7 @@ namespace DTXMania
                                                }\r
                                                break;\r
 \r
-                                       case 8:\r
+                                       case 0x08:      // BPM変更(拡張)\r
                                                if( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
                                                {\r
                                                        pChip.bHit = true;\r
@@ -1370,7 +1429,7 @@ namespace DTXMania
                                                }\r
                                                break;\r
 \r
-                                       case 0x11:\r
+                                       case 0x11:      // ドラム演奏\r
                                        case 0x12:\r
                                        case 0x13:\r
                                        case 0x14:\r
@@ -1381,7 +1440,7 @@ namespace DTXMania
                                        case 0x19:\r
                                        case 0x1a:\r
                                                {\r
-                                                       int num1 = this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ];\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
@@ -1471,15 +1530,15 @@ namespace DTXMania
                                                                pChip.bHit = true;\r
                                                                if( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) || ( pChip.nチャンネル番号 == 0x20 ) )\r
                                                                {\r
-                                                                       this.actChipFire.Start( 0 );\r
+                                                                       this.actChipFireGB.Start( 0 );\r
                                                                }\r
                                                                if( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) || ( pChip.nチャンネル番号 == 0x20 ) )\r
                                                                {\r
-                                                                       this.actChipFire.Start( 1 );\r
+                                                                       this.actChipFireGB.Start( 1 );\r
                                                                }\r
                                                                if( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) || ( pChip.nチャンネル番号 == 0x20 ) )\r
                                                                {\r
-                                                                       this.actChipFire.Start( 2 );\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
@@ -1758,15 +1817,15 @@ namespace DTXMania
                                                                pChip.bHit = true;\r
                                                                if( ( ( pChip.nチャンネル番号 & 4 ) != 0 ) || ( pChip.nチャンネル番号 == 160 ) )\r
                                                                {\r
-                                                                       this.actChipFire.Start( 3 );\r
+                                                                       this.actChipFireGB.Start( 3 );\r
                                                                }\r
                                                                if( ( ( pChip.nチャンネル番号 & 2 ) != 0 ) || ( pChip.nチャンネル番号 == 160 ) )\r
                                                                {\r
-                                                                       this.actChipFire.Start( 4 );\r
+                                                                       this.actChipFireGB.Start( 4 );\r
                                                                }\r
                                                                if( ( ( pChip.nチャンネル番号 & 1 ) != 0 ) || ( pChip.nチャンネル番号 == 160 ) )\r
                                                                {\r
-                                                                       this.actChipFire.Start( 5 );\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
@@ -1905,7 +1964,7 @@ namespace DTXMania
                                                break;\r
                                }\r
 \r
-                               num++;\r
+                               nCurrentTopChip++;\r
                        }\r
                        return false;\r
                }\r
@@ -1917,10 +1976,10 @@ namespace DTXMania
                //    }\r
                //    this.ctWailingチップ模様アニメ.t進行Loop();\r
                //}\r
-               private void t進行描画・チップファイアGB()\r
-               {\r
-                       this.actChipFire.On進行描画();\r
-               }\r
+               //private void t進行描画・チップファイアGB()\r
+               //{\r
+               //    this.actChipFireGB.On進行描画();\r
+               //}\r
                protected override void t進行描画・パネル文字列()\r
                {\r
                        base.t進行描画・パネル文字列( 0xb5, 430 );\r
@@ -1953,13 +2012,13 @@ namespace DTXMania
                //    }\r
                //    return false;\r
                //}\r
-               private void t進行描画・レーンフラッシュGB()\r
-               {\r
-                       if( ( ( CDTXMania.ConfigIni.eDark != Eダークモード.HALF ) && ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) ) && CDTXMania.ConfigIni.bGuitar有効 )\r
-                       {\r
-                               this.actLaneFlushGB.On進行描画();\r
-                       }\r
-               }\r
+               //private void t進行描画・レーンフラッシュGB()\r
+               //{\r
+               //    if( ( ( CDTXMania.ConfigIni.eDark != Eダークモード.HALF ) && ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) ) && CDTXMania.ConfigIni.bGuitar有効 )\r
+               //    {\r
+               //        this.actLaneFlushGB.On進行描画();\r
+               //    }\r
+               //}\r
                protected override void t進行描画・演奏情報()\r
                {\r
                        base.t進行描画・演奏情報( 0xb5, 50 );\r
@@ -2020,276 +2079,276 @@ namespace DTXMania
                {\r
                        // ギタレボモードでは何もしない\r
                }\r
-               protected override void t入力処理・ギター()\r
-               {\r
-                       if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.B ) )\r
-                       {\r
-                               CDTXMania.ConfigIni.n譜面スクロール速度.Guitar = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Guitar + 1, 0x7cf );\r
-                       }\r
-                       if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.R ) )\r
-                       {\r
-                               CDTXMania.ConfigIni.n譜面スクロール速度.Guitar = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Guitar - 1, 0 );\r
-                       }\r
+               //protected override void t入力処理・ギター()\r
+               //{\r
+               //    if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.B ) )\r
+               //    {\r
+               //        CDTXMania.ConfigIni.n譜面スクロール速度.Guitar = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Guitar + 1, 0x7cf );\r
+               //    }\r
+               //    if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.R ) )\r
+               //    {\r
+               //        CDTXMania.ConfigIni.n譜面スクロール速度.Guitar = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Guitar - 1, 0 );\r
+               //    }\r
 \r
-                       if ( CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Guitar )\r
-                       {\r
-                               if( bIsAutoPlay.Guitar )\r
-                               {\r
-                                       CDTX.CChip chip = this.r次にくるギターChipを更新して返す();\r
-                                       if( chip != null )\r
-                                       {\r
-                                               if( ( chip.nチャンネル番号 & 4 ) != 0 )\r
-                                               {\r
-                                                       this.actLaneFlushGB.Start( 0 );\r
-                                                       this.actRGB.Push( 0 );\r
-                                               }\r
-                                               if( ( chip.nチャンネル番号 & 2 ) != 0 )\r
-                                               {\r
-                                                       this.actLaneFlushGB.Start( 1 );\r
-                                                       this.actRGB.Push( 1 );\r
-                                               }\r
-                                               if( ( chip.nチャンネル番号 & 1 ) != 0 )\r
-                                               {\r
-                                                       this.actLaneFlushGB.Start( 2 );\r
-                                                       this.actRGB.Push( 2 );\r
-                                               }\r
-                                       }\r
-                               }\r
-                               else\r
-                               {\r
-                                       int flagR = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.R ) ? 4 : 0;\r
-                                       this.t入力メソッド記憶( E楽器パート.GUITAR );\r
-                                       int flagG = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.G ) ? 2 : 0;\r
-                                       this.t入力メソッド記憶( E楽器パート.GUITAR );\r
-                                       int flagB = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.B ) ? 1 : 0;\r
-                                       this.t入力メソッド記憶( E楽器パート.GUITAR );\r
-                                       int flagRGB = flagR | flagG | flagB;\r
-                                       if( flagR != 0 )\r
-                                       {\r
-                                               this.actLaneFlushGB.Start( 0 );\r
-                                               this.actRGB.Push( 0 );\r
-                                       }\r
-                                       if( flagG != 0 )\r
-                                       {\r
-                                               this.actLaneFlushGB.Start( 1 );\r
-                                               this.actRGB.Push( 1 );\r
-                                       }\r
-                                       if( flagB != 0 )\r
-                                       {\r
-                                               this.actLaneFlushGB.Start( 2 );\r
-                                               this.actRGB.Push( 2 );\r
-                                       }\r
-                                       List<STInputEvent> events = CDTXMania.Pad.GetEvents( E楽器パート.GUITAR, Eパッド.Pick );\r
-                                       if( ( events != null ) && ( events.Count > 0 ) )\r
-                                       {\r
-                                               foreach( STInputEvent event2 in events )\r
-                                               {\r
-                                                       CDTX.CChip chip4;\r
-                                                       if( !event2.b押された )\r
-                                                       {\r
-                                                               continue;\r
-                                                       }\r
-                                                       this.t入力メソッド記憶( E楽器パート.GUITAR );\r
-                                                       long nTime = event2.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
-                                                       CDTX.CChip pChip = this.r指定時刻に一番近い未ヒットChip( nTime, 0x2f, this.nInputAdjustTimeMs.Guitar, 0 );\r
-                                                       E判定 e判定 = this.e指定時刻からChipのJUDGEを返す(nTime, pChip, this.nInputAdjustTimeMs.Guitar );\r
-                                                       if (((pChip != null) && ((pChip.nチャンネル番号 & 15) == flagRGB)) && (e判定 != E判定.Miss))\r
-                                                       {\r
-                                                               if( ( flagR != 0 ) || ( flagRGB == 0 ) )\r
-                                                               {\r
-                                                                       this.actChipFire.Start( 0 );\r
-                                                               }\r
-                                                               if( ( flagG != 0 ) || ( flagRGB == 0 ) )\r
-                                                               {\r
-                                                                       this.actChipFire.Start( 1 );\r
-                                                               }\r
-                                                               if( ( flagB != 0 ) || ( flagRGB == 0 ) )\r
-                                                               {\r
-                                                                       this.actChipFire.Start( 2 );\r
-                                                               }\r
-                                                               this.tチップのヒット処理( nTime, pChip );\r
-                                                               this.tサウンド再生( pChip, CDTXMania.Timer.nシステム時刻, E楽器パート.GUITAR, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Guitar, e判定 == E判定.Poor );\r
-                                                               CDTX.CChip item = this.r指定時刻に一番近い未ヒットChip( nTime, 40, this.nInputAdjustTimeMs.Guitar, 140 );\r
-                                                               if( item != null )\r
-                                                               {\r
-                                                                       this.queWailing.Guitar.Enqueue( item );\r
-                                                               }\r
-                                                               continue;\r
-                                                       }\r
-                                                       if( ( ( chip4 = this.r現在の空うちギターChip ) != null ) || ( ( chip4 = this.r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( nTime, 0x2f, this.nInputAdjustTimeMs.Guitar ) ) != null ) )\r
-                                                       {\r
-                                                               this.tサウンド再生( chip4, CDTXMania.Timer.nシステム時刻, E楽器パート.GUITAR, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Guitar, true );\r
-                                                       }\r
-                                                       if( !CDTXMania.ConfigIni.bLight.Guitar )\r
-                                                       {\r
-                                                               this.tチップのヒット処理・BadならびにTight時のMiss( E楽器パート.GUITAR );\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                                       List<STInputEvent> list2 = CDTXMania.Pad.GetEvents( E楽器パート.GUITAR, Eパッド.Wail );\r
-                                       if( ( list2 != null ) && ( list2.Count > 0 ) )\r
-                                       {\r
-                                               foreach( STInputEvent event3 in list2 )\r
-                                               {\r
-                                                       CDTX.CChip chip5;\r
-                                                       if( !event3.b押された )\r
-                                                       {\r
-                                                               continue;\r
-                                                       }\r
-                                                       long num6 = event3.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
-                                                       while( ( this.queWailing.Guitar.Count > 0 ) && ( ( chip5 = this.queWailing.Guitar.Dequeue() ) != null ) )\r
-                                                       {\r
-                                                               if( ( num6 - chip5.n発声時刻ms ) <= 1000 )          // #24245 2011.1.26 yyagi: 800 -> 1000\r
-                                                               {\r
-                                                                       chip5.bHit = true;\r
-                                                                       this.actWailingBonus.Start( E楽器パート.GUITAR, this.r現在の歓声Chip.Guitar );\r
-                                                                       if( !bIsAutoPlay.Guitar )\r
-                                                                       {\r
-                                                                               int nCombo = ( this.actCombo.n現在のコンボ数.Guitar < 500 ) ? this.actCombo.n現在のコンボ数.Guitar : 500;\r
-                                                                               this.actScore.Set( E楽器パート.GUITAR, this.actScore.Get( E楽器パート.GUITAR ) + ( nCombo * 3000L ) );                // #24245 2011.1.26 yyagi changed DRUMS->GUITAR, add nCombo conditions\r
-                                                                       }\r
-                                                               }\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               protected override void t入力処理・ベース()\r
-               {\r
-                       if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.B ) )\r
-                       {\r
-                               CDTXMania.ConfigIni.n譜面スクロール速度.Bass = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Bass + 1, 0x7cf );\r
-                       }\r
-                       if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.R ) )\r
-                       {\r
-                               CDTXMania.ConfigIni.n譜面スクロール速度.Bass = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Bass - 1, 0 );\r
-                       }\r
+               //    if ( CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Guitar )\r
+               //    {\r
+               //        if( bIsAutoPlay.Guitar )\r
+               //        {\r
+               //            CDTX.CChip chip = this.r次にくるギターChipを更新して返す();\r
+               //            if( chip != null )\r
+               //            {\r
+               //                if( ( chip.nチャンネル番号 & 4 ) != 0 )\r
+               //                {\r
+               //                    this.actLaneFlushGB.Start( 0 );\r
+               //                    this.actRGB.Push( 0 );\r
+               //                }\r
+               //                if( ( chip.nチャンネル番号 & 2 ) != 0 )\r
+               //                {\r
+               //                    this.actLaneFlushGB.Start( 1 );\r
+               //                    this.actRGB.Push( 1 );\r
+               //                }\r
+               //                if( ( chip.nチャンネル番号 & 1 ) != 0 )\r
+               //                {\r
+               //                    this.actLaneFlushGB.Start( 2 );\r
+               //                    this.actRGB.Push( 2 );\r
+               //                }\r
+               //            }\r
+               //        }\r
+               //        else\r
+               //        {\r
+               //            int flagR = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.R ) ? 4 : 0;\r
+               //            this.t入力メソッド記憶( E楽器パート.GUITAR );\r
+               //            int flagG = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.G ) ? 2 : 0;\r
+               //            this.t入力メソッド記憶( E楽器パート.GUITAR );\r
+               //            int flagB = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.B ) ? 1 : 0;\r
+               //            this.t入力メソッド記憶( E楽器パート.GUITAR );\r
+               //            int flagRGB = flagR | flagG | flagB;\r
+               //            if( flagR != 0 )\r
+               //            {\r
+               //                this.actLaneFlushGB.Start( 0 );\r
+               //                this.actRGB.Push( 0 );\r
+               //            }\r
+               //            if( flagG != 0 )\r
+               //            {\r
+               //                this.actLaneFlushGB.Start( 1 );\r
+               //                this.actRGB.Push( 1 );\r
+               //            }\r
+               //            if( flagB != 0 )\r
+               //            {\r
+               //                this.actLaneFlushGB.Start( 2 );\r
+               //                this.actRGB.Push( 2 );\r
+               //            }\r
+               //            List<STInputEvent> events = CDTXMania.Pad.GetEvents( E楽器パート.GUITAR, Eパッド.Pick );\r
+               //            if( ( events != null ) && ( events.Count > 0 ) )\r
+               //            {\r
+               //                foreach( STInputEvent event2 in events )\r
+               //                {\r
+               //                    CDTX.CChip chip4;\r
+               //                    if( !event2.b押された )\r
+               //                    {\r
+               //                        continue;\r
+               //                    }\r
+               //                    this.t入力メソッド記憶( E楽器パート.GUITAR );\r
+               //                    long nTime = event2.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
+               //                    CDTX.CChip pChip = this.r指定時刻に一番近い未ヒットChip( nTime, 0x2f, this.nInputAdjustTimeMs.Guitar, 0 );\r
+               //                    E判定 e判定 = this.e指定時刻からChipのJUDGEを返す(nTime, pChip, this.nInputAdjustTimeMs.Guitar );\r
+               //                    if (((pChip != null) && ((pChip.nチャンネル番号 & 15) == flagRGB)) && (e判定 != E判定.Miss))\r
+               //                    {\r
+               //                        if( ( flagR != 0 ) || ( flagRGB == 0 ) )\r
+               //                        {\r
+               //                            this.actChipFireGB.Start( 0 );\r
+               //                        }\r
+               //                        if( ( flagG != 0 ) || ( flagRGB == 0 ) )\r
+               //                        {\r
+               //                            this.actChipFireGB.Start( 1 );\r
+               //                        }\r
+               //                        if( ( flagB != 0 ) || ( flagRGB == 0 ) )\r
+               //                        {\r
+               //                            this.actChipFireGB.Start( 2 );\r
+               //                        }\r
+               //                        this.tチップのヒット処理( nTime, pChip );\r
+               //                        this.tサウンド再生( pChip, CDTXMania.Timer.nシステム時刻, E楽器パート.GUITAR, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Guitar, e判定 == E判定.Poor );\r
+               //                        CDTX.CChip item = this.r指定時刻に一番近い未ヒットChip( nTime, 40, this.nInputAdjustTimeMs.Guitar, 140 );\r
+               //                        if( item != null )\r
+               //                        {\r
+               //                            this.queWailing.Guitar.Enqueue( item );\r
+               //                        }\r
+               //                        continue;\r
+               //                    }\r
+               //                    if( ( ( chip4 = this.r現在の空うちギターChip ) != null ) || ( ( chip4 = this.r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( nTime, 0x2f, this.nInputAdjustTimeMs.Guitar ) ) != null ) )\r
+               //                    {\r
+               //                        this.tサウンド再生( chip4, CDTXMania.Timer.nシステム時刻, E楽器パート.GUITAR, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Guitar, true );\r
+               //                    }\r
+               //                    if( !CDTXMania.ConfigIni.bLight.Guitar )\r
+               //                    {\r
+               //                        this.tチップのヒット処理・BadならびにTight時のMiss( E楽器パート.GUITAR );\r
+               //                    }\r
+               //                }\r
+               //            }\r
+               //            List<STInputEvent> list2 = CDTXMania.Pad.GetEvents( E楽器パート.GUITAR, Eパッド.Wail );\r
+               //            if( ( list2 != null ) && ( list2.Count > 0 ) )\r
+               //            {\r
+               //                foreach( STInputEvent event3 in list2 )\r
+               //                {\r
+               //                    CDTX.CChip chip5;\r
+               //                    if( !event3.b押された )\r
+               //                    {\r
+               //                        continue;\r
+               //                    }\r
+               //                    long num6 = event3.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
+               //                    while( ( this.queWailing.Guitar.Count > 0 ) && ( ( chip5 = this.queWailing.Guitar.Dequeue() ) != null ) )\r
+               //                    {\r
+               //                        if( ( num6 - chip5.n発声時刻ms ) <= 1000 )                // #24245 2011.1.26 yyagi: 800 -> 1000\r
+               //                        {\r
+               //                            chip5.bHit = true;\r
+               //                            this.actWailingBonus.Start( E楽器パート.GUITAR, this.r現在の歓声Chip.Guitar );\r
+               //                            if( !bIsAutoPlay.Guitar )\r
+               //                            {\r
+               //                                int nCombo = ( this.actCombo.n現在のコンボ数.Guitar < 500 ) ? this.actCombo.n現在のコンボ数.Guitar : 500;\r
+               //                                this.actScore.Set( E楽器パート.GUITAR, this.actScore.Get( E楽器パート.GUITAR ) + ( nCombo * 3000L ) );              // #24245 2011.1.26 yyagi changed DRUMS->GUITAR, add nCombo conditions\r
+               //                            }\r
+               //                        }\r
+               //                    }\r
+               //                }\r
+               //            }\r
+               //        }\r
+               //    }\r
+               //}\r
+               //protected override void t入力処理・ベース()\r
+               //{\r
+               //    if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.B ) )\r
+               //    {\r
+               //        CDTXMania.ConfigIni.n譜面スクロール速度.Bass = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Bass + 1, 0x7cf );\r
+               //    }\r
+               //    if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.R ) )\r
+               //    {\r
+               //        CDTXMania.ConfigIni.n譜面スクロール速度.Bass = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Bass - 1, 0 );\r
+               //    }\r
 \r
-                       if ( CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Bass )\r
-                       {\r
-                               if( bIsAutoPlay.Bass )\r
-                               {\r
-                                       CDTX.CChip chip = this.r次にくるベースChipを更新して返す();\r
-                                       if( chip != null )\r
-                                       {\r
-                                               if( ( chip.nチャンネル番号 & 4 ) != 0 )\r
-                                               {\r
-                                                       this.actLaneFlushGB.Start( 3 );\r
-                                                       this.actRGB.Push( 3 );\r
-                                               }\r
-                                               if( ( chip.nチャンネル番号 & 2 ) != 0 )\r
-                                               {\r
-                                                       this.actLaneFlushGB.Start( 4 );\r
-                                                       this.actRGB.Push( 4 );\r
-                                               }\r
-                                               if( ( chip.nチャンネル番号 & 1 ) != 0 )\r
-                                               {\r
-                                                       this.actLaneFlushGB.Start( 5 );\r
-                                                       this.actRGB.Push( 5 );\r
-                                               }\r
-                                       }\r
-                               }\r
-                               else\r
-                               {\r
-                                       int flagR = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.R ) ? 4 : 0;\r
-                                       this.t入力メソッド記憶( E楽器パート.BASS );\r
-                                       int flagG = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.G ) ? 2 : 0;\r
-                                       this.t入力メソッド記憶( E楽器パート.BASS );\r
-                                       int flagB = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.B ) ? 1 : 0;\r
-                                       this.t入力メソッド記憶( E楽器パート.BASS );\r
-                                       int flagRGB = flagR | flagG | flagB;\r
-                                       if( flagR != 0 )\r
-                                       {\r
-                                               this.actLaneFlushGB.Start( 3 );\r
-                                               this.actRGB.Push( 3 );\r
-                                       }\r
-                                       if( flagG != 0 )\r
-                                       {\r
-                                               this.actLaneFlushGB.Start( 4 );\r
-                                               this.actRGB.Push( 4 );\r
-                                       }\r
-                                       if( flagB != 0 )\r
-                                       {\r
-                                               this.actLaneFlushGB.Start( 5 );\r
-                                               this.actRGB.Push( 5 );\r
-                                       }\r
-                                       List<STInputEvent> events = CDTXMania.Pad.GetEvents( E楽器パート.BASS, Eパッド.Pick );\r
-                                       if( ( events != null ) && ( events.Count > 0 ) )\r
-                                       {\r
-                                               foreach( STInputEvent event2 in events )\r
-                                               {\r
-                                                       CDTX.CChip chip4;\r
-                                                       if( !event2.b押された )\r
-                                                       {\r
-                                                               continue;\r
-                                                       }\r
-                                                       this.t入力メソッド記憶( E楽器パート.BASS );\r
-                                                       long nTime = event2.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
-                                                       CDTX.CChip pChip = this.r指定時刻に一番近い未ヒットChip( nTime, 0xaf, this.nInputAdjustTimeMs.Bass, 0 );\r
-                                                       E判定 e判定 = this.e指定時刻からChipのJUDGEを返す(nTime, pChip, this.nInputAdjustTimeMs.Bass );\r
-                                                       if (((pChip != null) && ((pChip.nチャンネル番号 & 15) == flagRGB)) && (e判定 != E判定.Miss))\r
-                                                       {\r
-                                                               if( ( flagR != 0 ) || ( flagRGB == 0 ) )\r
-                                                               {\r
-                                                                       this.actChipFire.Start( 3 );\r
-                                                               }\r
-                                                               if( ( flagG != 0 ) || ( flagRGB == 0 ) )\r
-                                                               {\r
-                                                                       this.actChipFire.Start( 4 );\r
-                                                               }\r
-                                                               if( ( flagB != 0 ) || ( flagRGB == 0 ) )\r
-                                                               {\r
-                                                                       this.actChipFire.Start( 5 );\r
-                                                               }\r
-                                                               this.tチップのヒット処理( nTime, pChip );\r
-                                                               this.tサウンド再生( pChip, CDTXMania.Timer.nシステム時刻, E楽器パート.BASS, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Bass, e判定 == E判定.Poor );\r
-                                                               CDTX.CChip item = this.r指定時刻に一番近い未ヒットChip( nTime, 0xa8, this.nInputAdjustTimeMs.Bass, 140 );\r
-                                                               if( item != null )\r
-                                                               {\r
-                                                                       this.queWailing.Bass.Enqueue( item );\r
-                                                               }\r
-                                                               continue;\r
-                                                       }\r
-                                                       if( ( ( chip4 = this.r現在の空うちベースChip ) != null ) || ( ( chip4 = this.r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( nTime, 0xaf, this.nInputAdjustTimeMs.Bass ) ) != null ) )\r
-                                                       {\r
-                                                               this.tサウンド再生( chip4, CDTXMania.Timer.nシステム時刻, E楽器パート.BASS, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Bass, true );\r
-                                                       }\r
-                                                       if( !CDTXMania.ConfigIni.bLight.Bass )\r
-                                                       {\r
-                                                               this.tチップのヒット処理・BadならびにTight時のMiss( E楽器パート.BASS );\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                                       List<STInputEvent> list2 = CDTXMania.Pad.GetEvents( E楽器パート.BASS, Eパッド.Wail );\r
-                                       if( ( list2 != null ) && ( list2.Count > 0 ) )\r
-                                       {\r
-                                               foreach( STInputEvent event3 in list2 )\r
-                                               {\r
-                                                       CDTX.CChip chip5;\r
-                                                       if( !event3.b押された )\r
-                                                       {\r
-                                                               continue;\r
-                                                       }\r
-                                                       long num6 = event3.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
-                                                       while( ( this.queWailing.Bass.Count > 0 ) && ( ( chip5 = this.queWailing.Bass.Dequeue() ) != null ) )\r
-                                                       {\r
-                                                               if( ( num6 - chip5.n発声時刻ms ) <= 1000 )          // #24245 2011.1.16 yyagi: 800 -> 1000\r
-                                                               {\r
-                                                                       chip5.bHit = true;\r
-                                                                       this.actWailingBonus.Start( E楽器パート.BASS, this.r現在の歓声Chip.Bass );\r
-                                                                       if( !bIsAutoPlay.Bass )\r
-                                                                       {\r
-                                                                               int nCombo = ( this.actCombo.n現在のコンボ数.Bass < 500 ) ? this.actCombo.n現在のコンボ数.Bass : 500;\r
-                                                                               this.actScore.Set( E楽器パート.BASS, this.actScore.Get( E楽器パート.BASS ) + ( nCombo * 3000L ) );            // #24245 2011.1.26 yyagi changed DRUMS->BASS, add nCombo conditions\r
-                                                                       }\r
-                                                               }\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
+               //    if ( CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Bass )\r
+               //    {\r
+               //        if( bIsAutoPlay.Bass )\r
+               //        {\r
+               //            CDTX.CChip chip = this.r次にくるベースChipを更新して返す();\r
+               //            if( chip != null )\r
+               //            {\r
+               //                if( ( chip.nチャンネル番号 & 4 ) != 0 )\r
+               //                {\r
+               //                    this.actLaneFlushGB.Start( 3 );\r
+               //                    this.actRGB.Push( 3 );\r
+               //                }\r
+               //                if( ( chip.nチャンネル番号 & 2 ) != 0 )\r
+               //                {\r
+               //                    this.actLaneFlushGB.Start( 4 );\r
+               //                    this.actRGB.Push( 4 );\r
+               //                }\r
+               //                if( ( chip.nチャンネル番号 & 1 ) != 0 )\r
+               //                {\r
+               //                    this.actLaneFlushGB.Start( 5 );\r
+               //                    this.actRGB.Push( 5 );\r
+               //                }\r
+               //            }\r
+               //        }\r
+               //        else\r
+               //        {\r
+               //            int flagR = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.R ) ? 4 : 0;\r
+               //            this.t入力メソッド記憶( E楽器パート.BASS );\r
+               //            int flagG = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.G ) ? 2 : 0;\r
+               //            this.t入力メソッド記憶( E楽器パート.BASS );\r
+               //            int flagB = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.B ) ? 1 : 0;\r
+               //            this.t入力メソッド記憶( E楽器パート.BASS );\r
+               //            int flagRGB = flagR | flagG | flagB;\r
+               //            if( flagR != 0 )\r
+               //            {\r
+               //                this.actLaneFlushGB.Start( 3 );\r
+               //                this.actRGB.Push( 3 );\r
+               //            }\r
+               //            if( flagG != 0 )\r
+               //            {\r
+               //                this.actLaneFlushGB.Start( 4 );\r
+               //                this.actRGB.Push( 4 );\r
+               //            }\r
+               //            if( flagB != 0 )\r
+               //            {\r
+               //                this.actLaneFlushGB.Start( 5 );\r
+               //                this.actRGB.Push( 5 );\r
+               //            }\r
+               //            List<STInputEvent> events = CDTXMania.Pad.GetEvents( E楽器パート.BASS, Eパッド.Pick );\r
+               //            if( ( events != null ) && ( events.Count > 0 ) )\r
+               //            {\r
+               //                foreach( STInputEvent event2 in events )\r
+               //                {\r
+               //                    CDTX.CChip chip4;\r
+               //                    if( !event2.b押された )\r
+               //                    {\r
+               //                        continue;\r
+               //                    }\r
+               //                    this.t入力メソッド記憶( E楽器パート.BASS );\r
+               //                    long nTime = event2.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
+               //                    CDTX.CChip pChip = this.r指定時刻に一番近い未ヒットChip( nTime, 0xaf, this.nInputAdjustTimeMs.Bass, 0 );\r
+               //                    E判定 e判定 = this.e指定時刻からChipのJUDGEを返す(nTime, pChip, this.nInputAdjustTimeMs.Bass );\r
+               //                    if (((pChip != null) && ((pChip.nチャンネル番号 & 15) == flagRGB)) && (e判定 != E判定.Miss))\r
+               //                    {\r
+               //                        if( ( flagR != 0 ) || ( flagRGB == 0 ) )\r
+               //                        {\r
+               //                            this.actChipFireGB.Start( 3 );\r
+               //                        }\r
+               //                        if( ( flagG != 0 ) || ( flagRGB == 0 ) )\r
+               //                        {\r
+               //                            this.actChipFireGB.Start( 4 );\r
+               //                        }\r
+               //                        if( ( flagB != 0 ) || ( flagRGB == 0 ) )\r
+               //                        {\r
+               //                            this.actChipFireGB.Start( 5 );\r
+               //                        }\r
+               //                        this.tチップのヒット処理( nTime, pChip );\r
+               //                        this.tサウンド再生( pChip, CDTXMania.Timer.nシステム時刻, E楽器パート.BASS, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Bass, e判定 == E判定.Poor );\r
+               //                        CDTX.CChip item = this.r指定時刻に一番近い未ヒットChip( nTime, 0xa8, this.nInputAdjustTimeMs.Bass, 140 );\r
+               //                        if( item != null )\r
+               //                        {\r
+               //                            this.queWailing.Bass.Enqueue( item );\r
+               //                        }\r
+               //                        continue;\r
+               //                    }\r
+               //                    if( ( ( chip4 = this.r現在の空うちベースChip ) != null ) || ( ( chip4 = this.r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( nTime, 0xaf, this.nInputAdjustTimeMs.Bass ) ) != null ) )\r
+               //                    {\r
+               //                        this.tサウンド再生( chip4, CDTXMania.Timer.nシステム時刻, E楽器パート.BASS, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Bass, true );\r
+               //                    }\r
+               //                    if( !CDTXMania.ConfigIni.bLight.Bass )\r
+               //                    {\r
+               //                        this.tチップのヒット処理・BadならびにTight時のMiss( E楽器パート.BASS );\r
+               //                    }\r
+               //                }\r
+               //            }\r
+               //            List<STInputEvent> list2 = CDTXMania.Pad.GetEvents( E楽器パート.BASS, Eパッド.Wail );\r
+               //            if( ( list2 != null ) && ( list2.Count > 0 ) )\r
+               //            {\r
+               //                foreach( STInputEvent event3 in list2 )\r
+               //                {\r
+               //                    CDTX.CChip chip5;\r
+               //                    if( !event3.b押された )\r
+               //                    {\r
+               //                        continue;\r
+               //                    }\r
+               //                    long num6 = event3.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
+               //                    while( ( this.queWailing.Bass.Count > 0 ) && ( ( chip5 = this.queWailing.Bass.Dequeue() ) != null ) )\r
+               //                    {\r
+               //                        if( ( num6 - chip5.n発声時刻ms ) <= 1000 )                // #24245 2011.1.16 yyagi: 800 -> 1000\r
+               //                        {\r
+               //                            chip5.bHit = true;\r
+               //                            this.actWailingBonus.Start( E楽器パート.BASS, this.r現在の歓声Chip.Bass );\r
+               //                            if( !bIsAutoPlay.Bass )\r
+               //                            {\r
+               //                                int nCombo = ( this.actCombo.n現在のコンボ数.Bass < 500 ) ? this.actCombo.n現在のコンボ数.Bass : 500;\r
+               //                                this.actScore.Set( E楽器パート.BASS, this.actScore.Get( E楽器パート.BASS ) + ( nCombo * 3000L ) );          // #24245 2011.1.26 yyagi changed DRUMS->BASS, add nCombo conditions\r
+               //                            }\r
+               //                        }\r
+               //                    }\r
+               //                }\r
+               //            }\r
+               //        }\r
+               //    }\r
+               //}\r
 \r
                protected override void t背景テクスチャの生成()\r
                {\r
index 8c6759e..53f9ec1 100644 (file)
@@ -6,31 +6,31 @@ using FDK;
 \r
 namespace DTXMania\r
 {\r
-       internal class CAct演奏DrumsDanger : CActivity\r
+       internal class CAct演奏DrumsDanger : CAct演奏Danger共通\r
        {\r
                // コンストラクタ\r
 \r
-               public CAct演奏DrumsDanger()\r
-               {\r
-                       base.b活性化してない = true;\r
-               }\r
+               //public CAct演奏DrumsDanger()\r
+               //{\r
+               //    base.b活性化してない = true;\r
+               //}\r
 \r
 \r
                // CActivity 実装\r
 \r
-               public override void On活性化()\r
-               {\r
-                       this.bDanger中 = false;\r
-                       this.ct移動用 = new CCounter();\r
-                       this.ct透明度用 = new CCounter();\r
-                       base.On活性化();\r
-               }\r
-               public override void On非活性化()\r
-               {\r
-                       this.ct移動用 = null;\r
-                       this.ct透明度用 = null;\r
-                       base.On非活性化();\r
-               }\r
+               //public override void On活性化()\r
+               //{\r
+               //    this.bDanger中 = false;\r
+               //    this.ct移動用 = new CCounter();\r
+               //    this.ct透明度用 = new CCounter();\r
+               //    base.On活性化();\r
+               //}\r
+               //public override void On非活性化()\r
+               //{\r
+               //    this.ct移動用 = null;\r
+               //    this.ct透明度用 = null;\r
+               //    base.On非活性化();\r
+               //}\r
                public override void OnManagedリソースの作成()\r
                {\r
                        if( !base.b活性化してない )\r
@@ -51,7 +51,7 @@ namespace DTXMania
                {\r
                        throw new InvalidOperationException( "t進行描画(bool)のほうを使用してください。" );\r
                }\r
-               public int t進行描画( bool bDangerである )\r
+               public override int t進行描画( bool bDangerである )\r
                {\r
                        if( !base.b活性化してない )\r
                        {\r
@@ -98,9 +98,9 @@ namespace DTXMania
 \r
                #region [ private ]\r
                //-----------------\r
-               private bool bDanger中;\r
-               private CCounter ct移動用;\r
-               private CCounter ct透明度用;\r
+               //private bool bDanger中;\r
+               //private CCounter ct移動用;\r
+               //private CCounter ct透明度用;\r
                private const int n右位置 = 0x12a;\r
                private const int n左位置 = 0x26;\r
                private readonly Rectangle[] rc領域 = new Rectangle[] { new Rectangle( 0, 0, 0x20, 0x40 ), new Rectangle( 0x20, 0, 0x20, 0x40 ) };\r
index 7f60825..f15984c 100644 (file)
@@ -9,7 +9,7 @@ namespace DTXMania
        {\r
                // メソッド\r
 \r
-               public void Start( int nLane )\r
+               public override void Start( int nLane )\r
                {\r
                        if( ( nLane < 0 ) && ( nLane > 5 ) )\r
                        {\r
index 261ad3d..849e406 100644 (file)
@@ -18,18 +18,6 @@ namespace DTXMania
 \r
                public CStage演奏ドラム画面()\r
                {\r
-                       this.eチャンネルtoパッド = new Eパッド[ 12 ];\r
-                       this.eチャンネルtoパッド[ 1 ] = Eパッド.SD;\r
-                       this.eチャンネルtoパッド[ 2 ] = Eパッド.BD;\r
-                       this.eチャンネルtoパッド[ 3 ] = Eパッド.HT;\r
-                       this.eチャンネルtoパッド[ 4 ] = Eパッド.LT;\r
-                       this.eチャンネルtoパッド[ 5 ] = Eパッド.CY;\r
-                       this.eチャンネルtoパッド[ 6 ] = Eパッド.FT;\r
-                       this.eチャンネルtoパッド[ 7 ] = Eパッド.HHO;\r
-                       this.eチャンネルtoパッド[ 8 ] = Eパッド.RD;\r
-                       this.eチャンネルtoパッド[ 9 ] = Eパッド.UNKNOWN;\r
-                       this.eチャンネルtoパッド[ 10 ] = Eパッド.UNKNOWN;\r
-                       this.eチャンネルtoパッド[ 11 ] = Eパッド.LC;\r
                        //this.nBGAスコープチャンネルマップ = new int[ , ] { { 0xc4, 0xc7, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xe0 }, { 4, 7, 0x55, 0x56, 0x57, 0x58, 0x59, 0x60 } };\r
                        base.eステージID = CStage.Eステージ.演奏;\r
                        base.eフェーズID = CStage.Eフェーズ.共通_通常状態;\r
@@ -253,7 +241,7 @@ namespace DTXMania
                        this.bフィルイン中 = false;\r
                        //this.n現在のトップChip = ( CDTXMania.DTX.listChip.Count > 0 ) ? 0 : -1;\r
                        // this.n最後に再生したHHの実WAV番号 = -1;                                   // #23921 2011.1.4 yyagi\r
-                       this.L最後に再生したHHの実WAV番号 = new List<int>(16);\r
+                       //this.L最後に再生したHHの実WAV番号 = new List<int>(16);\r
 \r
                        //this.n最後に再生したHHのチャンネル番号 = 0;\r
                        //this.n最後に再生したギターの実WAV番号 = -1;\r
@@ -307,16 +295,16 @@ namespace DTXMania
                }\r
                public override void On非活性化()\r
                {\r
-                       this.L最後に再生したHHの実WAV番号.Clear();   // #23921 2011.1.4 yyagi\r
-                       this.L最後に再生したHHの実WAV番号 = null;    //\r
+                       //this.L最後に再生したHHの実WAV番号.Clear(); // #23921 2011.1.4 yyagi\r
+                       //this.L最後に再生したHHの実WAV番号 = null;  //\r
                        //for( int i = 0; i < 3; i++ )\r
                        //{\r
                        //    this.queWailing[ i ] = null;\r
                        //}\r
-                       this.ctWailingチップ模様アニメ = null;\r
-                       this.ctチップ模様アニメ.Drums = null;\r
-                       this.ctチップ模様アニメ.Guitar = null;\r
-                       this.ctチップ模様アニメ.Bass = null;\r
+                       //this.ctWailingチップ模様アニメ = null;\r
+                       //this.ctチップ模様アニメ.Drums = null;\r
+                       //this.ctチップ模様アニメ.Guitar = null;\r
+                       //this.ctチップ模様アニメ.Bass = null;\r
                        base.On非活性化();\r
                }\r
                public override void OnManagedリソースの作成()\r
@@ -341,7 +329,7 @@ namespace DTXMania
                        if( !base.b活性化してない )\r
                        {\r
                                //CDTXMania.tテクスチャの解放( ref this.tx背景 );\r
-                               //CDTXMania.tテクスチャの解放( ref this.txヒットバー );\r
+                               CDTXMania.tテクスチャの解放( ref this.txヒットバー );\r
                                CDTXMania.tテクスチャの解放( ref this.txヒットバーGB );\r
                                CDTXMania.tテクスチャの解放( ref this.txチップ );\r
                                CDTXMania.tテクスチャの解放( ref this.txレーンフレームGB );\r
@@ -393,7 +381,7 @@ namespace DTXMania
                                this.t進行描画・WailingBonus();\r
                                this.t進行描画・譜面スクロール速度();\r
                                this.t進行描画・チップアニメ();\r
-                               flag = this.t進行描画・チップ();\r
+                               flag = this.t進行描画・チップ(E楽器パート.DRUMS);\r
                                this.t進行描画・演奏情報();\r
                                this.t進行描画・ドラムパッド();\r
                                this.t進行描画・判定文字列2・判定ライン上指定の場合();\r
@@ -591,21 +579,21 @@ namespace DTXMania
                //private CAct演奏AVI actAVI;\r
                //private CAct演奏BGA actBGA;\r
                private CAct演奏DrumsチップファイアD actChipFireD;\r
-               private CAct演奏DrumsチップファイアGB actChipFireGB;\r
+               //private CAct演奏DrumsチップファイアGB actChipFireGB;\r
                //private CAct演奏DrumsコンボDGB actCombo;\r
-               private CAct演奏DrumsDanger actDANGER;\r
+               //private CAct演奏DrumsDanger actDANGER;\r
                //private CActFIFOBlack actFI;\r
                //private CActFIFOBlack actFO;\r
                //private CActFIFOWhite actFOClear;\r
                //private CAct演奏Drumsゲージ actGauge;\r
                private CAct演奏Drumsグラフ actGraph;   // #24074 2011.01.23 add ikanick\r
                //private CAct演奏Drums判定文字列 actJudgeString;\r
-               private CAct演奏DrumsレーンフラッシュD actLaneFlushD;\r
-               private CAct演奏DrumsレーンフラッシュGB actLaneFlushGB;\r
+               //private CAct演奏DrumsレーンフラッシュD actLaneFlushD;\r
+               //private CAct演奏DrumsレーンフラッシュGB actLaneFlushGB;\r
                private CAct演奏Drumsパッド actPad;\r
                //private CAct演奏パネル文字列 actPanel;\r
                //private CAct演奏演奏情報 actPlayInfo;\r
-               private CAct演奏DrumsRGB actRGB;\r
+               //private CAct演奏DrumsRGB actRGB;\r
                //private CAct演奏Drumsスコア actScore;\r
                //private CAct演奏ステージ失敗 actStageFailed;\r
                //private CAct演奏Drumsステータスパネル actStatusPanels;\r
@@ -619,7 +607,12 @@ namespace DTXMania
                //private STDGBVALUE<bool> b演奏にマウスを使った;\r
                //private CCounter ctWailingチップ模様アニメ;\r
                //private STDGBVALUE<CCounter> ctチップ模様アニメ;\r
-               private readonly Eパッド[] eチャンネルtoパッド;\r
+               private readonly Eパッド[] eチャンネルtoパッド = new Eパッド[]\r
+               {\r
+                       Eパッド.SD, Eパッド.BD, Eパッド.HT, Eパッド.LT,\r
+                       Eパッド.CY, Eパッド.FT, Eパッド.HHO, Eパッド.RD,\r
+                       Eパッド.UNKNOWN, Eパッド.UNKNOWN, Eパッド.LC\r
+               };\r
                //private E演奏画面の戻り値 eフェードアウト完了時の戻り値;\r
                //private readonly int[,] nBGAスコープチャンネルマップ;\r
                //private readonly int[,] nBGAスコープチャンネルマップ = new int[ , ] { { 0xc4, 0xc7, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xe0 }, { 4, 7, 0x55, 0x56, 0x57, 0x58, 0x59, 0x60 } };\r
@@ -634,7 +627,7 @@ namespace DTXMania
                // private int n現在のトップChip = -1;\r
                //private int[] n最後に再生したBGMの実WAV番号 = new int[ 50 ];\r
                //private int n最後に再生したHHのチャンネル番号;\r
-               private List<int> L最後に再生したHHの実WAV番号;              // #23921 2011.1.4 yyagi: change "int" to "List<int>", for recording multiple wav No.\r
+               //private List<int> L最後に再生したHHの実WAV番号;            // #23921 2011.1.4 yyagi: change "int" to "List<int>", for recording multiple wav No.\r
                //private int n最後に再生したギターの実WAV番号;\r
                //private int n最後に再生したベースの実WAV番号;\r
                //private STDGBVALUE<Queue<CDTX.CChip>> queWailing;\r
@@ -645,7 +638,7 @@ namespace DTXMania
                //private CDTX.CChip r次にくるギターChip;\r
                //private CDTX.CChip r次にくるベースChip;\r
                //private CTexture txWailing枠;\r
-               private CTexture txチップ;\r
+               //private CTexture txチップ;\r
                //private CTexture txヒットバー;\r
                private CTexture txヒットバーGB;\r
                private CTexture txレーンフレームGB;\r
@@ -700,127 +693,127 @@ namespace DTXMania
 //            }\r
 //            return E判定.Miss;\r
 //        }\r
-               private CDTX.CChip r空うちChip( E楽器パート part, Eパッド pad )\r
-               {\r
-                       switch( part )\r
-                       {\r
-                               case E楽器パート.DRUMS:\r
-                                       switch( pad )\r
-                                       {\r
-                                               case Eパッド.HH:\r
-                                                       if( this.r現在の空うちドラムChip.HH != null )\r
-                                                       {\r
-                                                               return this.r現在の空うちドラムChip.HH;\r
-                                                       }\r
-                                                       if( CDTXMania.ConfigIni.eHHGroup != EHHGroup.ハイハットのみ打ち分ける )\r
-                                                       {\r
-                                                               if( CDTXMania.ConfigIni.eHHGroup == EHHGroup.左シンバルのみ打ち分ける )\r
-                                                               {\r
-                                                                       return this.r現在の空うちドラムChip.HHO;\r
-                                                               }\r
-                                                               if( this.r現在の空うちドラムChip.HHO != null )\r
-                                                               {\r
-                                                                       return this.r現在の空うちドラムChip.HHO;\r
-                                                               }\r
-                                                       }\r
-                                                       return this.r現在の空うちドラムChip.LC;\r
+               //private CDTX.CChip r空うちChip( E楽器パート part, Eパッド pad )\r
+               //{\r
+               //    switch( part )\r
+               //    {\r
+               //        case E楽器パート.DRUMS:\r
+               //            switch( pad )\r
+               //            {\r
+               //                case Eパッド.HH:\r
+               //                    if( this.r現在の空うちドラムChip.HH != null )\r
+               //                    {\r
+               //                        return this.r現在の空うちドラムChip.HH;\r
+               //                    }\r
+               //                    if( CDTXMania.ConfigIni.eHHGroup != EHHGroup.ハイハットのみ打ち分ける )\r
+               //                    {\r
+               //                        if( CDTXMania.ConfigIni.eHHGroup == EHHGroup.左シンバルのみ打ち分ける )\r
+               //                        {\r
+               //                            return this.r現在の空うちドラムChip.HHO;\r
+               //                        }\r
+               //                        if( this.r現在の空うちドラムChip.HHO != null )\r
+               //                        {\r
+               //                            return this.r現在の空うちドラムChip.HHO;\r
+               //                        }\r
+               //                    }\r
+               //                    return this.r現在の空うちドラムChip.LC;\r
 \r
-                                               case Eパッド.SD:\r
-                                                       return this.r現在の空うちドラムChip.SD;\r
+               //                case Eパッド.SD:\r
+               //                    return this.r現在の空うちドラムChip.SD;\r
 \r
-                                               case Eパッド.BD:\r
-                                                       return this.r現在の空うちドラムChip.BD;\r
+               //                case Eパッド.BD:\r
+               //                    return this.r現在の空うちドラムChip.BD;\r
 \r
-                                               case Eパッド.HT:\r
-                                                       return this.r現在の空うちドラムChip.HT;\r
+               //                case Eパッド.HT:\r
+               //                    return this.r現在の空うちドラムChip.HT;\r
 \r
-                                               case Eパッド.LT:\r
-                                                       if( this.r現在の空うちドラムChip.LT != null )\r
-                                                       {\r
-                                                               return this.r現在の空うちドラムChip.LT;\r
-                                                       }\r
-                                                       if( CDTXMania.ConfigIni.eFTGroup == EFTGroup.共通 )\r
-                                                       {\r
-                                                               return this.r現在の空うちドラムChip.FT;\r
-                                                       }\r
-                                                       return null;\r
+               //                case Eパッド.LT:\r
+               //                    if( this.r現在の空うちドラムChip.LT != null )\r
+               //                    {\r
+               //                        return this.r現在の空うちドラムChip.LT;\r
+               //                    }\r
+               //                    if( CDTXMania.ConfigIni.eFTGroup == EFTGroup.共通 )\r
+               //                    {\r
+               //                        return this.r現在の空うちドラムChip.FT;\r
+               //                    }\r
+               //                    return null;\r
 \r
-                                               case Eパッド.FT:\r
-                                                       if( this.r現在の空うちドラムChip.FT != null )\r
-                                                       {\r
-                                                               return this.r現在の空うちドラムChip.FT;\r
-                                                       }\r
-                                                       if( CDTXMania.ConfigIni.eFTGroup == EFTGroup.共通 )\r
-                                                       {\r
-                                                               return this.r現在の空うちドラムChip.LT;\r
-                                                       }\r
-                                                       return null;\r
+               //                case Eパッド.FT:\r
+               //                    if( this.r現在の空うちドラムChip.FT != null )\r
+               //                    {\r
+               //                        return this.r現在の空うちドラムChip.FT;\r
+               //                    }\r
+               //                    if( CDTXMania.ConfigIni.eFTGroup == EFTGroup.共通 )\r
+               //                    {\r
+               //                        return this.r現在の空うちドラムChip.LT;\r
+               //                    }\r
+               //                    return null;\r
 \r
-                                               case Eパッド.CY:\r
-                                                       if( this.r現在の空うちドラムChip.CY != null )\r
-                                                       {\r
-                                                               return this.r現在の空うちドラムChip.CY;\r
-                                                       }\r
-                                                       if( CDTXMania.ConfigIni.eCYGroup == ECYGroup.共通 )\r
-                                                       {\r
-                                                               return this.r現在の空うちドラムChip.RD;\r
-                                                       }\r
-                                                       return null;\r
+               //                case Eパッド.CY:\r
+               //                    if( this.r現在の空うちドラムChip.CY != null )\r
+               //                    {\r
+               //                        return this.r現在の空うちドラムChip.CY;\r
+               //                    }\r
+               //                    if( CDTXMania.ConfigIni.eCYGroup == ECYGroup.共通 )\r
+               //                    {\r
+               //                        return this.r現在の空うちドラムChip.RD;\r
+               //                    }\r
+               //                    return null;\r
 \r
-                                               case Eパッド.HHO:\r
-                                                       if( this.r現在の空うちドラムChip.HHO != null )\r
-                                                       {\r
-                                                               return this.r現在の空うちドラムChip.HHO;\r
-                                                       }\r
-                                                       if( CDTXMania.ConfigIni.eHHGroup != EHHGroup.ハイハットのみ打ち分ける )\r
-                                                       {\r
-                                                               if( CDTXMania.ConfigIni.eHHGroup == EHHGroup.左シンバルのみ打ち分ける )\r
-                                                               {\r
-                                                                       return this.r現在の空うちドラムChip.HH;\r
-                                                               }\r
-                                                               if( this.r現在の空うちドラムChip.HH != null )\r
-                                                               {\r
-                                                                       return this.r現在の空うちドラムChip.HH;\r
-                                                               }\r
-                                                       }\r
-                                                       return this.r現在の空うちドラムChip.LC;\r
+               //                case Eパッド.HHO:\r
+               //                    if( this.r現在の空うちドラムChip.HHO != null )\r
+               //                    {\r
+               //                        return this.r現在の空うちドラムChip.HHO;\r
+               //                    }\r
+               //                    if( CDTXMania.ConfigIni.eHHGroup != EHHGroup.ハイハットのみ打ち分ける )\r
+               //                    {\r
+               //                        if( CDTXMania.ConfigIni.eHHGroup == EHHGroup.左シンバルのみ打ち分ける )\r
+               //                        {\r
+               //                            return this.r現在の空うちドラムChip.HH;\r
+               //                        }\r
+               //                        if( this.r現在の空うちドラムChip.HH != null )\r
+               //                        {\r
+               //                            return this.r現在の空うちドラムChip.HH;\r
+               //                        }\r
+               //                    }\r
+               //                    return this.r現在の空うちドラムChip.LC;\r
 \r
-                                               case Eパッド.RD:\r
-                                                       if( this.r現在の空うちドラムChip.RD != null )\r
-                                                       {\r
-                                                               return this.r現在の空うちドラムChip.RD;\r
-                                                       }\r
-                                                       if( CDTXMania.ConfigIni.eCYGroup == ECYGroup.共通 )\r
-                                                       {\r
-                                                               return this.r現在の空うちドラムChip.CY;\r
-                                                       }\r
-                                                       return null;\r
+               //                case Eパッド.RD:\r
+               //                    if( this.r現在の空うちドラムChip.RD != null )\r
+               //                    {\r
+               //                        return this.r現在の空うちドラムChip.RD;\r
+               //                    }\r
+               //                    if( CDTXMania.ConfigIni.eCYGroup == ECYGroup.共通 )\r
+               //                    {\r
+               //                        return this.r現在の空うちドラムChip.CY;\r
+               //                    }\r
+               //                    return null;\r
 \r
-                                               case Eパッド.LC:\r
-                                                       if( this.r現在の空うちドラムChip.LC != null )\r
-                                                       {\r
-                                                               return this.r現在の空うちドラムChip.LC;\r
-                                                       }\r
-                                                       if( ( CDTXMania.ConfigIni.eHHGroup != EHHGroup.ハイハットのみ打ち分ける ) && ( CDTXMania.ConfigIni.eHHGroup != EHHGroup.全部共通 ) )\r
-                                                       {\r
-                                                               return null;\r
-                                                       }\r
-                                                       if( this.r現在の空うちドラムChip.HH != null )\r
-                                                       {\r
-                                                               return this.r現在の空うちドラムChip.HH;\r
-                                                       }\r
-                                                       return this.r現在の空うちドラムChip.HHO;\r
-                                       }\r
-                                       break;\r
+               //                case Eパッド.LC:\r
+               //                    if( this.r現在の空うちドラムChip.LC != null )\r
+               //                    {\r
+               //                        return this.r現在の空うちドラムChip.LC;\r
+               //                    }\r
+               //                    if( ( CDTXMania.ConfigIni.eHHGroup != EHHGroup.ハイハットのみ打ち分ける ) && ( CDTXMania.ConfigIni.eHHGroup != EHHGroup.全部共通 ) )\r
+               //                    {\r
+               //                        return null;\r
+               //                    }\r
+               //                    if( this.r現在の空うちドラムChip.HH != null )\r
+               //                    {\r
+               //                        return this.r現在の空うちドラムChip.HH;\r
+               //                    }\r
+               //                    return this.r現在の空うちドラムChip.HHO;\r
+               //            }\r
+               //            break;\r
 \r
-                               case E楽器パート.GUITAR:\r
-                                       return this.r現在の空うちギターChip;\r
+               //        case E楽器パート.GUITAR:\r
+               //            return this.r現在の空うちギターChip;\r
 \r
-                               case E楽器パート.BASS:\r
-                                       return this.r現在の空うちベースChip;\r
-                       }\r
-                       return null;\r
-               }\r
+               //        case E楽器パート.BASS:\r
+               //            return this.r現在の空うちベースChip;\r
+               //    }\r
+               //    return null;\r
+               //}\r
                //private CDTX.CChip r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( long nTime, int nChannelFlag, int nInputAdjustTime )\r
                //{\r
                //    nTime += nInputAdjustTime;                                                // #24239 2011.1.23 yyagi InputAdjust\r
@@ -912,10 +905,10 @@ namespace DTXMania
                //    }\r
                //    return chip3;\r
                //}\r
-               private CDTX.CChip r指定時刻に一番近い未ヒットChip( long nTime, int nChannelFlag, int nInputAdjustTime )\r
-               {\r
-                       return this.r指定時刻に一番近い未ヒットChip( nTime, nChannelFlag, nInputAdjustTime, 0 );\r
-               }\r
+               //private CDTX.CChip r指定時刻に一番近い未ヒットChip( long nTime, int nChannelFlag, int nInputAdjustTime )\r
+               //{\r
+               //      return this.r指定時刻に一番近い未ヒットChip( nTime, nChannelFlag, nInputAdjustTime, 0 );\r
+               //}\r
                //private CDTX.CChip r指定時刻に一番近い未ヒットChip( long nTime, int nChannelFlag, int nInputAdjustTime, int n検索範囲時間ms )\r
                //{\r
                //    nTime += nInputAdjustTime;\r
@@ -1023,109 +1016,109 @@ namespace DTXMania
                //    this.r次にくるベースChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0xaf, nInputAdjustTime, 500 );\r
                //    return this.r次にくるベースChip;\r
                //}\r
-               private void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part )\r
-               {\r
-                       this.tサウンド再生( rChip, n再生開始システム時刻ms, part, CDTXMania.ConfigIni.n手動再生音量, false, false );\r
-               }\r
-               private void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part, int n音量 )\r
-               {\r
-                       this.tサウンド再生( rChip, n再生開始システム時刻ms, part, n音量, false, false );\r
-               }\r
-               private void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part, int n音量, bool bモニタ )\r
-               {\r
-                       this.tサウンド再生( rChip, n再生開始システム時刻ms, part, n音量, bモニタ, false );\r
-               }\r
-               private void tサウンド再生( CDTX.CChip pChip, long n再生開始システム時刻ms, E楽器パート part, int n音量, bool bモニタ, bool b音程をずらして再生 )\r
-               {\r
-                       if( pChip != null )\r
-                       {\r
-                               switch( part )\r
-                               {\r
-                                       case E楽器パート.DRUMS:\r
-                                               {\r
-                                                       int index = pChip.nチャンネル番号;\r
-                                                       if ( ( index >= 0x11 ) && ( index <= 0x1a ) )\r
-                                                       {\r
-                                                               index -= 0x11;\r
-                                                       }\r
-                                                       else\r
-                                                       {\r
-                                                               if ( ( index < 0x31 ) || ( index > 0x3a ) )\r
-                                                               {\r
-                                                                       return;\r
-                                                               }\r
-                                                               index -= 0x31;\r
-                                                       }\r
-                                                       int nLane = this.nチャンネル0Atoレーン07[ index ];\r
-                                                       if( ( nLane == 1 ) &&   // 今回演奏するのがHC or HO\r
-                                                               ( index == 0 || ( index == 7 && this.n最後に再生したHHのチャンネル番号 != 0x18 && this.n最後に再生したHHのチャンネル番号 != 0x38 ) )\r
-                                                               // HCを演奏するか、またはHO演奏&以前HO演奏でない&以前不可視HO演奏でない\r
-                                                       )\r
-                                                       {\r
-                                               // #23921 2011.1.4 yyagi: 2種類以上のオープンハイハットが発音済みだと、最後のHHOしか消せない問題に対応。\r
-#if TEST_NOTEOFFMODE   // 2011.1.1 yyagi test\r
-                                                               if (CDTXMania.DTX.bHH演奏で直前のHHを消音する)\r
-                                                               {\r
-#endif\r
-                                                                       for (int i = 0; i < this.L最後に再生したHHの実WAV番号.Count; i++)            // #23921 2011.1.4 yyagi\r
-                                                                       {\r
-                                                                               // CDTXMania.DTX.tWavの再生停止(this.L最後に再生したHHの実WAV番号);\r
-                                                                               CDTXMania.DTX.tWavの再生停止(this.L最後に再生したHHの実WAV番号[i]);     // #23921 yyagi ストック分全て消音する\r
-                                                                       }\r
-                                                                       this.L最後に再生したHHの実WAV番号.Clear();\r
-#if TEST_NOTEOFFMODE   // 2011.1.1 yyagi test\r
-                                                               }\r
-#endif\r
-                                                               //this.n最後に再生したHHの実WAV番号 = pChip.n整数値・内部番号;\r
-                                                               this.n最後に再生したHHのチャンネル番号 = pChip.nチャンネル番号;\r
-                                                       }\r
-#if TEST_NOTEOFFMODE   // 2011.1.4 yyagi test\r
-                                                       if (CDTXMania.DTX.bHH演奏で直前のHHを消音する)\r
-                                                       {\r
-#endif\r
-                                                               if (index == 7 || index == 0x27)                                                // #23921 HOまたは不可視HO演奏時はそのチップ番号をストックしておく\r
-                                                               {\r
-                                                                       if (this.L最後に再生したHHの実WAV番号.Count >= 16)   // #23921 ただしストック数が16以上になるようなら、頭の1個を削って常に16未満に抑える\r
-                                                                       {                                                                                                       // (ストックが増えてList<>のrealloc()が発生するのを予防する)\r
-                                                                               this.L最後に再生したHHの実WAV番号.RemoveAt(0);\r
-                                                                       }\r
-                                                                       if (this.L最後に再生したHHの実WAV番号.IndexOf(pChip.n整数値・内部番号) < 0)  // チップ音がまだストックされてなければ\r
-                                                                       {\r
-                                                                               this.L最後に再生したHHの実WAV番号.Add(pChip.n整数値・内部番号);                      // ストックする\r
-                                                                       }\r
-                                                               }\r
-#if TEST_NOTEOFFMODE   // 2011.1.4 yyagi test\r
-                                                       }\r
-#endif\r
-                                                       CDTXMania.DTX.tチップの再生( pChip, n再生開始システム時刻ms, nLane, n音量, bモニタ );\r
-                                                       return;\r
-                                               }\r
-                                       case E楽器パート.GUITAR:\r
-#if TEST_NOTEOFFMODE   // 2011.1.1 yyagi test\r
-                                               if (CDTXMania.DTX.bGUITAR演奏で直前のGUITARを消音する) {\r
-#endif\r
-                                                       CDTXMania.DTX.tWavの再生停止(this.n最後に再生したギターの実WAV番号);\r
-#if TEST_NOTEOFFMODE\r
-                                               }\r
-#endif\r
-                                               CDTXMania.DTX.tチップの再生(pChip, n再生開始システム時刻ms, 8, n音量, bモニタ, b音程をずらして再生);\r
-                                               this.n最後に再生したギターの実WAV番号 = pChip.n整数値・内部番号;\r
-                                               return;\r
+               //private void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part )\r
+               //{\r
+               //    this.tサウンド再生( rChip, n再生開始システム時刻ms, part, CDTXMania.ConfigIni.n手動再生音量, false, false );\r
+               //}\r
+               //private void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part, int n音量 )\r
+               //{\r
+               //    this.tサウンド再生( rChip, n再生開始システム時刻ms, part, n音量, false, false );\r
+               //}\r
+               //private void tサウンド再生( CDTX.CChip rChip, long n再生開始システム時刻ms, E楽器パート part, int n音量, bool bモニタ )\r
+               //{\r
+               //    this.tサウンド再生( rChip, n再生開始システム時刻ms, part, n音量, bモニタ, false );\r
+               //}\r
+//        private void tサウンド再生( CDTX.CChip pChip, long n再生開始システム時刻ms, E楽器パート part, int n音量, bool bモニタ, bool b音程をずらして再生 )\r
+//        {\r
+//            if( pChip != null )\r
+//            {\r
+//                switch( part )\r
+//                {\r
+//                    case E楽器パート.DRUMS:\r
+//                        {\r
+//                            int index = pChip.nチャンネル番号;\r
+//                            if ( ( index >= 0x11 ) && ( index <= 0x1a ) )\r
+//                            {\r
+//                                index -= 0x11;\r
+//                            }\r
+//                            else\r
+//                            {\r
+//                                if ( ( index < 0x31 ) || ( index > 0x3a ) )\r
+//                                {\r
+//                                    return;\r
+//                                }\r
+//                                index -= 0x31;\r
+//                            }\r
+//                            int nLane = this.nチャンネル0Atoレーン07[ index ];\r
+//                            if( ( nLane == 1 ) &&    // 今回演奏するのがHC or HO\r
+//                                ( index == 0 || ( index == 7 && this.n最後に再生したHHのチャンネル番号 != 0x18 && this.n最後に再生したHHのチャンネル番号 != 0x38 ) )\r
+//                                // HCを演奏するか、またはHO演奏&以前HO演奏でない&以前不可視HO演奏でない\r
+//                            )\r
+//                            {\r
+//                        // #23921 2011.1.4 yyagi: 2種類以上のオープンハイハットが発音済みだと、最後のHHOしか消せない問題に対応。\r
+//#if TEST_NOTEOFFMODE // 2011.1.1 yyagi test\r
+//                                if (CDTXMania.DTX.bHH演奏で直前のHHを消音する)\r
+//                                {\r
+//#endif\r
+//                                    for (int i = 0; i < this.L最後に再生したHHの実WAV番号.Count; i++)             // #23921 2011.1.4 yyagi\r
+//                                    {\r
+//                                        // CDTXMania.DTX.tWavの再生停止(this.L最後に再生したHHの実WAV番号);\r
+//                                        CDTXMania.DTX.tWavの再生停止(this.L最後に再生したHHの実WAV番号[i]);  // #23921 yyagi ストック分全て消音する\r
+//                                    }\r
+//                                    this.L最後に再生したHHの実WAV番号.Clear();\r
+//#if TEST_NOTEOFFMODE // 2011.1.1 yyagi test\r
+//                                }\r
+//#endif\r
+//                                //this.n最後に再生したHHの実WAV番号 = pChip.n整数値・内部番号;\r
+//                                this.n最後に再生したHHのチャンネル番号 = pChip.nチャンネル番号;\r
+//                            }\r
+//#if TEST_NOTEOFFMODE // 2011.1.4 yyagi test\r
+//                            if (CDTXMania.DTX.bHH演奏で直前のHHを消音する)\r
+//                            {\r
+//#endif\r
+//                                if (index == 7 || index == 0x27)                                             // #23921 HOまたは不可視HO演奏時はそのチップ番号をストックしておく\r
+//                                {\r
+//                                    if (this.L最後に再生したHHの実WAV番号.Count >= 16)    // #23921 ただしストック数が16以上になるようなら、頭の1個を削って常に16未満に抑える\r
+//                                    {                                                                                                        // (ストックが増えてList<>のrealloc()が発生するのを予防する)\r
+//                                        this.L最後に再生したHHの実WAV番号.RemoveAt(0);\r
+//                                    }\r
+//                                    if (this.L最後に再生したHHの実WAV番号.IndexOf(pChip.n整数値・内部番号) < 0)   // チップ音がまだストックされてなければ\r
+//                                    {\r
+//                                        this.L最後に再生したHHの実WAV番号.Add(pChip.n整数値・内部番号);                   // ストックする\r
+//                                    }\r
+//                                }\r
+//#if TEST_NOTEOFFMODE // 2011.1.4 yyagi test\r
+//                            }\r
+//#endif\r
+//                            CDTXMania.DTX.tチップの再生( pChip, n再生開始システム時刻ms, nLane, n音量, bモニタ );\r
+//                            return;\r
+//                        }\r
+//                    case E楽器パート.GUITAR:\r
+//#if TEST_NOTEOFFMODE // 2011.1.1 yyagi test\r
+//                        if (CDTXMania.DTX.bGUITAR演奏で直前のGUITARを消音する) {\r
+//#endif\r
+//                            CDTXMania.DTX.tWavの再生停止(this.n最後に再生したギターの実WAV番号);\r
+//#if TEST_NOTEOFFMODE\r
+//                        }\r
+//#endif\r
+//                        CDTXMania.DTX.tチップの再生(pChip, n再生開始システム時刻ms, 8, n音量, bモニタ, b音程をずらして再生);\r
+//                        this.n最後に再生したギターの実WAV番号 = pChip.n整数値・内部番号;\r
+//                        return;\r
 \r
-                                       case E楽器パート.BASS:\r
-#if TEST_NOTEOFFMODE\r
-                                               if (CDTXMania.DTX.bBASS演奏で直前のBASSを消音する) {\r
-#endif\r
-                                                       CDTXMania.DTX.tWavの再生停止(this.n最後に再生したベースの実WAV番号);\r
-#if TEST_NOTEOFFMODE\r
-                                               }\r
-#endif\r
-                                               CDTXMania.DTX.tチップの再生( pChip, n再生開始システム時刻ms, 9, n音量, bモニタ, b音程をずらして再生 );\r
-                                               this.n最後に再生したベースの実WAV番号 = pChip.n整数値・内部番号;\r
-                                               return;\r
-                               }\r
-                       }\r
-               }\r
+//                    case E楽器パート.BASS:\r
+//#if TEST_NOTEOFFMODE\r
+//                        if (CDTXMania.DTX.bBASS演奏で直前のBASSを消音する) {\r
+//#endif\r
+//                            CDTXMania.DTX.tWavの再生停止(this.n最後に再生したベースの実WAV番号);\r
+//#if TEST_NOTEOFFMODE\r
+//                        }\r
+//#endif\r
+//                        CDTXMania.DTX.tチップの再生( pChip, n再生開始システム時刻ms, 9, n音量, bモニタ, b音程をずらして再生 );\r
+//                        this.n最後に再生したベースの実WAV番号 = pChip.n整数値・内部番号;\r
+//                        return;\r
+//                }\r
+//            }\r
+//        }\r
                //private void tステータスパネルの選択()\r
                //{\r
                //    if( CDTXMania.bコンパクトモード )\r
@@ -1137,223 +1130,234 @@ namespace DTXMania
                //        this.actStatusPanels.tラベル名からステータスパネルを決定する( CDTXMania.stage選曲.r確定された曲.ar難易度ラベル[ CDTXMania.stage選曲.n確定された曲の難易度 ] );\r
                //    }\r
                //}\r
-               private E判定 tチップのヒット処理( long nHitTime, CDTX.CChip pChip )\r
+               protected override E判定 tチップのヒット処理( long nHitTime, CDTX.CChip pChip )\r
                {\r
-                       pChip.bHit = true;\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
-                       {\r
-                               bPChipIsAutoPlay = true;\r
-                       }\r
-                       else\r
-                       {\r
-                               this.bAUTOでないチップが1つでもバーを通過した = true;\r
-                       }\r
-                       E判定 eJudgeResult = E判定.Auto;\r
-                       switch (pChip.e楽器パート)\r
-                       {\r
-                               case E楽器パート.DRUMS:\r
-                                       {\r
-                                               int nInputAdjustTime = bIsAutoPlay[ this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ] ] ? 0 : this.nInputAdjustTimeMs.Drums;\r
-                                               eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
-                                               this.actJudgeString.Start( this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ], bIsAutoPlay[ this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ] ] ? E判定.Auto : eJudgeResult, pChip.nLag );\r
-                                       }\r
-                                       break;\r
-\r
-                               case E楽器パート.GUITAR:\r
-                                       {\r
-                                               int nInputAdjustTime = bIsAutoPlay.Guitar ? 0 : this.nInputAdjustTimeMs.Guitar;\r
-                                               eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
-                                               this.actJudgeString.Start( 10, bIsAutoPlay.Guitar ? E判定.Auto : eJudgeResult, pChip.nLag );\r
-                                       }\r
-                                       break;\r
+                       E判定 eJudgeResult = tチップのヒット処理( nHitTime, pChip, E楽器パート.DRUMS );\r
+                       // #24074 2011.01.23 add ikanick\r
+                       this.actGraph.dbグラフ値現在_渡 = CScoreIni.t演奏型スキルを計算して返す( CDTXMania.DTX.n可視チップ数.Drums, this.nヒット数・Auto含まない.Drums.Perfect, this.nヒット数・Auto含まない.Drums.Great, this.nヒット数・Auto含まない.Drums.Good, this.nヒット数・Auto含まない.Drums.Poor, this.nヒット数・Auto含まない.Drums.Miss );\r
+                       return eJudgeResult;\r
+               }\r
+               //private E判定 tチップのヒット処理( long nHitTime, CDTX.CChip pChip )\r
+               //{\r
+               //    pChip.bHit = true;\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
+               //    {\r
+               //        bPChipIsAutoPlay = true;\r
+               //    }\r
+               //    else\r
+               //    {\r
+               //        this.bAUTOでないチップが1つでもバーを通過した = true;\r
+               //    }\r
+               //    E判定 eJudgeResult = E判定.Auto;\r
+               //    switch (pChip.e楽器パート)\r
+               //    {\r
+               //        case E楽器パート.DRUMS:\r
+               //            {\r
+               //                int nInputAdjustTime = bIsAutoPlay[ this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ] ] ? 0 : this.nInputAdjustTimeMs.Drums;\r
+               //                eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
+               //                this.actJudgeString.Start( this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ], bIsAutoPlay[ this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ] ] ? E判定.Auto : eJudgeResult, pChip.nLag );\r
+               //            }\r
+               //            break;\r
 \r
-                               case E楽器パート.BASS:\r
-                                       {\r
-                                               int nInputAdjustTime = bIsAutoPlay.Bass ? 0 : this.nInputAdjustTimeMs.Bass;\r
-                                               eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
-                                               this.actJudgeString.Start( 11, bIsAutoPlay.Bass ? E判定.Auto : eJudgeResult, pChip.nLag );\r
-                                       }\r
-                                       break;\r
-                       }\r
-                       if( !bPChipIsAutoPlay && ( pChip.e楽器パート != E楽器パート.UNKNOWN ) )\r
-                       {\r
-                               this.t判定にあわせてゲージを増減する( E楽器パート.DRUMS, pChip.e楽器パート, eJudgeResult );\r
-                       }\r
-                       switch( pChip.e楽器パート )\r
-                       {\r
-                               case E楽器パート.DRUMS:\r
-                                       switch ( eJudgeResult )\r
-                                       {\r
-                                               case E判定.Miss:\r
-                                               case E判定.Bad:\r
-                                                       this.nヒット数・Auto含む.Drums.Miss++;\r
-                                                       if ( !bPChipIsAutoPlay )\r
-                                                       {\r
-                                                               this.nヒット数・Auto含まない.Drums.Miss++;\r
-                                                       }\r
-                                                       break;\r
-                                               default:\r
-                                                       this.nヒット数・Auto含む.Drums[ (int) eJudgeResult ]++;\r
-                                                       if ( !bPChipIsAutoPlay )\r
-                                                       {\r
-                                                               this.nヒット数・Auto含まない.Drums[ (int) eJudgeResult ]++;\r
-                                                       }\r
-                                                       break;\r
-                                       }\r
+               //        case E楽器パート.GUITAR:\r
+               //            {\r
+               //                int nInputAdjustTime = bIsAutoPlay.Guitar ? 0 : this.nInputAdjustTimeMs.Guitar;\r
+               //                eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
+               //                this.actJudgeString.Start( 10, bIsAutoPlay.Guitar ? E判定.Auto : eJudgeResult, pChip.nLag );\r
+               //            }\r
+               //            break;\r
 \r
-                                       if (CDTXMania.ConfigIni.bドラムが全部オートプレイである || !bPChipIsAutoPlay)\r
-                                       {\r
-                                               switch (eJudgeResult)\r
-                                               {\r
-                                                       case E判定.Perfect:\r
-                                                       case E判定.Great:\r
-                                                       case E判定.Good:\r
-                                                               this.actCombo.n現在のコンボ数.Drums++;\r
-                                                               break;\r
+               //        case E楽器パート.BASS:\r
+               //            {\r
+               //                int nInputAdjustTime = bIsAutoPlay.Bass ? 0 : this.nInputAdjustTimeMs.Bass;\r
+               //                eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
+               //                this.actJudgeString.Start( 11, bIsAutoPlay.Bass ? E判定.Auto : eJudgeResult, pChip.nLag );\r
+               //            }\r
+               //            break;\r
+               //    }\r
+               //    if( !bPChipIsAutoPlay && ( pChip.e楽器パート != E楽器パート.UNKNOWN ) )\r
+               //    {\r
+               //        this.t判定にあわせてゲージを増減する( E楽器パート.DRUMS, pChip.e楽器パート, eJudgeResult );\r
+               //    }\r
+               //    switch( pChip.e楽器パート )\r
+               //    {\r
+               //        case E楽器パート.DRUMS:\r
+               //            switch ( eJudgeResult )\r
+               //            {\r
+               //                case E判定.Miss:\r
+               //                case E判定.Bad:\r
+               //                    this.nヒット数・Auto含む.Drums.Miss++;\r
+               //                    if ( !bPChipIsAutoPlay )\r
+               //                    {\r
+               //                        this.nヒット数・Auto含まない.Drums.Miss++;\r
+               //                    }\r
+               //                    break;\r
+               //                default:\r
+               //                    this.nヒット数・Auto含む.Drums[ (int) eJudgeResult ]++;\r
+               //                    if ( !bPChipIsAutoPlay )\r
+               //                    {\r
+               //                        this.nヒット数・Auto含まない.Drums[ (int) eJudgeResult ]++;\r
+               //                    }\r
+               //                    break;\r
+               //            }\r
 \r
-                                                       default:\r
-                                                               this.actCombo.n現在のコンボ数.Drums = 0;\r
-                                                               break;\r
-                                               }\r
-                                       }\r
-                                       break;\r
+               //            if (CDTXMania.ConfigIni.bドラムが全部オートプレイである || !bPChipIsAutoPlay)\r
+               //            {\r
+               //                switch (eJudgeResult)\r
+               //                {\r
+               //                    case E判定.Perfect:\r
+               //                    case E判定.Great:\r
+               //                    case E判定.Good:\r
+               //                        this.actCombo.n現在のコンボ数.Drums++;\r
+               //                        break;\r
+\r
+               //                    default:\r
+               //                        this.actCombo.n現在のコンボ数.Drums = 0;\r
+               //                        break;\r
+               //                }\r
+               //            }\r
+               //            break;\r
 \r
-                               case E楽器パート.GUITAR:\r
-                                       switch( eJudgeResult )\r
-                                       {\r
-                                               case E判定.Miss:\r
-                                               case E判定.Bad:\r
-                                                       this.nヒット数・Auto含む.Guitar.Miss++;\r
-                                                       if ( !bIsAutoPlay.Guitar )\r
-                                                       {\r
-                                                               this.nヒット数・Auto含まない.Guitar.Miss++;\r
-                                                       }\r
-                               break;\r
-                                               default:    // #24068 2011.1.10 ikanick changed\r
-                                                       this.nヒット数・Auto含む.Guitar[ (int) eJudgeResult ]++;\r
-                                                       if ( !bIsAutoPlay.Guitar )\r
-                                                       {\r
-                                                               this.nヒット数・Auto含まない.Guitar[ (int) eJudgeResult ]++;\r
-                                                       }\r
-                                                       break;\r
-                                       }\r
-                                       switch (eJudgeResult)\r
-                                       {\r
-                                               case E判定.Perfect:\r
-                                               case E判定.Great:\r
-                                               case E判定.Good:\r
-                                                       this.actCombo.n現在のコンボ数.Guitar++;\r
-                                                       break;\r
+               //        case E楽器パート.GUITAR:\r
+               //            switch( eJudgeResult )\r
+               //            {\r
+               //                case E判定.Miss:\r
+               //                case E判定.Bad:\r
+               //                    this.nヒット数・Auto含む.Guitar.Miss++;\r
+               //                    if ( !bIsAutoPlay.Guitar )\r
+               //                    {\r
+               //                        this.nヒット数・Auto含まない.Guitar.Miss++;\r
+               //                    }\r
+               //                       break;\r
+               //                default:    // #24068 2011.1.10 ikanick changed\r
+               //                    this.nヒット数・Auto含む.Guitar[ (int) eJudgeResult ]++;\r
+               //                    if ( !bIsAutoPlay.Guitar )\r
+               //                    {\r
+               //                        this.nヒット数・Auto含まない.Guitar[ (int) eJudgeResult ]++;\r
+               //                    }\r
+               //                    break;\r
+               //            }\r
+               //            switch (eJudgeResult)\r
+               //            {\r
+               //                case E判定.Perfect:\r
+               //                case E判定.Great:\r
+               //                case E判定.Good:\r
+               //                    this.actCombo.n現在のコンボ数.Guitar++;\r
+               //                    break;\r
 \r
-                                               default:\r
-                                                       this.actCombo.n現在のコンボ数.Guitar = 0;\r
-                                                       break;\r
-                                       }\r
-                                       break;\r
+               //                default:\r
+               //                    this.actCombo.n現在のコンボ数.Guitar = 0;\r
+               //                    break;\r
+               //            }\r
+               //            break;\r
 \r
-                               case E楽器パート.BASS:\r
-                                       switch( eJudgeResult )\r
-                                       {\r
-                                               case E判定.Miss:\r
-                                               case E判定.Bad:\r
-                                                       this.nヒット数・Auto含む.Bass.Miss++;\r
-                                                       if ( !bIsAutoPlay.Bass )\r
-                                                       {\r
-                                                               this.nヒット数・Auto含まない.Bass.Miss++;\r
-                                                       }\r
-                                                       break;\r
-                                               default:    // #24068 2011.1.10 ikanick changed\r
-                                                       this.nヒット数・Auto含む.Bass[ (int) eJudgeResult ]++;\r
-                                                       if ( !bIsAutoPlay.Bass )\r
-                                                       {\r
-                                                               this.nヒット数・Auto含まない.Bass[ (int) eJudgeResult ]++;\r
-                                                       }\r
-                                                       break;\r
-                                       }\r
+               //        case E楽器パート.BASS:\r
+               //            switch( eJudgeResult )\r
+               //            {\r
+               //                case E判定.Miss:\r
+               //                case E判定.Bad:\r
+               //                    this.nヒット数・Auto含む.Bass.Miss++;\r
+               //                    if ( !bIsAutoPlay.Bass )\r
+               //                    {\r
+               //                        this.nヒット数・Auto含まない.Bass.Miss++;\r
+               //                    }\r
+               //                    break;\r
+               //                default:    // #24068 2011.1.10 ikanick changed\r
+               //                    this.nヒット数・Auto含む.Bass[ (int) eJudgeResult ]++;\r
+               //                    if ( !bIsAutoPlay.Bass )\r
+               //                    {\r
+               //                        this.nヒット数・Auto含まない.Bass[ (int) eJudgeResult ]++;\r
+               //                    }\r
+               //                    break;\r
+               //            }\r
 \r
-                                       switch( eJudgeResult )\r
-                                       {\r
-                                               case E判定.Perfect:\r
-                                               case E判定.Great:\r
-                                               case E判定.Good:\r
-                                                       this.actCombo.n現在のコンボ数.Bass++;\r
-                                                       break;\r
+               //            switch( eJudgeResult )\r
+               //            {\r
+               //                case E判定.Perfect:\r
+               //                case E判定.Great:\r
+               //                case E判定.Good:\r
+               //                    this.actCombo.n現在のコンボ数.Bass++;\r
+               //                    break;\r
 \r
-                                               default:\r
-                                                       this.actCombo.n現在のコンボ数.Bass = 0;\r
-                                                       break;\r
-                                       }\r
-                                       break;\r
+               //                default:\r
+               //                    this.actCombo.n現在のコンボ数.Bass = 0;\r
+               //                    break;\r
+               //            }\r
+               //            break;\r
 \r
-                               default:\r
-                                       break;\r
-                       }\r
-                       if( ( !bPChipIsAutoPlay && ( pChip.e楽器パート != E楽器パート.UNKNOWN ) ) && ( ( eJudgeResult != E判定.Miss ) && ( eJudgeResult != E判定.Bad ) ) )\r
-                       {\r
-                               int nCombos = 0;\r
-                               switch (pChip.e楽器パート) {\r
-                                       case E楽器パート.DRUMS:\r
-                                               nCombos = this.actCombo.n現在のコンボ数.Drums;\r
-                                               break;\r
-                                       case E楽器パート.GUITAR:\r
-                                               nCombos = this.actCombo.n現在のコンボ数.Guitar;\r
-                                               break;\r
-                                       case E楽器パート.BASS:\r
-                                               nCombos = this.actCombo.n現在のコンボ数.Bass;\r
-                                               break;\r
-                               }\r
-                               long nScore = this.actScore.Get( pChip.e楽器パート );\r
-                               long[] numArray = new long[] { 350L, 200L, 50L, 0L };\r
-                               if( ( nCombos <= 500 ) || ( eJudgeResult == E判定.Good ) )\r
-                               {\r
-                                       nScore += numArray[ (int) eJudgeResult ] * nCombos;\r
-                               }\r
-                               else if( ( eJudgeResult == E判定.Perfect ) || ( eJudgeResult == E判定.Great ) )\r
-                               {\r
-                                       nScore += numArray[ (int) eJudgeResult ] * 500L;\r
-                               }\r
-                               this.actScore.Set( pChip.e楽器パート, nScore );\r
-                       }\r
-            // #24074 2011.01.23 add ikanick\r
-                       this.actGraph.dbグラフ値現在_渡 = CScoreIni.t演奏型スキルを計算して返す( CDTXMania.DTX.n可視チップ数.Drums, this.nヒット数・Auto含まない.Drums.Perfect, this.nヒット数・Auto含まない.Drums.Great, this.nヒット数・Auto含まない.Drums.Good, this.nヒット数・Auto含まない.Drums.Poor, this.nヒット数・Auto含まない.Drums.Miss );\r
+               //        default:\r
+               //            break;\r
+               //    }\r
+               //    if( ( !bPChipIsAutoPlay && ( pChip.e楽器パート != E楽器パート.UNKNOWN ) ) && ( ( eJudgeResult != E判定.Miss ) && ( eJudgeResult != E判定.Bad ) ) )\r
+               //    {\r
+               //        int nCombos = 0;\r
+               //        switch (pChip.e楽器パート) {\r
+               //            case E楽器パート.DRUMS:\r
+               //                nCombos = this.actCombo.n現在のコンボ数.Drums;\r
+               //                break;\r
+               //            case E楽器パート.GUITAR:\r
+               //                nCombos = this.actCombo.n現在のコンボ数.Guitar;\r
+               //                break;\r
+               //            case E楽器パート.BASS:\r
+               //                nCombos = this.actCombo.n現在のコンボ数.Bass;\r
+               //                break;\r
+               //        }\r
+               //        long nScore = this.actScore.Get( pChip.e楽器パート );\r
+               //        long[] numArray = new long[] { 350L, 200L, 50L, 0L };\r
+               //        if( ( nCombos <= 500 ) || ( eJudgeResult == E判定.Good ) )\r
+               //        {\r
+               //            nScore += numArray[ (int) eJudgeResult ] * nCombos;\r
+               //        }\r
+               //        else if( ( eJudgeResult == E判定.Perfect ) || ( eJudgeResult == E判定.Great ) )\r
+               //        {\r
+               //            nScore += numArray[ (int) eJudgeResult ] * 500L;\r
+               //        }\r
+               //        this.actScore.Set( pChip.e楽器パート, nScore );\r
+               //    }\r
+               //    // #24074 2011.01.23 add ikanick\r
+               //    this.actGraph.dbグラフ値現在_渡 = CScoreIni.t演奏型スキルを計算して返す( CDTXMania.DTX.n可視チップ数.Drums, this.nヒット数・Auto含まない.Drums.Perfect, this.nヒット数・Auto含まない.Drums.Great, this.nヒット数・Auto含まない.Drums.Good, this.nヒット数・Auto含まない.Drums.Poor, this.nヒット数・Auto含まない.Drums.Miss );\r
 \r
-            return eJudgeResult;\r
-               }\r
-               private void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part )\r
+               //    return eJudgeResult;\r
+               //}\r
+               protected override void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part )\r
                {\r
-                       this.tチップのヒット処理・BadならびにTight時のMiss( part, 0 );\r
+                       this.tチップのヒット処理・BadならびにTight時のMiss( part, 0, E楽器パート.DRUMS );\r
                }\r
-               private void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part, int nLane )\r
+               protected override void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part, int nLane )\r
                {\r
-                       this.bAUTOでないチップが1つでもバーを通過した = true;\r
-                       this.t判定にあわせてゲージを増減する( E楽器パート.DRUMS, part, E判定.Miss );\r
-                       switch( part )\r
-                       {\r
-                               case E楽器パート.DRUMS:\r
-                                       if( ( nLane >= 0 ) && ( nLane <= 7 ) )\r
-                                       {\r
-                                               this.actJudgeString.Start( nLane, CDTXMania.ConfigIni.bAutoPlay[ nLane ] ? E判定.Auto : E判定.Miss, 999 );\r
-                                       }\r
-                                       this.actCombo.n現在のコンボ数.Drums = 0;\r
-                                       return;\r
-\r
-                               case E楽器パート.GUITAR:\r
-                                       this.actJudgeString.Start( 10, E判定.Bad, 999 );\r
-                                       this.actCombo.n現在のコンボ数.Guitar = 0;\r
-                                       return;\r
-\r
-                               case E楽器パート.BASS:\r
-                                       this.actJudgeString.Start( 11, E判定.Bad, 999 );\r
-                                       this.actCombo.n現在のコンボ数.Bass = 0;\r
-                                       return;\r
-                       }\r
+                       this.tチップのヒット処理・BadならびにTight時のMiss( part, nLane, E楽器パート.DRUMS );\r
                }\r
+               //private void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part, int nLane )\r
+               //{\r
+               //    this.bAUTOでないチップが1つでもバーを通過した = true;\r
+               //    this.t判定にあわせてゲージを増減する( E楽器パート.DRUMS, part, E判定.Miss );\r
+               //    switch( part )\r
+               //    {\r
+               //        case E楽器パート.DRUMS:\r
+               //            if( ( nLane >= 0 ) && ( nLane <= 7 ) )\r
+               //            {\r
+               //                this.actJudgeString.Start( nLane, CDTXMania.ConfigIni.bAutoPlay[ nLane ] ? E判定.Auto : E判定.Miss, 999 );\r
+               //            }\r
+               //            this.actCombo.n現在のコンボ数.Drums = 0;\r
+               //            return;\r
+\r
+               //        case E楽器パート.GUITAR:\r
+               //            this.actJudgeString.Start( 10, E判定.Bad, 999 );\r
+               //            this.actCombo.n現在のコンボ数.Guitar = 0;\r
+               //            return;\r
+\r
+               //        case E楽器パート.BASS:\r
+               //            this.actJudgeString.Start( 11, E判定.Bad, 999 );\r
+               //            this.actCombo.n現在のコンボ数.Bass = 0;\r
+               //            return;\r
+               //    }\r
+               //}\r
                private bool tドラムヒット処理( long nHitTime, Eパッド type, CDTX.CChip pChip, int n強弱度合い0to127 )\r
                {\r
                        if( pChip == null )\r
@@ -1517,9 +1521,9 @@ namespace DTXMania
                {\r
                        base.t進行描画・BGA( 0x152, 0x39 );\r
                }\r
-               private void t進行描画・DANGER()\r
+               protected override void t進行描画・DANGER()\r
                {\r
-                       this.actDANGER.t進行描画( this.actGauge.db現在のゲージ値.Drums < 0.3 );\r
+                   this.actDANGER.t進行描画( this.actGauge.db現在のゲージ値.Drums < 0.3 );\r
                }\r
                //private void t進行描画・MIDIBGM()\r
                //{\r
@@ -1594,7 +1598,7 @@ namespace DTXMania
                                }\r
                        }\r
                }\r
-               private void t進行描画・ギターベース判定ライン()\r
+               private void t進行描画・ギターベース判定ライン()                // yyagi: ギタレボモードとは座標が違うだけですが、まとめづらかったのでそのまま放置してます。\r
                {\r
                        if ( ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) && CDTXMania.ConfigIni.bGuitar有効 )\r
                        {\r
@@ -1612,13 +1616,13 @@ namespace DTXMania
                                }\r
                                if ( CDTXMania.DTX.bチップがある.Bass )\r
                                {\r
-                                       int num3 = ( CDTXMania.ConfigIni.bReverse.Bass ? 0x176 : 0x5f ) - 3;\r
+                                       int y = ( CDTXMania.ConfigIni.bReverse.Bass ? 0x176 : 0x5f ) - 3;\r
                                        for ( int j = 0; j < 3; j++ )\r
                                        {\r
                                                if ( this.txヒットバーGB != null )\r
                                                {\r
-                                                       this.txヒットバーGB.t2D描画( CDTXMania.app.Device, 400 + ( 0x1a * j ), num3 );\r
-                                                       this.txヒットバーGB.t2D描画( CDTXMania.app.Device, ( 400 + ( 0x1a * j ) ) + 0x10, num3, new Rectangle( 0, 0, 10, 0x10 ) );\r
+                                                       this.txヒットバーGB.t2D描画( CDTXMania.app.Device, 400 + ( 0x1a * j ), y );\r
+                                                       this.txヒットバーGB.t2D描画( CDTXMania.app.Device, ( 400 + ( 0x1a * j ) ) + 0x10, y, new Rectangle( 0, 0, 10, 0x10 ) );\r
                                                }\r
                                        }\r
                                }\r
@@ -1648,11 +1652,11 @@ namespace DTXMania
                //{\r
                //    this.actScore.On進行描画();\r
                //}\r
-               private void t進行描画・ステータスパネル()\r
-               {\r
-                       this.actStatusPanels.On進行描画();\r
-               }\r
-               private bool t進行描画・チップ()\r
+               //private void t進行描画・ステータスパネル()\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
@@ -1662,35 +1666,35 @@ namespace DTXMania
                        {\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 num = ( ( ( ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Drums + 1.0 ) * 0.5 ) * 37.5 ) * speed ) / 60000.0;\r
-                       double num2 = ( ( ( ( ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Guitar + 1.0 ) * 0.5 ) * 0.5 ) * 37.5 ) * speed ) / 60000.0;\r
-                       double num3 = ( ( ( ( ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Bass + 1.0 ) * 0.5 ) * 0.5 ) * 37.5 ) * speed ) / 60000.0;\r
-                       int num4 = this.n現在のトップChip;\r
-                       if( num4 == -1 )\r
-                       {\r
-                               return true;\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( num4 < dTX.listChip.Count )\r
+                       while( nCurrentTopChip < dTX.listChip.Count )\r
                        {\r
-                               int num6;\r
-                               CDTX.CChip pChip = dTX.listChip[ num4 ];\r
-                               pChip.nバーからの距離dot.Drums = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * num );\r
-                               pChip.nバーからの距離dot.Guitar = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * num2 );\r
-                               pChip.nバーからの距離dot.Bass = (int) ( ( pChip.n発声時刻ms - CDTXMania.Timer.n現在時刻 ) * num3 );\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( ( ( num4 == this.n現在のトップChip ) && ( pChip.nバーからの距離dot.Drums < -65 ) ) && pChip.bHit )\r
+                               if( ( ( nCurrentTopChip == this.n現在のトップChip ) && ( pChip.nバーからの距離dot.Drums < -65 ) ) && pChip.bHit )\r
                                {\r
                                        this.n現在のトップChip++;\r
-                                       num4 = this.n現在のトップChip;\r
+                                       nCurrentTopChip = this.n現在のトップChip;\r
                                        continue;\r
                                }\r
 \r
@@ -1717,10 +1721,9 @@ namespace DTXMania
                                }\r
                                else\r
                                {\r
-                                       // int[] nInputAdjustTimes = new int[] { this.nInputAdjustTimeMs_Drums, this.nInputAdjustTimeMs_Guitar, this.nInputAdjustTimeMs_Bass };\r
-                                       // nInputAdjustTime = nInputAdjustTimes[(int)pChip.e楽器パート];\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
@@ -1815,162 +1818,176 @@ namespace DTXMania
                                        case 0x18:\r
                                        case 0x19:\r
                                        case 0x1a:\r
-                                               num6 = this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ];\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
+                                                       int indexSevenLanes = this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ];\r
+                                                       if ( ePlayMode == E楽器パート.GUITAR )             // GRモード\r
                                                        {\r
-                                                               if( pChip.nバーからの距離dot.Drums < 100 )\r
-                                                               {\r
-                                                                       pChip.b可視 = false;\r
-                                                               }\r
-                                                               else if( pChip.nバーからの距離dot.Drums < 150 )\r
+                                                               if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
                                                                {\r
-                                                                       pChip.b可視 = true;\r
-                                                                       pChip.n透明度 = (int) ( ( ( (double) ( pChip.nバーからの距離dot.Drums - 100 ) ) * 255.0 ) / 50.0 );\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
-                                                       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
+                                                       else\r
+                                                       {                                                                       // Drumsモード\r
+                                                               if ( configIni.bDrums有効 )\r
                                                                {\r
-                                                                       case 0x11:\r
-                                                                               x = ( x + 0x10 ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
-                                                                               if( this.txチップ != null )\r
+                                                                       if ( configIni.bSudden.Drums )\r
+                                                                       {\r
+                                                                               if ( pChip.nバーからの距離dot.Drums < 200 )\r
                                                                                {\r
-                                                                                       this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0x2c, num9 * 7, 0x20, 8 ) );\r
+                                                                                       pChip.b可視 = true;\r
+                                                                                       pChip.n透明度 = 0xff;\r
                                                                                }\r
-                                                                               break;\r
-\r
-                                                                       case 0x12:\r
-                                                                               x = ( x + 0x10 ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
-                                                                               if( this.txチップ != null )\r
+                                                                               else if ( pChip.nバーからの距離dot.Drums < 250 )\r
                                                                                {\r
-                                                                                       this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0x4c, num9 * 7, 0x20, 8 ) );\r
+                                                                                       pChip.b可視 = true;\r
+                                                                                       pChip.n透明度 = 0xff - ( (int) ( ( ( (double) ( pChip.nバーからの距離dot.Drums - 200 ) ) * 255.0 ) / 50.0 ) );\r
                                                                                }\r
-                                                                               break;\r
-\r
-                                                                       case 0x13:\r
-                                                                               x = ( x + 0x16 ) - ( (int) ( ( 44.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
-                                                                               if( this.txチップ != null )\r
+                                                                               else\r
                                                                                {\r
-                                                                                       this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 5, new Rectangle( 0, num9 * 9, 0x2c, 10 ) );\r
+                                                                                       pChip.b可視 = false;\r
+                                                                                       pChip.n透明度 = 0;\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
+                                                                       if ( configIni.bHidden.Drums )\r
+                                                                       {\r
+                                                                               if ( pChip.nバーからの距離dot.Drums < 100 )\r
                                                                                {\r
-                                                                                       this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0x6c, num9 * 7, 0x20, 8 ) );\r
+                                                                                       pChip.b可視 = false;\r
                                                                                }\r
-                                                                               break;\r
-\r
-                                                                       case 0x15:\r
-                                                                               x = ( x + 0x10 ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
-                                                                               if( this.txチップ != null )\r
+                                                                               else if ( pChip.nバーからの距離dot.Drums < 150 )\r
                                                                                {\r
-                                                                                       this.txチップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 140, num9 * 7, 0x20, 8 ) );\r
+                                                                                       pChip.b可視 = true;\r
+                                                                                       pChip.n透明度 = (int) ( ( ( (double) ( pChip.nバーからの距離dot.Drums - 100 ) ) * 255.0 ) / 50.0 );\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
+                                                                       if ( !pChip.bHit && pChip.b可視 )\r
+                                                                       {\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
+                                                                                       this.txチップ.n透明度 = pChip.n透明度;\r
                                                                                }\r
-                                                                               break;\r
-\r
-                                                                       case 0x17:\r
-                                                                               x = ( x + 0x10 ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
-                                                                               if( this.txチップ != null )\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チップ.t2D描画( CDTXMania.app.Device, x, num8 - 4, new Rectangle( 0xac, num9 * 7, 0x20, 8 ) );\r
+                                                                                       this.txチップ.vc拡大縮小倍率 = new Vector3( (float) pChip.dbチップサイズ倍率, (float) pChip.dbチップサイズ倍率, 1f );\r
                                                                                }\r
-                                                                               break;\r
-\r
-                                                                       case 0x18:\r
-                                                                               x = ( x + 13 ) - ( (int) ( ( 26.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
-                                                                               if( this.txチップ != null )\r
+                                                                               int num9 = this.ctチップ模様アニメ.Drums.n現在の値;\r
+                                                                               switch ( pChip.nチャンネル番号 )\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
+                                                                                       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 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
+                                                                                       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 0x1a:\r
-                                                                               x = ( x + 0x13 ) - ( (int) ( ( 38.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );\r
-                                                                               if( this.txチップ != null )\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 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チップ.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
+                                                                                       this.txチップ.vc拡大縮小倍率 = new Vector3( 1f, 1f, 1f );\r
+                                                                                       this.txチップ.n透明度 = 0xff;\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[ num6 ] && !pChip.bHit ) && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
-                                                       {\r
-                                                               pChip.bHit = true;\r
-                                                               this.actLaneFlushD.Start( (Eドラムレーン) num6, ( (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ドラムレーン) num6, 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
+                                                                       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
-                                                       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
                                                break;\r
 \r
@@ -2558,7 +2575,7 @@ namespace DTXMania
                                                break;\r
                                }\r
 \r
-                               num4++;\r
+                               nCurrentTopChip++;\r
                        }\r
                        return false;\r
                }\r
@@ -2574,10 +2591,10 @@ namespace DTXMania
                {\r
                        this.actChipFireD.On進行描画();\r
                }\r
-               private void t進行描画・チップファイアGB()\r
-               {\r
-                       this.actChipFireGB.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
@@ -2617,20 +2634,20 @@ namespace DTXMania
                //    }\r
                //    return false;\r
                //}\r
-               private void t進行描画・レーンフラッシュD()\r
-               {\r
-                       if( ( ( CDTXMania.ConfigIni.eDark != Eダークモード.HALF ) && ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) ) && ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) )\r
-                       {\r
-                               this.actLaneFlushD.On進行描画();\r
-                       }\r
-               }\r
-               private void t進行描画・レーンフラッシュGB()\r
-               {\r
-                       if( ( ( CDTXMania.ConfigIni.eDark != Eダークモード.HALF ) && ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) ) && CDTXMania.ConfigIni.bGuitar有効 )\r
-                       {\r
-                               this.actLaneFlushGB.On進行描画();\r
-                       }\r
-               }\r
+               //private void t進行描画・レーンフラッシュD()\r
+               //{\r
+               //    if( ( ( CDTXMania.ConfigIni.eDark != Eダークモード.HALF ) && ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) ) && ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) )\r
+               //    {\r
+               //        this.actLaneFlushD.On進行描画();\r
+               //    }\r
+               //}\r
+               //private void t進行描画・レーンフラッシュGB()\r
+               //{\r
+               //    if( ( ( CDTXMania.ConfigIni.eDark != Eダークモード.HALF ) && ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) ) && CDTXMania.ConfigIni.bGuitar有効 )\r
+               //    {\r
+               //        this.actLaneFlushGB.On進行描画();\r
+               //    }\r
+               //}\r
                protected override void t進行描画・演奏情報()\r
                {\r
                        base.t進行描画・演奏情報( 0x152, 0x39 );\r
@@ -2700,141 +2717,141 @@ namespace DTXMania
                //        this.b演奏にマウスを使った[ (int) part ] = true;\r
                //    }\r
                //}\r
-               protected override void t入力処理・ギター()\r
-               {\r
-                       if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.B ) )\r
-                       {\r
-                               CDTXMania.ConfigIni.n譜面スクロール速度.Guitar = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Guitar + 1, 0x7cf );\r
-                       }\r
-                       if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.R ) )\r
-                       {\r
-                               CDTXMania.ConfigIni.n譜面スクロール速度.Guitar = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Guitar - 1, 0 );\r
-                       }\r
+               //protected override void t入力処理・ギター()\r
+               //{\r
+               //    if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.B ) )\r
+               //    {\r
+               //        CDTXMania.ConfigIni.n譜面スクロール速度.Guitar = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Guitar + 1, 0x7cf );\r
+               //    }\r
+               //    if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.R ) )\r
+               //    {\r
+               //        CDTXMania.ConfigIni.n譜面スクロール速度.Guitar = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Guitar - 1, 0 );\r
+               //    }\r
 \r
-                       if ( CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Guitar )\r
-                       {\r
-                               if ( bIsAutoPlay.Guitar )\r
-                               {\r
-                                       CDTX.CChip chip = this.r次にくるギターChipを更新して返す();\r
-                                       if( chip != null )\r
-                                       {\r
-                                               if( ( chip.nチャンネル番号 & 4 ) != 0 )\r
-                                               {\r
-                                                       this.actLaneFlushGB.Start( 0 );\r
-                                                       this.actRGB.Push( 0 );\r
-                                               }\r
-                                               if( ( chip.nチャンネル番号 & 2 ) != 0 )\r
-                                               {\r
-                                                       this.actLaneFlushGB.Start( 1 );\r
-                                                       this.actRGB.Push( 1 );\r
-                                               }\r
-                                               if( ( chip.nチャンネル番号 & 1 ) != 0 )\r
-                                               {\r
-                                                       this.actLaneFlushGB.Start( 2 );\r
-                                                       this.actRGB.Push( 2 );\r
-                                               }\r
-                                       }\r
-                               }\r
-                               else\r
-                               {\r
-                                       int flagR = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.R) ? 4 : 0;\r
-                                       this.t入力メソッド記憶( E楽器パート.GUITAR );\r
-                                       int flagG = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.G ) ? 2 : 0;\r
-                                       this.t入力メソッド記憶( E楽器パート.GUITAR );\r
-                                       int flagB = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.B ) ? 1 : 0;\r
-                                       this.t入力メソッド記憶( E楽器パート.GUITAR );\r
-                                       int flagRGB =  flagR | flagG  | flagB;\r
-                                       if( flagR != 0 )\r
-                                       {\r
-                                               this.actLaneFlushGB.Start( 0 );\r
-                                               this.actRGB.Push( 0 );\r
-                                       }\r
-                                       if( flagG != 0 )\r
-                                       {\r
-                                               this.actLaneFlushGB.Start( 1 );\r
-                                               this.actRGB.Push( 1 );\r
-                                       }\r
-                                       if( flagB != 0 )\r
-                                       {\r
-                                               this.actLaneFlushGB.Start( 2 );\r
-                                               this.actRGB.Push( 2 );\r
-                                       }\r
-                                       List<STInputEvent> events = CDTXMania.Pad.GetEvents( E楽器パート.GUITAR, Eパッド.Pick );\r
-                                       if( ( events != null ) && ( events.Count > 0 ) )\r
-                                       {\r
-                                               this.t入力メソッド記憶( E楽器パート.GUITAR );\r
-                                               foreach( STInputEvent event2 in events )\r
-                                               {\r
-                                                       CDTX.CChip chip4;\r
-                                                       if( !event2.b押された )\r
-                                                       {\r
-                                                               continue;\r
-                                                       }\r
-                                                       long nTime = event2.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
-                                                       CDTX.CChip pChip = this.r指定時刻に一番近い未ヒットChip( nTime, 0x2f, this.nInputAdjustTimeMs.Guitar );\r
-                                                       E判定 e判定 = this.e指定時刻からChipのJUDGEを返す( nTime, pChip, this.nInputAdjustTimeMs.Guitar );\r
-                                                       if( ( ( pChip != null ) && ( ( pChip.nチャンネル番号 & 15 ) == flagRGB ) ) && ( e判定 != E判定.Miss ) )\r
-                                                       {\r
-                                                               if( ( flagR != 0 ) || ( flagRGB == 0 ) )\r
-                                                               {\r
-                                                                       this.actChipFireGB.Start( 0 );\r
-                                                               }\r
-                                                               if( ( flagG != 0 ) || ( flagRGB == 0 ) )\r
-                                                               {\r
-                                                                       this.actChipFireGB.Start( 1 );\r
-                                                               }\r
-                                                               if( ( flagB != 0 ) || ( flagRGB == 0 ) )\r
-                                                               {\r
-                                                                       this.actChipFireGB.Start( 2 );\r
-                                                               }\r
-                                                               this.tチップのヒット処理( nTime, pChip );\r
-                                                               this.tサウンド再生( pChip, CDTXMania.Timer.nシステム時刻, E楽器パート.GUITAR, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Guitar, e判定 == E判定.Poor );\r
-                                                               CDTX.CChip item = this.r指定時刻に一番近い未ヒットChip( nTime, 40, this.nInputAdjustTimeMs.Guitar, 140 );\r
-                                                               if( item != null )\r
-                                                               {\r
-                                                                       this.queWailing.Guitar.Enqueue( item );\r
-                                                               }\r
-                                                               continue;\r
-                                                       }\r
-                                                       if( ( ( chip4 = this.r現在の空うちギターChip ) != null ) || ( ( chip4 = this.r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( nTime, 0x2f, this.nInputAdjustTimeMs.Guitar ) ) != null ) )\r
-                                                       {\r
-                                                               this.tサウンド再生( chip4, CDTXMania.Timer.nシステム時刻, E楽器パート.GUITAR, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Guitar, true );\r
-                                                       }\r
-                                                       if( !CDTXMania.ConfigIni.bLight.Guitar )\r
-                                                       {\r
-                                                               this.tチップのヒット処理・BadならびにTight時のMiss( E楽器パート.GUITAR );\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                                       List<STInputEvent> list2 = CDTXMania.Pad.GetEvents( E楽器パート.GUITAR, Eパッド.Wail );\r
-                                       if( ( list2 != null ) && ( list2.Count > 0 ) )\r
-                                       {\r
-                                               foreach( STInputEvent event3 in list2 )\r
-                                               {\r
-                                                       CDTX.CChip chip5;\r
-                                                       if( !event3.b押された )\r
-                                                       {\r
-                                                               continue;\r
-                                                       }\r
-                                                       long num6 = event3.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
-                                                       while( ( this.queWailing.Guitar.Count > 0 ) && ( ( chip5 = this.queWailing.Guitar.Dequeue() ) != null ) )\r
-                                                       {\r
-                                                               if( ( num6 - chip5.n発声時刻ms ) <= 800 )           // #24245 2011.1.26 yyagi: 800 -> 1000\r
-                                                               {\r
-                                                                       chip5.bHit = true;\r
-                                                                       this.actWailingBonus.Start( E楽器パート.GUITAR, this.r現在の歓声Chip.Guitar );\r
-                                                                       if( !bIsAutoPlay.Guitar )\r
-                                                                       {\r
-                                                                               int nCombo = ( this.actCombo.n現在のコンボ数.Guitar < 500 ) ? this.actCombo.n現在のコンボ数.Guitar : 500;\r
-                                                                               this.actScore.Set( E楽器パート.GUITAR, this.actScore.Get( E楽器パート.GUITAR ) + ( nCombo * 3000L ) );                // #24245 2011.1.26 yyagi changed DRUMS->GUITAR, add nCombo conditions\r
-                                                                       }\r
-                                                               }\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
+               //    if ( CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Guitar )\r
+               //    {\r
+               //        if ( bIsAutoPlay.Guitar )\r
+               //        {\r
+               //            CDTX.CChip chip = this.r次にくるギターChipを更新して返す();\r
+               //            if( chip != null )\r
+               //            {\r
+               //                if( ( chip.nチャンネル番号 & 4 ) != 0 )\r
+               //                {\r
+               //                    this.actLaneFlushGB.Start( 0 );\r
+               //                    this.actRGB.Push( 0 );\r
+               //                }\r
+               //                if( ( chip.nチャンネル番号 & 2 ) != 0 )\r
+               //                {\r
+               //                    this.actLaneFlushGB.Start( 1 );\r
+               //                    this.actRGB.Push( 1 );\r
+               //                }\r
+               //                if( ( chip.nチャンネル番号 & 1 ) != 0 )\r
+               //                {\r
+               //                    this.actLaneFlushGB.Start( 2 );\r
+               //                    this.actRGB.Push( 2 );\r
+               //                }\r
+               //            }\r
+               //        }\r
+               //        else\r
+               //        {\r
+               //            int flagR = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.R) ? 4 : 0;\r
+               //            this.t入力メソッド記憶( E楽器パート.GUITAR );\r
+               //            int flagG = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.G ) ? 2 : 0;\r
+               //            this.t入力メソッド記憶( E楽器パート.GUITAR );\r
+               //            int flagB = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.B ) ? 1 : 0;\r
+               //            this.t入力メソッド記憶( E楽器パート.GUITAR );\r
+               //            int flagRGB =  flagR | flagG  | flagB;\r
+               //            if( flagR != 0 )\r
+               //            {\r
+               //                this.actLaneFlushGB.Start( 0 );\r
+               //                this.actRGB.Push( 0 );\r
+               //            }\r
+               //            if( flagG != 0 )\r
+               //            {\r
+               //                this.actLaneFlushGB.Start( 1 );\r
+               //                this.actRGB.Push( 1 );\r
+               //            }\r
+               //            if( flagB != 0 )\r
+               //            {\r
+               //                this.actLaneFlushGB.Start( 2 );\r
+               //                this.actRGB.Push( 2 );\r
+               //            }\r
+               //            List<STInputEvent> events = CDTXMania.Pad.GetEvents( E楽器パート.GUITAR, Eパッド.Pick );\r
+               //            if( ( events != null ) && ( events.Count > 0 ) )\r
+               //            {\r
+               //                this.t入力メソッド記憶( E楽器パート.GUITAR );\r
+               //                foreach( STInputEvent event2 in events )\r
+               //                {\r
+               //                    CDTX.CChip chip4;\r
+               //                    if( !event2.b押された )\r
+               //                    {\r
+               //                        continue;\r
+               //                    }\r
+               //                    long nTime = event2.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
+               //                    CDTX.CChip pChip = this.r指定時刻に一番近い未ヒットChip( nTime, 0x2f, this.nInputAdjustTimeMs.Guitar );\r
+               //                    E判定 e判定 = this.e指定時刻からChipのJUDGEを返す( nTime, pChip, this.nInputAdjustTimeMs.Guitar );\r
+               //                    if( ( ( pChip != null ) && ( ( pChip.nチャンネル番号 & 15 ) == flagRGB ) ) && ( e判定 != E判定.Miss ) )\r
+               //                    {\r
+               //                        if( ( flagR != 0 ) || ( flagRGB == 0 ) )\r
+               //                        {\r
+               //                            this.actChipFireGB.Start( 0 );\r
+               //                        }\r
+               //                        if( ( flagG != 0 ) || ( flagRGB == 0 ) )\r
+               //                        {\r
+               //                            this.actChipFireGB.Start( 1 );\r
+               //                        }\r
+               //                        if( ( flagB != 0 ) || ( flagRGB == 0 ) )\r
+               //                        {\r
+               //                            this.actChipFireGB.Start( 2 );\r
+               //                        }\r
+               //                        this.tチップのヒット処理( nTime, pChip );\r
+               //                        this.tサウンド再生( pChip, CDTXMania.Timer.nシステム時刻, E楽器パート.GUITAR, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Guitar, e判定 == E判定.Poor );\r
+               //                        CDTX.CChip item = this.r指定時刻に一番近い未ヒットChip( nTime, 40, this.nInputAdjustTimeMs.Guitar, 140 );\r
+               //                        if( item != null )\r
+               //                        {\r
+               //                            this.queWailing.Guitar.Enqueue( item );\r
+               //                        }\r
+               //                        continue;\r
+               //                    }\r
+               //                    if( ( ( chip4 = this.r現在の空うちギターChip ) != null ) || ( ( chip4 = this.r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( nTime, 0x2f, this.nInputAdjustTimeMs.Guitar ) ) != null ) )\r
+               //                    {\r
+               //                        this.tサウンド再生( chip4, CDTXMania.Timer.nシステム時刻, E楽器パート.GUITAR, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Guitar, true );\r
+               //                    }\r
+               //                    if( !CDTXMania.ConfigIni.bLight.Guitar )\r
+               //                    {\r
+               //                        this.tチップのヒット処理・BadならびにTight時のMiss( E楽器パート.GUITAR );\r
+               //                    }\r
+               //                }\r
+               //            }\r
+               //            List<STInputEvent> list2 = CDTXMania.Pad.GetEvents( E楽器パート.GUITAR, Eパッド.Wail );\r
+               //            if( ( list2 != null ) && ( list2.Count > 0 ) )\r
+               //            {\r
+               //                foreach( STInputEvent event3 in list2 )\r
+               //                {\r
+               //                    CDTX.CChip chip5;\r
+               //                    if( !event3.b押された )\r
+               //                    {\r
+               //                        continue;\r
+               //                    }\r
+               //                    long num6 = event3.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
+               //                    while( ( this.queWailing.Guitar.Count > 0 ) && ( ( chip5 = this.queWailing.Guitar.Dequeue() ) != null ) )\r
+               //                    {\r
+               //                        if( ( num6 - chip5.n発声時刻ms ) <= 800 )         // #24245 2011.1.26 yyagi: 800 -> 1000\r
+               //                        {\r
+               //                            chip5.bHit = true;\r
+               //                            this.actWailingBonus.Start( E楽器パート.GUITAR, this.r現在の歓声Chip.Guitar );\r
+               //                            if( !bIsAutoPlay.Guitar )\r
+               //                            {\r
+               //                                int nCombo = ( this.actCombo.n現在のコンボ数.Guitar < 500 ) ? this.actCombo.n現在のコンボ数.Guitar : 500;\r
+               //                                this.actScore.Set( E楽器パート.GUITAR, this.actScore.Get( E楽器パート.GUITAR ) + ( nCombo * 3000L ) );              // #24245 2011.1.26 yyagi changed DRUMS->GUITAR, add nCombo conditions\r
+               //                            }\r
+               //                        }\r
+               //                    }\r
+               //                }\r
+               //            }\r
+               //        }\r
+               //    }\r
+               //}\r
                protected override void t入力処理・ドラム()\r
                {\r
                        for( int nPad = 0; nPad < 10; nPad++ )\r
@@ -4046,141 +4063,141 @@ namespace DTXMania
                                }\r
                        }\r
                }\r
-               protected override void t入力処理・ベース()\r
-               {\r
-                       if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.B ) )\r
-                       {\r
-                               CDTXMania.ConfigIni.n譜面スクロール速度.Bass = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Bass + 1, 0x7cf );\r
-                       }\r
-                       if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.R ) )\r
-                       {\r
-                               CDTXMania.ConfigIni.n譜面スクロール速度.Bass = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Bass - 1, 0 );\r
-                       }\r
+               //protected override void t入力処理・ベース()\r
+               //{\r
+               //    if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.B ) )\r
+               //    {\r
+               //        CDTXMania.ConfigIni.n譜面スクロール速度.Bass = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Bass + 1, 0x7cf );\r
+               //    }\r
+               //    if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.R ) )\r
+               //    {\r
+               //        CDTXMania.ConfigIni.n譜面スクロール速度.Bass = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Bass - 1, 0 );\r
+               //    }\r
 \r
-                       if ( CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Bass )\r
-                       {\r
-                               if( bIsAutoPlay.Bass )\r
-                               {\r
-                                       CDTX.CChip chip = this.r次にくるベースChipを更新して返す();\r
-                                       if( chip != null )\r
-                                       {\r
-                                               if( ( chip.nチャンネル番号 & 4 ) != 0 )\r
-                                               {\r
-                                                       this.actLaneFlushGB.Start( 3 );\r
-                                                       this.actRGB.Push( 3 );\r
-                                               }\r
-                                               if( ( chip.nチャンネル番号 & 2 ) != 0 )\r
-                                               {\r
-                                                       this.actLaneFlushGB.Start( 4 );\r
-                                                       this.actRGB.Push( 4 );\r
-                                               }\r
-                                               if( ( chip.nチャンネル番号 & 1 ) != 0 )\r
-                                               {\r
-                                                       this.actLaneFlushGB.Start( 5 );\r
-                                                       this.actRGB.Push( 5 );\r
-                                               }\r
-                                       }\r
-                               }\r
-                               else\r
-                               {\r
-                                       int flagR = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.R ) ? 4 : 0;\r
-                                       this.t入力メソッド記憶( E楽器パート.BASS );\r
-                                       int flagG = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.G ) ? 2 : 0;\r
-                                       this.t入力メソッド記憶( E楽器パート.BASS );\r
-                                       int flagB = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.B ) ? 1 : 0;\r
-                                       this.t入力メソッド記憶( E楽器パート.BASS );\r
-                                       int flagRGB = flagR | flagG | flagB;\r
-                                       if( flagR != 0 )\r
-                                       {\r
-                                               this.actLaneFlushGB.Start( 3 );\r
-                                               this.actRGB.Push( 3 );\r
-                                       }\r
-                                       if( flagG != 0 )\r
-                                       {\r
-                                               this.actLaneFlushGB.Start( 4 );\r
-                                               this.actRGB.Push( 4 );\r
-                                       }\r
-                                       if( flagB != 0 )\r
-                                       {\r
-                                               this.actLaneFlushGB.Start( 5 );\r
-                                               this.actRGB.Push( 5 );\r
-                                       }\r
-                                       List<STInputEvent> events = CDTXMania.Pad.GetEvents( E楽器パート.BASS, Eパッド.Pick );\r
-                                       if( ( events != null ) && ( events.Count > 0 ) )\r
-                                       {\r
-                                               foreach( STInputEvent event2 in events )\r
-                                               {\r
-                                                       CDTX.CChip chip4;\r
-                                                       if( !event2.b押された )\r
-                                                       {\r
-                                                               continue;\r
-                                                       }\r
-                                                       this.t入力メソッド記憶( E楽器パート.BASS );\r
-                                                       long nTime = event2.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
-                                                       CDTX.CChip pChip = this.r指定時刻に一番近い未ヒットChip( nTime, 0xaf, this.nInputAdjustTimeMs.Bass );\r
-                                                       E判定 e判定 = this.e指定時刻からChipのJUDGEを返す( nTime, pChip, this.nInputAdjustTimeMs.Bass );\r
-                                                       if( ( ( pChip != null ) && ( ( pChip.nチャンネル番号 & 15 ) == flagRGB ) ) && ( e判定 != E判定.Miss ) )\r
-                                                       {\r
-                                                               if( ( flagR != 0 ) || ( flagRGB == 0 ) )\r
-                                                               {\r
-                                                                       this.actChipFireGB.Start( 3 );\r
-                                                               }\r
-                                                               if( ( flagG != 0 ) || ( flagRGB == 0 ) )\r
-                                                               {\r
-                                                                       this.actChipFireGB.Start( 4 );\r
-                                                               }\r
-                                                               if( ( flagB != 0 ) || ( flagRGB == 0 ) )\r
-                                                               {\r
-                                                                       this.actChipFireGB.Start( 5 );\r
-                                                               }\r
-                                                               this.tチップのヒット処理( nTime, pChip );\r
-                                                               this.tサウンド再生( pChip, CDTXMania.Timer.nシステム時刻, E楽器パート.BASS, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Bass, e判定 == E判定.Poor );\r
-                                                               CDTX.CChip item = this.r指定時刻に一番近い未ヒットChip( nTime, 0xa8, this.nInputAdjustTimeMs.Bass, 140 );\r
-                                                               if( item != null )\r
-                                                               {\r
-                                                                       this.queWailing.Bass.Enqueue( item );\r
-                                                               }\r
-                                                               continue;\r
-                                                       }\r
-                                                       if ( ( ( chip4 = this.r現在の空うちベースChip ) != null ) || ( ( chip4 = this.r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( nTime, 0xaf, this.nInputAdjustTimeMs.Bass ) ) != null ) )\r
-                                                       {\r
-                                                               this.tサウンド再生( chip4, CDTXMania.Timer.nシステム時刻, E楽器パート.BASS, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Bass, true );\r
-                                                       }\r
-                                                       if( !CDTXMania.ConfigIni.bLight.Bass )\r
-                                                       {\r
-                                                               this.tチップのヒット処理・BadならびにTight時のMiss( E楽器パート.BASS );\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                                       List<STInputEvent> list2 = CDTXMania.Pad.GetEvents( E楽器パート.BASS, Eパッド.Wail );\r
-                                       if( ( list2 != null ) && ( list2.Count > 0 ) )\r
-                                       {\r
-                                               foreach( STInputEvent event3 in list2 )\r
-                                               {\r
-                                                       CDTX.CChip chip5;\r
-                                                       if( !event3.b押された )\r
-                                                       {\r
-                                                               continue;\r
-                                                       }\r
-                                                       long num6 = event3.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
-                                                       while( ( this.queWailing.Bass.Count > 0 ) && ( ( chip5 = this.queWailing.Bass.Dequeue() ) != null ) )\r
-                                                       {\r
-                                                               if( ( num6 - chip5.n発声時刻ms ) <= 1000 )          // #24245 2011.1.26 yyagi: 800 -> 1000\r
-                                                               {\r
-                                                                       chip5.bHit = true;\r
-                                                                       this.actWailingBonus.Start( E楽器パート.BASS, this.r現在の歓声Chip.Bass );\r
-                                                                       if( !bIsAutoPlay.Bass )\r
-                                                                       {\r
-                                                                               int nCombo = ( this.actCombo.n現在のコンボ数.Bass < 500 ) ? this.actCombo.n現在のコンボ数.Bass : 500;\r
-                                                                               this.actScore.Set( E楽器パート.BASS, this.actScore.Get( E楽器パート.BASS ) + ( nCombo * 3000L ) );            // #24245 2011.1.26 yyagi changed DRUMS->BASS, add nCombo conditions\r
-                                                                       }\r
-                                                               }\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
+               //    if ( CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Bass )\r
+               //    {\r
+               //        if( bIsAutoPlay.Bass )\r
+               //        {\r
+               //            CDTX.CChip chip = this.r次にくるベースChipを更新して返す();\r
+               //            if( chip != null )\r
+               //            {\r
+               //                if( ( chip.nチャンネル番号 & 4 ) != 0 )\r
+               //                {\r
+               //                    this.actLaneFlushGB.Start( 3 );\r
+               //                    this.actRGB.Push( 3 );\r
+               //                }\r
+               //                if( ( chip.nチャンネル番号 & 2 ) != 0 )\r
+               //                {\r
+               //                    this.actLaneFlushGB.Start( 4 );\r
+               //                    this.actRGB.Push( 4 );\r
+               //                }\r
+               //                if( ( chip.nチャンネル番号 & 1 ) != 0 )\r
+               //                {\r
+               //                    this.actLaneFlushGB.Start( 5 );\r
+               //                    this.actRGB.Push( 5 );\r
+               //                }\r
+               //            }\r
+               //        }\r
+               //        else\r
+               //        {\r
+               //            int flagR = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.R ) ? 4 : 0;\r
+               //            this.t入力メソッド記憶( E楽器パート.BASS );\r
+               //            int flagG = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.G ) ? 2 : 0;\r
+               //            this.t入力メソッド記憶( E楽器パート.BASS );\r
+               //            int flagB = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.B ) ? 1 : 0;\r
+               //            this.t入力メソッド記憶( E楽器パート.BASS );\r
+               //            int flagRGB = flagR | flagG | flagB;\r
+               //            if( flagR != 0 )\r
+               //            {\r
+               //                this.actLaneFlushGB.Start( 3 );\r
+               //                this.actRGB.Push( 3 );\r
+               //            }\r
+               //            if( flagG != 0 )\r
+               //            {\r
+               //                this.actLaneFlushGB.Start( 4 );\r
+               //                this.actRGB.Push( 4 );\r
+               //            }\r
+               //            if( flagB != 0 )\r
+               //            {\r
+               //                this.actLaneFlushGB.Start( 5 );\r
+               //                this.actRGB.Push( 5 );\r
+               //            }\r
+               //            List<STInputEvent> events = CDTXMania.Pad.GetEvents( E楽器パート.BASS, Eパッド.Pick );\r
+               //            if( ( events != null ) && ( events.Count > 0 ) )\r
+               //            {\r
+               //                foreach( STInputEvent event2 in events )\r
+               //                {\r
+               //                    CDTX.CChip chip4;\r
+               //                    if( !event2.b押された )\r
+               //                    {\r
+               //                        continue;\r
+               //                    }\r
+               //                    this.t入力メソッド記憶( E楽器パート.BASS );\r
+               //                    long nTime = event2.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
+               //                    CDTX.CChip pChip = this.r指定時刻に一番近い未ヒットChip( nTime, 0xaf, this.nInputAdjustTimeMs.Bass );\r
+               //                    E判定 e判定 = this.e指定時刻からChipのJUDGEを返す( nTime, pChip, this.nInputAdjustTimeMs.Bass );\r
+               //                    if( ( ( pChip != null ) && ( ( pChip.nチャンネル番号 & 15 ) == flagRGB ) ) && ( e判定 != E判定.Miss ) )\r
+               //                    {\r
+               //                        if( ( flagR != 0 ) || ( flagRGB == 0 ) )\r
+               //                        {\r
+               //                            this.actChipFireGB.Start( 3 );\r
+               //                        }\r
+               //                        if( ( flagG != 0 ) || ( flagRGB == 0 ) )\r
+               //                        {\r
+               //                            this.actChipFireGB.Start( 4 );\r
+               //                        }\r
+               //                        if( ( flagB != 0 ) || ( flagRGB == 0 ) )\r
+               //                        {\r
+               //                            this.actChipFireGB.Start( 5 );\r
+               //                        }\r
+               //                        this.tチップのヒット処理( nTime, pChip );\r
+               //                        this.tサウンド再生( pChip, CDTXMania.Timer.nシステム時刻, E楽器パート.BASS, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Bass, e判定 == E判定.Poor );\r
+               //                        CDTX.CChip item = this.r指定時刻に一番近い未ヒットChip( nTime, 0xa8, this.nInputAdjustTimeMs.Bass, 140 );\r
+               //                        if( item != null )\r
+               //                        {\r
+               //                            this.queWailing.Bass.Enqueue( item );\r
+               //                        }\r
+               //                        continue;\r
+               //                    }\r
+               //                    if ( ( ( chip4 = this.r現在の空うちベースChip ) != null ) || ( ( chip4 = this.r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( nTime, 0xaf, this.nInputAdjustTimeMs.Bass ) ) != null ) )\r
+               //                    {\r
+               //                        this.tサウンド再生( chip4, CDTXMania.Timer.nシステム時刻, E楽器パート.BASS, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Bass, true );\r
+               //                    }\r
+               //                    if( !CDTXMania.ConfigIni.bLight.Bass )\r
+               //                    {\r
+               //                        this.tチップのヒット処理・BadならびにTight時のMiss( E楽器パート.BASS );\r
+               //                    }\r
+               //                }\r
+               //            }\r
+               //            List<STInputEvent> list2 = CDTXMania.Pad.GetEvents( E楽器パート.BASS, Eパッド.Wail );\r
+               //            if( ( list2 != null ) && ( list2.Count > 0 ) )\r
+               //            {\r
+               //                foreach( STInputEvent event3 in list2 )\r
+               //                {\r
+               //                    CDTX.CChip chip5;\r
+               //                    if( !event3.b押された )\r
+               //                    {\r
+               //                        continue;\r
+               //                    }\r
+               //                    long num6 = event3.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
+               //                    while( ( this.queWailing.Bass.Count > 0 ) && ( ( chip5 = this.queWailing.Bass.Dequeue() ) != null ) )\r
+               //                    {\r
+               //                        if( ( num6 - chip5.n発声時刻ms ) <= 1000 )                // #24245 2011.1.26 yyagi: 800 -> 1000\r
+               //                        {\r
+               //                            chip5.bHit = true;\r
+               //                            this.actWailingBonus.Start( E楽器パート.BASS, this.r現在の歓声Chip.Bass );\r
+               //                            if( !bIsAutoPlay.Bass )\r
+               //                            {\r
+               //                                int nCombo = ( this.actCombo.n現在のコンボ数.Bass < 500 ) ? this.actCombo.n現在のコンボ数.Bass : 500;\r
+               //                                this.actScore.Set( E楽器パート.BASS, this.actScore.Get( E楽器パート.BASS ) + ( nCombo * 3000L ) );          // #24245 2011.1.26 yyagi changed DRUMS->BASS, add nCombo conditions\r
+               //                            }\r
+               //                        }\r
+               //                    }\r
+               //                }\r
+               //            }\r
+               //        }\r
+               //    }\r
+               //}\r
 \r
                protected override void t背景テクスチャの生成()\r
                {\r