OSDN Git Service

演奏画面のリファクタ。ドラムとギター画面で共通で使用しているメソッドを1つにまとめるべく、
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Wed, 16 Feb 2011 14:57:57 +0000 (14:57 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Wed, 16 Feb 2011 14:57:57 +0000 (14:57 +0000)
共通クラスを作成してその継承クラスとしてドラムとギター画面を再定義した。まだ完全には作業完了していない。
リスキーなリファクタですが、これをやらないと機能追加/変更の度にいちいちドラムとギターの両方に
同じ修正をコピペで加えなければならず、保守性が悪い。少しずつ慎重に進めます。

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

DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ゲージ.cs [new file with mode: 0644]
DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs [new file with mode: 0644]
DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarゲージ.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsゲージ.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs

diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ゲージ.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ゲージ.cs
new file mode 100644 (file)
index 0000000..d9d8ff5
--- /dev/null
@@ -0,0 +1,37 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.Text;\r
+using System.Runtime.InteropServices;\r
+using System.Drawing;\r
+using SlimDX;\r
+using FDK;\r
+\r
+namespace DTXMania\r
+{\r
+       /// <summary>\r
+       /// CAct演奏Drumsゲージ と CAct演奏Gutiarゲージ のbaseクラス\r
+       /// </summary>\r
+       public class CAct演奏ゲージ : CActivity\r
+       {\r
+               public double dbゲージ値    // Drums専用\r
+               {\r
+                       get\r
+                       {\r
+                               return this.db現在のゲージ値.Drums;\r
+                       }\r
+                       set\r
+                       {\r
+                               this.db現在のゲージ値.Drums = value;\r
+                               if ( this.db現在のゲージ値.Drums > 1.0 )\r
+                               {\r
+                                       this.db現在のゲージ値.Drums = 1.0;\r
+                               }\r
+                       }\r
+               }\r
+\r
+               public STDGBVALUE<double> db現在のゲージ値;\r
+               protected CCounter ct本体移動;\r
+               protected CCounter ct本体振動;\r
+               protected CTexture txゲージ;\r
+       }\r
+}\r
diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs
new file mode 100644 (file)
index 0000000..896b50b
--- /dev/null
@@ -0,0 +1,735 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.Text;\r
+using System.Runtime.InteropServices;\r
+using System.Drawing;\r
+using System.Drawing.Imaging;\r
+using System.IO;\r
+using System.Diagnostics;\r
+using SlimDX;\r
+using SlimDX.Direct3D9;\r
+using FDK;\r
+\r
+namespace DTXMania\r
+{\r
+       /// <summary>\r
+       /// 演奏画面の共通クラス (ドラム演奏画面, ギター演奏画面の継承元)\r
+       /// </summary>\r
+       internal abstract class CStage演奏画面共通 : CStage\r
+       {\r
+               // プロパティ\r
+\r
+               public bool bAUTOでないチップが1つでもバーを通過した\r
+               {\r
+                       get;\r
+                       protected set;\r
+               }\r
+\r
+\r
+               // CStage 実装\r
+\r
+               public override void On活性化()\r
+               {\r
+                       this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.継続;\r
+\r
+                       this.r次にくるギターChip = null;\r
+                       this.r次にくるベースChip = null;\r
+\r
+                       for ( int i = 0; i < 3; i++ )\r
+                       {\r
+                               this.b演奏にキーボードを使った[ i ] = false;\r
+                               this.b演奏にジョイパッドを使った[ i ] = false;\r
+                               this.b演奏にMIDI入力を使った[ i ] = false;\r
+                               this.b演奏にマウスを使った[ i ] = false;\r
+                       }\r
+\r
+                       base.On活性化();\r
+\r
+                       this.nInputAdjustTimeMs.Drums = CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums;           // #23580 2011.1.3 yyagi\r
+                       this.nInputAdjustTimeMs.Guitar = CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar;         //        2011.1.7 ikanick 修正\r
+                       this.nInputAdjustTimeMs.Bass = CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass;                     //\r
+                       //this.bIsAutoPlay.Drums = false;\r
+                       //this.bIsAutoPlay.Guitar = CDTXMania.ConfigIni.bAutoPlay.Guitar;\r
+                       //this.bIsAutoPlay.Bass = CDTXMania.ConfigIni.bAutoPlay.Bass;\r
+                       this.bIsAutoPlay = CDTXMania.ConfigIni.bAutoPlay;                                                                       // #24239 2011.1.23 yyagi\r
+               }\r
+\r
+\r
+\r
+               // その他\r
+\r
+               #region [ protected ]\r
+               //-----------------\r
+               protected class STHITCOUNTOFRANK\r
+               {\r
+                       // Fields\r
+                       public int Good;\r
+                       public int Great;\r
+                       public int Miss;\r
+                       public int Perfect;\r
+                       public int Poor;\r
+\r
+                       // Properties\r
+                       public int this[ int index ]\r
+                       {\r
+                               get\r
+                               {\r
+                                       switch ( index )\r
+                                       {\r
+                                               case 0:\r
+                                                       return this.Perfect;\r
+\r
+                                               case 1:\r
+                                                       return this.Great;\r
+\r
+                                               case 2:\r
+                                                       return this.Good;\r
+\r
+                                               case 3:\r
+                                                       return this.Poor;\r
+\r
+                                               case 4:\r
+                                                       return this.Miss;\r
+                                       }\r
+                                       throw new IndexOutOfRangeException();\r
+                               }\r
+                               set\r
+                               {\r
+                                       switch ( index )\r
+                                       {\r
+                                               case 0:\r
+                                                       this.Perfect = value;\r
+                                                       return;\r
+\r
+                                               case 1:\r
+                                                       this.Great = value;\r
+                                                       return;\r
+\r
+                                               case 2:\r
+                                                       this.Good = value;\r
+                                                       return;\r
+\r
+                                               case 3:\r
+                                                       this.Poor = value;\r
+                                                       return;\r
+\r
+                                               case 4:\r
+                                                       this.Miss = value;\r
+                                                       return;\r
+                                       }\r
+                                       throw new IndexOutOfRangeException();\r
+                               }\r
+                       }\r
+               }\r
+\r
+               [StructLayout( LayoutKind.Sequential )]\r
+               protected struct STKARAUCHI\r
+               {\r
+                       public CDTX.CChip HH;\r
+                       public CDTX.CChip SD;\r
+                       public CDTX.CChip BD;\r
+                       public CDTX.CChip HT;\r
+                       public CDTX.CChip LT;\r
+                       public CDTX.CChip FT;\r
+                       public CDTX.CChip CY;\r
+                       public CDTX.CChip HHO;\r
+                       public CDTX.CChip RD;\r
+                       public CDTX.CChip LC;\r
+                       public CDTX.CChip this[ int index ]\r
+                       {\r
+                               get\r
+                               {\r
+                                       switch ( index )\r
+                                       {\r
+                                               case 0:\r
+                                                       return this.HH;\r
+\r
+                                               case 1:\r
+                                                       return this.SD;\r
+\r
+                                               case 2:\r
+                                                       return this.BD;\r
+\r
+                                               case 3:\r
+                                                       return this.HT;\r
+\r
+                                               case 4:\r
+                                                       return this.LT;\r
+\r
+                                               case 5:\r
+                                                       return this.FT;\r
+\r
+                                               case 6:\r
+                                                       return this.CY;\r
+\r
+                                               case 7:\r
+                                                       return this.HHO;\r
+\r
+                                               case 8:\r
+                                                       return this.RD;\r
+\r
+                                               case 9:\r
+                                                       return this.LC;\r
+                                       }\r
+                                       throw new IndexOutOfRangeException();\r
+                               }\r
+                               set\r
+                               {\r
+                                       switch ( index )\r
+                                       {\r
+                                               case 0:\r
+                                                       this.HH = value;\r
+                                                       return;\r
+\r
+                                               case 1:\r
+                                                       this.SD = value;\r
+                                                       return;\r
+\r
+                                               case 2:\r
+                                                       this.BD = value;\r
+                                                       return;\r
+\r
+                                               case 3:\r
+                                                       this.HT = value;\r
+                                                       return;\r
+\r
+                                               case 4:\r
+                                                       this.LT = value;\r
+                                                       return;\r
+\r
+                                               case 5:\r
+                                                       this.FT = value;\r
+                                                       return;\r
+\r
+                                               case 6:\r
+                                                       this.CY = value;\r
+                                                       return;\r
+\r
+                                               case 7:\r
+                                                       this.HHO = value;\r
+                                                       return;\r
+\r
+                                               case 8:\r
+                                                       this.RD = value;\r
+                                                       return;\r
+\r
+                                               case 9:\r
+                                                       this.LC = value;\r
+                                                       return;\r
+                                       }\r
+                                       throw new IndexOutOfRangeException();\r
+                               }\r
+                       }\r
+               }\r
+\r
+               protected CActFIFOBlack actFI;\r
+               protected CActFIFOBlack actFO;\r
+               protected CActFIFOWhite actFOClear;\r
+               protected CAct演奏ゲージ actGauge;\r
+\r
+               protected bool bPAUSE;\r
+               protected STDGBVALUE<bool> b演奏にMIDI入力を使った;\r
+               protected STDGBVALUE<bool> b演奏にキーボードを使った;\r
+               protected STDGBVALUE<bool> b演奏にジョイパッドを使った;\r
+               protected STDGBVALUE<bool> b演奏にマウスを使った;\r
+\r
+               protected E演奏画面の戻り値 eフェードアウト完了時の戻り値;\r
+\r
+               protected int n現在のトップChip = -1;\r
+\r
+               protected CDTX.CChip r次にくるギターChip;\r
+               protected CDTX.CChip r次にくるベースChip;\r
+\r
+\r
+               protected STDGBVALUE<int> nInputAdjustTimeMs;           // #23580 2011.1.3 yyagi\r
+               protected CConfigIni.STAUTOPLAY bIsAutoPlay;            // #24239 2011.1.23 yyagi\r
+\r
+\r
+\r
+\r
+               protected E判定 e指定時刻からChipのJUDGEを返す( long nTime, CDTX.CChip pChip, int nInputAdjustTime )\r
+               {\r
+                       if ( pChip != null )\r
+                       {\r
+                               pChip.nLag = (int) ( nTime + nInputAdjustTime - pChip.n発声時刻ms );                // #23580 2011.1.3 yyagi: add "nInputAdjustTime" to add input timing adjust feature\r
+                               int nDeltaTime = Math.Abs( pChip.nLag );\r
+                               //Debug.WriteLine("nAbsTime=" + (nTime - pChip.n発声時刻ms) + ", nDeltaTime=" + (nTime + nInputAdjustTime - pChip.n発声時刻ms));\r
+                               if ( nDeltaTime <= CDTXMania.nPerfect範囲ms )\r
+                               {\r
+                                       return E判定.Perfect;\r
+                               }\r
+                               if ( nDeltaTime <= CDTXMania.nGreat範囲ms )\r
+                               {\r
+                                       return E判定.Great;\r
+                               }\r
+                               if ( nDeltaTime <= CDTXMania.nGood範囲ms )\r
+                               {\r
+                                       return E判定.Good;\r
+                               }\r
+                               if ( nDeltaTime <= CDTXMania.nPoor範囲ms )\r
+                               {\r
+                                       return E判定.Poor;\r
+                               }\r
+                       }\r
+                       return E判定.Miss;\r
+               }\r
+\r
+\r
+\r
+               protected CDTX.CChip r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( long nTime, int nChannelFlag, int nInputAdjustTime )\r
+               {\r
+                       nTime += nInputAdjustTime;                                              // #24239 2011.1.23 yyagi InputAdjust\r
+\r
+                       int num5;\r
+                       if ( this.n現在のトップChip == -1 )\r
+                       {\r
+                               return null;\r
+                       }\r
+                       int count = CDTXMania.DTX.listChip.Count;\r
+                       int num4 = num5 = this.n現在のトップChip;\r
+                       if ( this.n現在のトップChip >= count )\r
+                       {\r
+                               num4 = num5 = count - 1;\r
+                       }\r
+                       int num2 = num4;\r
+                       while ( num2 < count )\r
+                       {\r
+                               CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ];\r
+                               if ( ( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) ) && ( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) )\r
+                               {\r
+                                       if ( chip.n発声時刻ms > nTime )\r
+                                       {\r
+                                               break;\r
+                                       }\r
+                                       num5 = num2;\r
+                               }\r
+                               else if ( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 0x28 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) )\r
+                               {\r
+                                       if ( chip.n発声時刻ms > nTime )\r
+                                       {\r
+                                               break;\r
+                                       }\r
+                                       num5 = num2;\r
+                               }\r
+                               else if ( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 0xa0 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) )\r
+                               {\r
+                                       if ( chip.n発声時刻ms > nTime )\r
+                                       {\r
+                                               break;\r
+                                       }\r
+                                       num5 = num2;\r
+                               }\r
+                               num2++;\r
+                       }\r
+                       int num3 = num5;\r
+                       while ( num3 >= 0 )\r
+                       {\r
+                               CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ];\r
+                               if ( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) )\r
+                               {\r
+                                       if ( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) )\r
+                                       {\r
+                                               break;\r
+                                       }\r
+                               }\r
+                               else if ( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 0x28 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) )\r
+                               {\r
+                                       if ( ( chip2.nチャンネル番号 >= 0x20 ) && ( chip2.nチャンネル番号 <= 0x28 ) )\r
+                                       {\r
+                                               break;\r
+                                       }\r
+                               }\r
+                               else if ( ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 0xa0 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) && ( ( chip2.nチャンネル番号 >= 0xa0 ) && ( chip2.nチャンネル番号 <= 0xa8 ) ) )\r
+                               {\r
+                                       break;\r
+                               }\r
+                               num3--;\r
+                       }\r
+                       if ( ( num2 == count ) && ( num3 < 0 ) )\r
+                       {\r
+                               return null;\r
+                       }\r
+                       if ( num2 == count )\r
+                       {\r
+                               return CDTXMania.DTX.listChip[ num3 ];\r
+                       }\r
+                       if ( num3 < 0 )\r
+                       {\r
+                               return CDTXMania.DTX.listChip[ num2 ];\r
+                       }\r
+                       CDTX.CChip chip3 = CDTXMania.DTX.listChip[ num2 ];\r
+                       CDTX.CChip chip4 = CDTXMania.DTX.listChip[ num3 ];\r
+                       int num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
+                       int num7 = Math.Abs( (int) ( nTime - chip4.n発声時刻ms ) );\r
+                       if ( num6 >= num7 )\r
+                       {\r
+                               return chip4;\r
+                       }\r
+                       return chip3;\r
+               }\r
+\r
+               protected CDTX.CChip r指定時刻に一番近い未ヒットChip( long nTime, int nChannelFlag, int nInputAdjustTime, int n検索範囲時間ms )\r
+               {\r
+                       nTime += nInputAdjustTime;\r
+\r
+                       int num5;\r
+                       int num6;\r
+                       if ( this.n現在のトップChip == -1 )\r
+                       {\r
+                               return null;\r
+                       }\r
+                       int count = CDTXMania.DTX.listChip.Count;\r
+                       int num4 = num5 = this.n現在のトップChip;\r
+                       if ( this.n現在のトップChip >= count )\r
+                       {\r
+                               num4 = num5 = count - 1;\r
+                       }\r
+                       int num2 = num4;\r
+                       while ( num2 < count )\r
+                       {\r
+                               CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ];\r
+                               if ( ( !chip.bHit && ( nChannelFlag >= 0x11 ) ) && ( nChannelFlag <= 0x1a ) )\r
+                               {\r
+                                       if ( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) )\r
+                                       {\r
+                                               if ( chip.n発声時刻ms > nTime )\r
+                                               {\r
+                                                       break;\r
+                                               }\r
+                                               num5 = num2;\r
+                                       }\r
+                               }\r
+                               else if ( !chip.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) )\r
+                               {\r
+                                       if ( chip.n発声時刻ms > nTime )\r
+                                       {\r
+                                               break;\r
+                                       }\r
+                                       num5 = num2;\r
+                               }\r
+                               else if ( !chip.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) )\r
+                               {\r
+                                       if ( chip.n発声時刻ms > nTime )\r
+                                       {\r
+                                               break;\r
+                                       }\r
+                                       num5 = num2;\r
+                               }\r
+                               num2++;\r
+                       }\r
+                       int num3 = num5;\r
+                       while ( num3 >= 0 )\r
+                       {\r
+                               CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ];\r
+                               if ( ( ( ( !chip2.bHit && ( nChannelFlag >= 0x11 ) ) && ( ( nChannelFlag <= 0x1a ) && ( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) )\r
+                               {\r
+                                       break;\r
+                               }\r
+                               num3--;\r
+                       }\r
+                       if ( ( num2 == count ) && ( num3 < 0 ) )\r
+                       {\r
+                               return null;\r
+                       }\r
+                       CDTX.CChip chip3 = null;\r
+                       if ( num2 == count )\r
+                       {\r
+                               chip3 = CDTXMania.DTX.listChip[ num3 ];\r
+                               num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
+                       }\r
+                       else if ( num3 < 0 )\r
+                       {\r
+                               chip3 = CDTXMania.DTX.listChip[ num2 ];\r
+                               num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
+                       }\r
+                       else\r
+                       {\r
+                               int num7 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) );\r
+                               int num8 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) );\r
+                               if ( num7 < num8 )\r
+                               {\r
+                                       chip3 = CDTXMania.DTX.listChip[ num2 ];\r
+                                       num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
+                               }\r
+                               else\r
+                               {\r
+                                       chip3 = CDTXMania.DTX.listChip[ num3 ];\r
+                                       num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
+                               }\r
+                       }\r
+                       if ( ( n検索範囲時間ms > 0 ) && ( num6 > n検索範囲時間ms ) )\r
+                       {\r
+                               return null;\r
+                       }\r
+                       return chip3;\r
+               }\r
+               protected CDTX.CChip r次にくるギターChipを更新して返す()\r
+               {\r
+                       int nInputAdjustTime = this.bIsAutoPlay.Guitar ? 0 : this.nInputAdjustTimeMs.Guitar;\r
+                       this.r次にくるギターChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0x2f, nInputAdjustTime, 500 );\r
+                       return this.r次にくるギターChip;\r
+               }\r
+               protected CDTX.CChip r次にくるベースChipを更新して返す()\r
+               {\r
+                       int nInputAdjustTime = this.bIsAutoPlay.Bass ? 0 : this.nInputAdjustTimeMs.Bass;\r
+                       this.r次にくるベースChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0xaf, nInputAdjustTime, 500 );\r
+                       return this.r次にくるベースChip;\r
+               }\r
+\r
+               protected void ChangeInputAdjustTimeInPlaying( IInputDevice keyboard, int plusminus )           // #23580 2011.1.16 yyagi UI for InputAdjustTime in playing screen.\r
+               {\r
+                       int part, offset = plusminus;\r
+                       if ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) )      // Guitar InputAdjustTime\r
+                       {\r
+                               part = (int) E楽器パート.GUITAR;\r
+                       }\r
+                       else if ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftAlt ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightAlt ) )     // Bass InputAdjustTime\r
+                       {\r
+                               part = (int) E楽器パート.BASS;\r
+                       }\r
+                       else    // Drums InputAdjustTime\r
+                       {\r
+                               part = (int) E楽器パート.DRUMS;\r
+                       }\r
+                       if ( !keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftControl ) && !keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightControl ) )\r
+                       {\r
+                               offset *= 10;\r
+                       }\r
+\r
+                       this.nInputAdjustTimeMs[ part ] += offset;\r
+                       if ( this.nInputAdjustTimeMs[ part ] > 0 )\r
+                       {\r
+                               this.nInputAdjustTimeMs[ part ] = 0;\r
+                       }\r
+                       else if ( this.nInputAdjustTimeMs[ part ] < -99 )\r
+                       {\r
+                               this.nInputAdjustTimeMs[ part ] = -99;\r
+                       }\r
+                       CDTXMania.ConfigIni.nInputAdjustTimeMs[ part ] = this.nInputAdjustTimeMs[ part ];\r
+               }\r
+\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
+               {\r
+                       IInputDevice keyboard = CDTXMania.Input管理.Keyboard;\r
+                       if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F1 ) &&\r
+                               ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) ) )\r
+                       {       // shift+f1 (pause)\r
+                               this.bPAUSE = !this.bPAUSE;\r
+                               if ( this.bPAUSE )\r
+                               {\r
+                                       CDTXMania.Timer.t一時停止();\r
+                                       CDTXMania.DTX.t全チップの再生一時停止();\r
+                               }\r
+                               else\r
+                               {\r
+                                       CDTXMania.Timer.t再開();\r
+                                       CDTXMania.DTX.t全チップの再生再開();\r
+                               }\r
+                       }\r
+                       if ( ( !this.bPAUSE && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) )\r
+                       {\r
+                               this.t入力処理・ドラム();\r
+                               this.t入力処理・ギター();\r
+                               this.t入力処理・ベース();\r
+                               if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.UpArrow ) && ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) ) )\r
+                               {       // shift (+ctrl) + UpArrow (BGMAdjust)\r
+                                       CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightControl ) ) ? 1 : 10 );\r
+                                       CDTXMania.DTX.tWave再生位置自動補正();\r
+                               }\r
+                               else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.DownArrow ) && ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) ) )\r
+                               {       // shift + DownArrow (BGMAdjust)\r
+                                       CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightControl ) ) ? -1 : -10 );\r
+                                       CDTXMania.DTX.tWave再生位置自動補正();\r
+                               }\r
+                               else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.UpArrow ) )\r
+                               {       // UpArrow(scrollspeed up)\r
+                                       ドラムスクロール速度アップ();\r
+                               }\r
+                               else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.DownArrow ) )\r
+                               {       // DownArrow (scrollspeed down)\r
+                                       ドラムスクロール速度ダウン();\r
+                               }\r
+                               else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Delete ) )\r
+                               {       // del (debug info)\r
+                                       CDTXMania.ConfigIni.b演奏情報を表示する = !CDTXMania.ConfigIni.b演奏情報を表示する;\r
+                               }\r
+                               else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.LeftArrow ) )           // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen.\r
+                               {\r
+                                       ChangeInputAdjustTimeInPlaying( keyboard, -1 );\r
+                               }\r
+                               else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.RightArrow ) )          // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen.\r
+                               {\r
+                                       ChangeInputAdjustTimeInPlaying( keyboard, +1 );\r
+                               }\r
+                               else if ( ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) && ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Escape ) || CDTXMania.Pad.b押されたGB( Eパッド.FT ) ) )\r
+                               {       // escape (exit)\r
+                                       this.actFO.tフェードアウト開始();\r
+                                       base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;\r
+                                       this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.演奏中断;\r
+                               }\r
+                       }\r
+               }\r
+\r
+               protected void t入力メソッド記憶( E楽器パート part )\r
+               {\r
+                       if ( CDTXMania.Pad.st検知したデバイス.Keyboard )\r
+                       {\r
+                               this.b演奏にキーボードを使った[ (int) part ] = true;\r
+                       }\r
+                       if ( CDTXMania.Pad.st検知したデバイス.Joypad )\r
+                       {\r
+                               this.b演奏にジョイパッドを使った[ (int) part ] = true;\r
+                       }\r
+                       if ( CDTXMania.Pad.st検知したデバイス.MIDIIN )\r
+                       {\r
+                               this.b演奏にMIDI入力を使った[ (int) part ] = true;\r
+                       }\r
+                       if ( CDTXMania.Pad.st検知したデバイス.Mouse )\r
+                       {\r
+                               this.b演奏にマウスを使った[ (int) part ] = true;\r
+                       }\r
+               }\r
+\r
+\r
+\r
+\r
+               protected bool t進行描画・フェードイン・アウト()\r
+               {\r
+                       switch ( base.eフェーズID )\r
+                       {\r
+                               case CStage.Eフェーズ.共通_フェードイン:\r
+                                       if ( this.actFI.On進行描画() != 0 )\r
+                                       {\r
+                                               base.eフェーズID = CStage.Eフェーズ.共通_通常状態;\r
+                                       }\r
+                                       break;\r
+\r
+                               case CStage.Eフェーズ.共通_フェードアウト:\r
+                               case CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト:\r
+                                       if ( this.actFO.On進行描画() != 0 )\r
+                                       {\r
+                                               return true;\r
+                                       }\r
+                                       break;\r
+\r
+                               case CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト:\r
+                                       if ( this.actFOClear.On進行描画() == 0 )\r
+                                       {\r
+                                               break;\r
+                                       }\r
+                                       return true;\r
+               \r
+                       }\r
+                       return false;\r
+               }               \r
+\r
+       \r
+               \r
+\r
+#if true               // DAMAGELEVELTUNING\r
+#region [ DAMAGELEVELTUNING ]\r
+               // ----------------------------------\r
+               public float[ , ] fDamageGaugeDelta = {                 // #23625 2011.1.10 ickw_284: tuned damage/recover factors\r
+                       // drums,   guitar,  bass\r
+                       {  0.004f,  0.006f,  0.006f  },\r
+                       {  0.002f,  0.003f,  0.003f  },\r
+                       {  0.000f,  0.000f,  0.000f  },\r
+                       { -0.020f, -0.030f,     -0.030f  },\r
+                       { -0.050f, -0.050f, -0.050f  }\r
+               };\r
+               public float[] fDamageLevelFactor = {\r
+                       0.5f, 1.0f, 1.5f\r
+               };\r
+               // ----------------------------------\r
+#endregion\r
+#endif\r
+\r
+               protected void t判定にあわせてゲージを増減する( E楽器パート screenmode, E楽器パート part, E判定 e今回の判定 )\r
+               {\r
+                       double fDamage;\r
+\r
+#if true       // DAMAGELEVELTUNING\r
+                       switch ( e今回の判定 )\r
+                       {\r
+                               case E判定.Perfect:\r
+                               case E判定.Great:\r
+                               case E判定.Good:\r
+                               case E判定.Poor:\r
+                                       fDamage = fDamageGaugeDelta[ (int) e今回の判定, (int) part ];\r
+                                       break;\r
+                               case E判定.Miss:\r
+                                       fDamage = fDamageGaugeDelta[ (int) e今回の判定, (int) part ];\r
+                                       switch ( CDTXMania.ConfigIni.eダメージレベル )\r
+                                       {\r
+                                               case Eダメージレベル.少ない:\r
+                                               case Eダメージレベル.普通:\r
+                                               case Eダメージレベル.大きい:\r
+                                                       fDamage *= fDamageLevelFactor[ (int) CDTXMania.ConfigIni.eダメージレベル ];\r
+                                                       break;\r
+                                       }\r
+                                       break;\r
+\r
+                               default:\r
+                                       fDamage = 0.0f;\r
+                                       break;\r
+                       }\r
+#else                                                                                                  // before applying #23625 modifications\r
+                       switch (e今回の判定)\r
+                       {\r
+                               case E判定.Perfect:\r
+                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015;\r
+                                       break;\r
+\r
+                               case E判定.Great:\r
+                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009;\r
+                                       break;\r
+\r
+                               case E判定.Good:\r
+                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003;\r
+                                       break;\r
+\r
+                               case E判定.Poor:\r
+                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0;\r
+                                       break;\r
+\r
+                               case E判定.Miss:\r
+                                       fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035;\r
+                                       switch( CDTXMania.ConfigIni.eダメージレベル )\r
+                                       {\r
+                                               case Eダメージレベル.少ない:\r
+                                                       fDamage *= 0.6;\r
+                                                       break;\r
+\r
+                                               case Eダメージレベル.普通:\r
+                                                       fDamage *= 1.0;\r
+                                                       break;\r
+\r
+                                               case Eダメージレベル.大きい:\r
+                                                       fDamage *= 1.6;\r
+                                                       break;\r
+                                       }\r
+                                       break;\r
+\r
+                               default:\r
+                                       fDamage = 0.0;\r
+                                       break;\r
+                       }\r
+#endif\r
+                       if ( screenmode == E楽器パート.DRUMS )                     // ドラム演奏画面なら、ギター/ベースのダメージも全部ドラムのゲージに集約する\r
+                       {\r
+                               part = E楽器パート.DRUMS;\r
+                       }\r
+                       this.actGauge.db現在のゲージ値[ (int) part ] += fDamage;\r
+\r
+                       if ( this.actGauge.db現在のゲージ値[ (int) part ] > 1.0 )\r
+                               this.actGauge.db現在のゲージ値[ (int) part ] = 1.0;\r
+               }\r
+               //-----------------\r
+               #endregion\r
+       }\r
+}\r
index f02b38d..ec313b7 100644 (file)
@@ -6,11 +6,11 @@ using FDK;
 \r
 namespace DTXMania\r
 {\r
-       internal class CAct演奏Guitarゲージ : CActivity\r
+       internal class CAct演奏Guitarゲージ : CAct演奏ゲージ\r
        {\r
                // プロパティ\r
 \r
-               public STDGBVALUE<double> db現在のゲージ値;\r
+//             public STDGBVALUE<double> db現在のゲージ値;\r
 \r
 \r
                // コンストラクタ\r
@@ -203,9 +203,9 @@ namespace DTXMania
 \r
                #region [ private ]\r
                //-----------------\r
-               private CCounter ct本体移動;\r
-               private CCounter ct本体振動;\r
-               private CTexture txゲージ;\r
+               //private CCounter ct本体移動;\r
+               //private CCounter ct本体振動;\r
+               //private CTexture txゲージ;\r
                //-----------------\r
                #endregion\r
        }\r
index 20e77a9..2d47f86 100644 (file)
@@ -13,14 +13,6 @@ namespace DTXMania
 {\r
        internal class CStage演奏ギター画面 : CStage演奏画面共通\r
        {\r
-               // プロパティ\r
-\r
-               public bool bAUTOでないチップが1つでもバーを通過した\r
-               {\r
-                       get;\r
-                       private set;\r
-               }\r
-\r
                // コンストラクタ\r
 \r
                public CStage演奏ギター画面()\r
@@ -176,7 +168,7 @@ namespace DTXMania
 \r
                public override void On活性化()\r
                {\r
-                       this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.継続;\r
+                       //this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.継続;\r
                        this.n現在のトップChip = ( CDTXMania.DTX.listChip.Count > 0 ) ? 0 : -1;\r
                        this.n最後に再生したHHの実WAV番号 = -1;\r
                        this.n最後に再生したHHのチャンネル番号 = 0;\r
@@ -186,8 +178,8 @@ namespace DTXMania
                        {\r
                                this.n最後に再生したBGMの実WAV番号[ i ] = -1;\r
                        }\r
-                       this.r次にくるギターChip = null;\r
-                       this.r次にくるベースChip = null;\r
+                       //this.r次にくるギターChip = null;\r
+                       //this.r次にくるベースChip = null;\r
                        for( int j = 0; j < 10; j++ )\r
                        {\r
                                this.r現在の空うちドラムChip[ j ] = null;\r
@@ -203,24 +195,24 @@ namespace DTXMania
                                }\r
                                this.queWailing[ k ] = new Queue<CDTX.CChip>();\r
                        }\r
-                       for( int m = 0; m < 3; m++ )\r
-                       {\r
-                               this.b演奏にキーボードを使った[ m ] = false;\r
-                               this.b演奏にジョイパッドを使った[ m ] = false;\r
-                               this.b演奏にMIDI入力を使った[ m ] = false;\r
-                               this.b演奏にマウスを使った[ m ] = false;\r
-                       }\r
+                       //for( int m = 0; m < 3; m++ )\r
+                       //{\r
+                       //    this.b演奏にキーボードを使った[ m ] = false;\r
+                       //    this.b演奏にジョイパッドを使った[ m ] = false;\r
+                       //    this.b演奏にMIDI入力を使った[ m ] = false;\r
+                       //    this.b演奏にマウスを使った[ m ] = false;\r
+                       //}\r
                        this.bAUTOでないチップが1つでもバーを通過した = false;\r
                        base.On活性化();\r
                        this.tステータスパネルの選択();\r
                        this.tパネル文字列の設定();\r
 \r
-                       this.nInputAdjustTimeMs.Drums = CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums;           // #23580 2011.1.3 yyagi\r
-            this.nInputAdjustTimeMs.Guitar = CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar;            //        2011.1.7 ikanick 修正\r
-                       this.nInputAdjustTimeMs.Bass = CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass;                     //\r
-                       this.bIsAutoPlay.Drums = false;\r
-                       this.bIsAutoPlay.Guitar = CDTXMania.ConfigIni.bAutoPlay.Guitar;\r
-                       this.bIsAutoPlay.Bass = CDTXMania.ConfigIni.bAutoPlay.Bass;\r
+                       // this.nInputAdjustTimeMs.Drums = CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums;                // #23580 2011.1.3 yyagi\r
+            // this.nInputAdjustTimeMs.Guitar = CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar;         //        2011.1.7 ikanick 修正\r
+                       // this.nInputAdjustTimeMs.Bass = CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass;                  //\r
+                       //this.bIsAutoPlay.Drums = false;\r
+                       //this.bIsAutoPlay.Guitar = CDTXMania.ConfigIni.bAutoPlay.Guitar;\r
+                       //this.bIsAutoPlay.Bass = CDTXMania.ConfigIni.bAutoPlay.Bass;\r
 \r
                        if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.24 yyagi Gt/Bsの譜面情報入れ替え\r
                        {\r
@@ -319,265 +311,237 @@ namespace DTXMania
 \r
                                if( CDTXMania.act現在入力を占有中のプラグイン == null )\r
                                {\r
-                                       IInputDevice keyboard = CDTXMania.Input管理.Keyboard;\r
-                                       if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.F1 ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) )\r
-                                       {\r
-                                               this.bPAUSE = !this.bPAUSE;\r
-                                               if( this.bPAUSE )\r
-                                               {\r
-                                                       CDTXMania.Timer.t一時停止();\r
-                                                       CDTXMania.DTX.t全チップの再生一時停止();\r
-                                               }\r
-                                               else\r
-                                               {\r
-                                                       CDTXMania.Timer.t再開();\r
-                                                       CDTXMania.DTX.t全チップの再生再開();\r
-                                               }\r
-                                       }\r
-                                       if( ( !this.bPAUSE && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) )\r
-                                       {\r
-                                               this.t入力処理・ギター();\r
-                                               this.t入力処理・ベース();\r
-                                               if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.UpArrow ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift) ) )\r
-                                               {       // shift (+ctrl) + Uparrow (BGMAdjust)\r
-                                                       CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightControl) ) ? 1 : 10 );\r
-                                                       CDTXMania.DTX.tWave再生位置自動補正();\r
-                                               }\r
-                                               else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.DownArrow ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) )\r
-                                               {\r
-                                                       CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightControl ) ) ? -1 : -10 );\r
-                                                       CDTXMania.DTX.tWave再生位置自動補正();\r
-                                               }\r
-                                               else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Delete ) )\r
-                                               {\r
-                                                       CDTXMania.ConfigIni.b演奏情報を表示する = !CDTXMania.ConfigIni.b演奏情報を表示する;\r
-                                               }\r
-                                               else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.LeftArrow ) )           // #23580 2011.1.16 yyagi UI for InputAdjustTime in playing screen.\r
-                                               {\r
-                                                       ChangeInputAdjustTimeInPlaying( keyboard, -1 );\r
-                                               }\r
-                                               else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.RightArrow ) )          // #23580 2011.1.16 yyagi UI for InputAdjustTime in playing screen.\r
-                                               {\r
-                                                       ChangeInputAdjustTimeInPlaying( keyboard, +1 );\r
-                                               }\r
-                                               else if ( ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) && ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Escape ) || CDTXMania.Pad.b押されたGB( Eパッド.FT ) ) )\r
-                                               {\r
-                                                       this.actFO.tフェードアウト開始();\r
-                                                       base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;\r
-                                                       this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.演奏中断;\r
-                                               }\r
-                                       }\r
+                                       this.tキー入力();\r
+                                       #region キー入力\r
+                                       //IInputDevice keyboard = CDTXMania.Input管理.Keyboard;\r
+                                       //if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.F1 ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) )\r
+                                       //{\r
+                                       //    this.bPAUSE = !this.bPAUSE;\r
+                                       //    if( this.bPAUSE )\r
+                                       //    {\r
+                                       //        CDTXMania.Timer.t一時停止();\r
+                                       //        CDTXMania.DTX.t全チップの再生一時停止();\r
+                                       //    }\r
+                                       //    else\r
+                                       //    {\r
+                                       //        CDTXMania.Timer.t再開();\r
+                                       //        CDTXMania.DTX.t全チップの再生再開();\r
+                                       //    }\r
+                                       //}\r
+                                       //if( ( !this.bPAUSE && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) )\r
+                                       //{\r
+                                       //    this.t入力処理・ギター();\r
+                                       //    this.t入力処理・ベース();\r
+                                       //    if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.UpArrow ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift) ) )\r
+                                       //    { // shift (+ctrl) + Uparrow (BGMAdjust)\r
+                                       //        CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightControl) ) ? 1 : 10 );\r
+                                       //        CDTXMania.DTX.tWave再生位置自動補正();\r
+                                       //    }\r
+                                       //    else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.DownArrow ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) )\r
+                                       //    {\r
+                                       //        CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightControl ) ) ? -1 : -10 );\r
+                                       //        CDTXMania.DTX.tWave再生位置自動補正();\r
+                                       //    }\r
+                                       //    else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Delete ) )\r
+                                       //    {\r
+                                       //        CDTXMania.ConfigIni.b演奏情報を表示する = !CDTXMania.ConfigIni.b演奏情報を表示する;\r
+                                       //    }\r
+                                       //    else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.LeftArrow ) )             // #23580 2011.1.16 yyagi UI for InputAdjustTime in playing screen.\r
+                                       //    {\r
+                                       //        ChangeInputAdjustTimeInPlaying( keyboard, -1 );\r
+                                       //    }\r
+                                       //    else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.RightArrow ) )            // #23580 2011.1.16 yyagi UI for InputAdjustTime in playing screen.\r
+                                       //    {\r
+                                       //        ChangeInputAdjustTimeInPlaying( keyboard, +1 );\r
+                                       //    }\r
+                                       //    else if ( ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) && ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Escape ) || CDTXMania.Pad.b押されたGB( Eパッド.FT ) ) )\r
+                                       //    {\r
+                                       //        this.actFO.tフェードアウト開始();\r
+                                       //        base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;\r
+                                       //        this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.演奏中断;\r
+                                       //    }\r
+                                       //}\r
+                                       #endregion\r
                                }\r
                        }\r
                        return 0;\r
                }\r
-               private void ChangeInputAdjustTimeInPlaying( IInputDevice keyboard, int plusminus )             // #23580 2011.1.16 yyagi UI for InputAdjustTime in playing screen.\r
-               {\r
-                       int part, offset = plusminus;\r
-                       if ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) )      // Guitar InputAdjustTime\r
-                       {\r
-                               part = (int) E楽器パート.GUITAR;\r
-                       }\r
-                       else if ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftAlt ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightAlt ) )     // Bass InputAdjustTime\r
-                       {\r
-                               part = (int) E楽器パート.BASS;\r
-                       }\r
-                       else    // Drums InputAdjustTime\r
-                       {\r
-                               part = (int) E楽器パート.DRUMS;\r
-                       }\r
-                       if ( !keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftControl ) && !keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightControl ) )\r
-                       {\r
-                               offset *= 10;\r
-                       }\r
-\r
-                       this.nInputAdjustTimeMs[ part ] += offset;\r
-                       if ( this.nInputAdjustTimeMs[ part ] > 0 )\r
-                       {\r
-                               this.nInputAdjustTimeMs[ part ] = 0;\r
-                       }\r
-                       else if ( this.nInputAdjustTimeMs[ part ] < -99 )\r
-                       {\r
-                               this.nInputAdjustTimeMs[ part ] = -99;\r
-                       }\r
-                       CDTXMania.ConfigIni.nInputAdjustTimeMs[ part ] = this.nInputAdjustTimeMs[ part ];\r
-               }\r
 \r
 \r
                // その他\r
 \r
                #region [ private ]\r
                //-----------------\r
-               private class STHITCOUNTOFRANK\r
-               {\r
-                       // Fields\r
-                       public int Good;\r
-                       public int Great;\r
-                       public int Miss;\r
-                       public int Perfect;\r
-                       public int Poor;\r
-\r
-                       // Properties\r
-                       public int this[ int index ]\r
-                       {\r
-                               get\r
-                               {\r
-                                       switch( index )\r
-                                       {\r
-                                               case 0:\r
-                                                       return this.Perfect;\r
-\r
-                                               case 1:\r
-                                                       return this.Great;\r
-\r
-                                               case 2:\r
-                                                       return this.Good;\r
-\r
-                                               case 3:\r
-                                                       return this.Poor;\r
-\r
-                                               case 4:\r
-                                                       return this.Miss;\r
-                                       }\r
-                                       throw new IndexOutOfRangeException();\r
-                               }\r
-                               set\r
-                               {\r
-                                       switch( index )\r
-                                       {\r
-                                               case 0:\r
-                                                       this.Perfect = value;\r
-                                                       return;\r
-\r
-                                               case 1:\r
-                                                       this.Great = value;\r
-                                                       return;\r
-\r
-                                               case 2:\r
-                                                       this.Good = value;\r
-                                                       return;\r
-\r
-                                               case 3:\r
-                                                       this.Poor = value;\r
-                                                       return;\r
-\r
-                                               case 4:\r
-                                                       this.Miss = value;\r
-                                                       return;\r
-                                       }\r
-                                       throw new IndexOutOfRangeException();\r
-                               }\r
-                       }\r
-               }\r
-\r
-               [StructLayout( LayoutKind.Sequential )]\r
-               private struct STKARAUCHI\r
-               {\r
-                       public CDTX.CChip HH;\r
-                       public CDTX.CChip SD;\r
-                       public CDTX.CChip BD;\r
-                       public CDTX.CChip HT;\r
-                       public CDTX.CChip LT;\r
-                       public CDTX.CChip FT;\r
-                       public CDTX.CChip CY;\r
-                       public CDTX.CChip HHO;\r
-                       public CDTX.CChip RD;\r
-                       public CDTX.CChip LC;\r
-                       public CDTX.CChip this[ int index ]\r
-                       {\r
-                               get\r
-                               {\r
-                                       switch( index )\r
-                                       {\r
-                                               case 0:\r
-                                                       return this.HH;\r
-\r
-                                               case 1:\r
-                                                       return this.SD;\r
-\r
-                                               case 2:\r
-                                                       return this.BD;\r
-\r
-                                               case 3:\r
-                                                       return this.HT;\r
-\r
-                                               case 4:\r
-                                                       return this.LT;\r
-\r
-                                               case 5:\r
-                                                       return this.FT;\r
-\r
-                                               case 6:\r
-                                                       return this.CY;\r
-\r
-                                               case 7:\r
-                                                       return this.HHO;\r
-\r
-                                               case 8:\r
-                                                       return this.RD;\r
-\r
-                                               case 9:\r
-                                                       return this.LC;\r
-                                       }\r
-                                       throw new IndexOutOfRangeException();\r
-                               }\r
-                               set\r
-                               {\r
-                                       switch( index )\r
-                                       {\r
-                                               case 0:\r
-                                                       this.HH = value;\r
-                                                       return;\r
-\r
-                                               case 1:\r
-                                                       this.SD = value;\r
-                                                       return;\r
-\r
-                                               case 2:\r
-                                                       this.BD = value;\r
-                                                       return;\r
-\r
-                                               case 3:\r
-                                                       this.HT = value;\r
-                                                       return;\r
-\r
-                                               case 4:\r
-                                                       this.LT = value;\r
-                                                       return;\r
-\r
-                                               case 5:\r
-                                                       this.FT = value;\r
-                                                       return;\r
-\r
-                                               case 6:\r
-                                                       this.CY = value;\r
-                                                       return;\r
-\r
-                                               case 7:\r
-                                                       this.HHO = value;\r
-                                                       return;\r
-\r
-                                               case 8:\r
-                                                       this.RD = value;\r
-                                                       return;\r
-\r
-                                               case 9:\r
-                                                       this.LC = value;\r
-                                                       return;\r
-                                       }\r
-                                       throw new IndexOutOfRangeException();\r
-                               }\r
-                       }\r
-               }\r
+               //private class STHITCOUNTOFRANK\r
+               //{\r
+               //    // Fields\r
+               //    public int Good;\r
+               //    public int Great;\r
+               //    public int Miss;\r
+               //    public int Perfect;\r
+               //    public int Poor;\r
+\r
+               //    // Properties\r
+               //    public int this[ int index ]\r
+               //    {\r
+               //        get\r
+               //        {\r
+               //            switch( index )\r
+               //            {\r
+               //                case 0:\r
+               //                    return this.Perfect;\r
+\r
+               //                case 1:\r
+               //                    return this.Great;\r
+\r
+               //                case 2:\r
+               //                    return this.Good;\r
+\r
+               //                case 3:\r
+               //                    return this.Poor;\r
+\r
+               //                case 4:\r
+               //                    return this.Miss;\r
+               //            }\r
+               //            throw new IndexOutOfRangeException();\r
+               //        }\r
+               //        set\r
+               //        {\r
+               //            switch( index )\r
+               //            {\r
+               //                case 0:\r
+               //                    this.Perfect = value;\r
+               //                    return;\r
+\r
+               //                case 1:\r
+               //                    this.Great = value;\r
+               //                    return;\r
+\r
+               //                case 2:\r
+               //                    this.Good = value;\r
+               //                    return;\r
+\r
+               //                case 3:\r
+               //                    this.Poor = value;\r
+               //                    return;\r
+\r
+               //                case 4:\r
+               //                    this.Miss = value;\r
+               //                    return;\r
+               //            }\r
+               //            throw new IndexOutOfRangeException();\r
+               //        }\r
+               //    }\r
+               //}\r
+\r
+               //[StructLayout( LayoutKind.Sequential )]\r
+               //private struct STKARAUCHI\r
+               //{\r
+               //    public CDTX.CChip HH;\r
+               //    public CDTX.CChip SD;\r
+               //    public CDTX.CChip BD;\r
+               //    public CDTX.CChip HT;\r
+               //    public CDTX.CChip LT;\r
+               //    public CDTX.CChip FT;\r
+               //    public CDTX.CChip CY;\r
+               //    public CDTX.CChip HHO;\r
+               //    public CDTX.CChip RD;\r
+               //    public CDTX.CChip LC;\r
+               //    public CDTX.CChip this[ int index ]\r
+               //    {\r
+               //        get\r
+               //        {\r
+               //            switch( index )\r
+               //            {\r
+               //                case 0:\r
+               //                    return this.HH;\r
+\r
+               //                case 1:\r
+               //                    return this.SD;\r
+\r
+               //                case 2:\r
+               //                    return this.BD;\r
+\r
+               //                case 3:\r
+               //                    return this.HT;\r
+\r
+               //                case 4:\r
+               //                    return this.LT;\r
+\r
+               //                case 5:\r
+               //                    return this.FT;\r
+\r
+               //                case 6:\r
+               //                    return this.CY;\r
+\r
+               //                case 7:\r
+               //                    return this.HHO;\r
+\r
+               //                case 8:\r
+               //                    return this.RD;\r
+\r
+               //                case 9:\r
+               //                    return this.LC;\r
+               //            }\r
+               //            throw new IndexOutOfRangeException();\r
+               //        }\r
+               //        set\r
+               //        {\r
+               //            switch( index )\r
+               //            {\r
+               //                case 0:\r
+               //                    this.HH = value;\r
+               //                    return;\r
+\r
+               //                case 1:\r
+               //                    this.SD = value;\r
+               //                    return;\r
+\r
+               //                case 2:\r
+               //                    this.BD = value;\r
+               //                    return;\r
+\r
+               //                case 3:\r
+               //                    this.HT = value;\r
+               //                    return;\r
+\r
+               //                case 4:\r
+               //                    this.LT = value;\r
+               //                    return;\r
+\r
+               //                case 5:\r
+               //                    this.FT = value;\r
+               //                    return;\r
+\r
+               //                case 6:\r
+               //                    this.CY = value;\r
+               //                    return;\r
+\r
+               //                case 7:\r
+               //                    this.HHO = value;\r
+               //                    return;\r
+\r
+               //                case 8:\r
+               //                    this.RD = value;\r
+               //                    return;\r
+\r
+               //                case 9:\r
+               //                    this.LC = value;\r
+               //                    return;\r
+               //            }\r
+               //            throw new IndexOutOfRangeException();\r
+               //        }\r
+               //    }\r
+               //}\r
 \r
                private CAct演奏AVI actAVI;\r
                private CAct演奏BGA actBGA;\r
                private CAct演奏Guitarチップファイア actChipFire;\r
                private CAct演奏Guitarコンボ actCombo;\r
-               private CActFIFOBlack actFI;\r
-               private CActFIFOBlack actFO;\r
-               private CActFIFOWhite actFOClear;\r
-               private CAct演奏Guitarゲージ actGauge;\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演奏パネル文字列 actPanel;\r
@@ -588,14 +552,14 @@ namespace DTXMania
                private CAct演奏Guitarステータスパネル actStatusPanels;\r
                private CAct演奏GuitarWailingBonus actWailingBonus;\r
                private CAct演奏スクロール速度 act譜面スクロール速度;\r
-               private bool bPAUSE;\r
-               private STDGBVALUE<bool> b演奏にMIDI入力を使った;\r
-               private STDGBVALUE<bool> b演奏にキーボードを使った;\r
-               private STDGBVALUE<bool> b演奏にジョイパッドを使った;\r
-               private STDGBVALUE<bool> b演奏にマウスを使った;\r
+               //private bool bPAUSE;\r
+               //private STDGBVALUE<bool> b演奏にMIDI入力を使った;\r
+               //private STDGBVALUE<bool> b演奏にキーボードを使った;\r
+               //private STDGBVALUE<bool> b演奏にジョイパッドを使った;\r
+               //private STDGBVALUE<bool> b演奏にマウスを使った;\r
                private CCounter ctWailingチップ模様アニメ;\r
                private STDGBVALUE<CCounter> ctチップ模様アニメ;\r
-               private E演奏画面の戻り値 eフェードアウト完了時の戻り値;\r
+               //private E演奏画面の戻り値 eフェードアウト完了時の戻り値;\r
                private readonly int[,] nBGAスコープチャンネルマップ = new int[ , ] { { 0xc4, 0xc7, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xe0 }, { 4, 7, 0x55, 0x56, 0x57, 0x58, 0x59, 0x60 } };\r
                private readonly int[] nチャンネル0Atoパッド08 = new int[] { 1, 2, 3, 4, 5, 7, 6, 1, 8, 0 };\r
                private readonly int[] nチャンネル0Atoレーン07 = new int[] { 1, 2, 3, 4, 5, 7, 6, 1, 7, 0 };\r
@@ -604,7 +568,7 @@ namespace DTXMania
                private readonly int[] nパッド0Atoレーン07 = new int[] { 1, 2, 3, 4, 5, 6, 7, 1, 7, 0 };\r
                private STDGBVALUE<STHITCOUNTOFRANK> nヒット数・Auto含まない;\r
                private STDGBVALUE<STHITCOUNTOFRANK> nヒット数・Auto含む;\r
-               private int n現在のトップChip = -1;\r
+               // private int n現在のトップChip = -1;\r
                private int[] n最後に再生したBGMの実WAV番号 = new int[ 50 ];\r
                private int n最後に再生したHHのチャンネル番号;\r
                private int n最後に再生したHHの実WAV番号;\r
@@ -615,41 +579,41 @@ namespace DTXMania
                private CDTX.CChip r現在の空うちギターChip;\r
                private STKARAUCHI r現在の空うちドラムChip;\r
                private CDTX.CChip r現在の空うちベースChip;\r
-               private CDTX.CChip r次にくるギターChip;\r
-               private CDTX.CChip r次にくるベースChip;\r
+               //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 STDGBVALUE<int> nInputAdjustTimeMs;             // #23580 2011.1.3 yyagi\r
-               private STDGBVALUE<bool> bIsAutoPlay;                           // #24239 2011.1.23 yyagi\r
-\r
-               private E判定 e指定時刻からChipのJUDGEを返す( long nTime, CDTX.CChip pChip, int nInputAdjustTime )\r
-               {\r
-                       if ( pChip != null )\r
-                       {\r
-                               pChip.nLag = (int) ( nTime + nInputAdjustTime - pChip.n発声時刻ms );                // #23580 2011.1.3 yyagi: add "nInputAdjustTime" to add input timing adjust feature\r
-                               int nDeltaTime = Math.Abs( pChip.nLag );\r
-                               //Debug.WriteLine("nAbsTime=" + (nTime - pChip.n発声時刻ms) + ", nDeltaTime=" + (nTime + nInputAdjustTime - pChip.n発声時刻ms));\r
-                               if ( nDeltaTime <= CDTXMania.nPerfect範囲ms )\r
-                               {\r
-                                       return E判定.Perfect;\r
-                               }\r
-                               if ( nDeltaTime <= CDTXMania.nGreat範囲ms )\r
-                               {\r
-                                       return E判定.Great;\r
-                               }\r
-                               if ( nDeltaTime <= CDTXMania.nGood範囲ms )\r
-                               {\r
-                                       return E判定.Good;\r
-                               }\r
-                               if ( nDeltaTime <= CDTXMania.nPoor範囲ms )\r
-                               {\r
-                                       return E判定.Poor;\r
-                               }\r
-                       }\r
-                       return E判定.Miss;\r
-               }\r
+               // private STDGBVALUE<int> nInputAdjustTimeMs;          // #23580 2011.1.3 yyagi\r
+               //private STDGBVALUE<bool> bIsAutoPlay;                         // #24239 2011.1.23 yyagi\r
+\r
+               //private E判定 e指定時刻からChipのJUDGEを返す( long nTime, CDTX.CChip pChip, int nInputAdjustTime )\r
+               //{\r
+               //    if ( pChip != null )\r
+               //    {\r
+               //        pChip.nLag = (int) ( nTime + nInputAdjustTime - pChip.n発声時刻ms );              // #23580 2011.1.3 yyagi: add "nInputAdjustTime" to add input timing adjust feature\r
+               //        int nDeltaTime = Math.Abs( pChip.nLag );\r
+               //        //Debug.WriteLine("nAbsTime=" + (nTime - pChip.n発声時刻ms) + ", nDeltaTime=" + (nTime + nInputAdjustTime - pChip.n発声時刻ms));\r
+               //        if ( nDeltaTime <= CDTXMania.nPerfect範囲ms )\r
+               //        {\r
+               //            return E判定.Perfect;\r
+               //        }\r
+               //        if ( nDeltaTime <= CDTXMania.nGreat範囲ms )\r
+               //        {\r
+               //            return E判定.Great;\r
+               //        }\r
+               //        if ( nDeltaTime <= CDTXMania.nGood範囲ms )\r
+               //        {\r
+               //            return E判定.Good;\r
+               //        }\r
+               //        if ( nDeltaTime <= CDTXMania.nPoor範囲ms )\r
+               //        {\r
+               //            return E判定.Poor;\r
+               //        }\r
+               //    }\r
+               //    return E判定.Miss;\r
+               //}\r
                private CDTX.CChip r空うちChip( E楽器パート part, Eパッド pad )\r
                {\r
                        switch( part )\r
@@ -662,97 +626,97 @@ namespace DTXMania
                        }\r
                        return null;\r
                }\r
-               private CDTX.CChip r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( long nTime, int nChannelFlag, int nInputAdjustTime )\r
-               {\r
-                       nTime += nInputAdjustTime;\r
+               //private CDTX.CChip r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( long nTime, int nChannelFlag, int nInputAdjustTime )\r
+               //{\r
+               //    nTime += nInputAdjustTime;\r
        \r
-                       int num5;\r
-                       if( this.n現在のトップChip == -1 )\r
-                       {\r
-                               return null;\r
-                       }\r
-                       int count = CDTXMania.DTX.listChip.Count;\r
-                       int num4 = num5 = this.n現在のトップChip;\r
-                       if( this.n現在のトップChip >= count )\r
-                       {\r
-                               num4 = num5 = count - 1;\r
-                       }\r
-                       int num2 = num4;\r
-                       while( num2 < count )\r
-                       {\r
-                               CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ];\r
-                               if( ( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) ) && ( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) )\r
-                               {\r
-                                       if( chip.n発声時刻ms > nTime )\r
-                                       {\r
-                                               break;\r
-                                       }\r
-                                       num5 = num2;\r
-                               }\r
-                               else if( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) )\r
-                               {\r
-                                       if( chip.n発声時刻ms > nTime )\r
-                                       {\r
-                                               break;\r
-                                       }\r
-                                       num5 = num2;\r
-                               }\r
-                               else if( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) )\r
-                               {\r
-                                       if( chip.n発声時刻ms > nTime )\r
-                                       {\r
-                                               break;\r
-                                       }\r
-                                       num5 = num2;\r
-                               }\r
-                               num2++;\r
-                       }\r
-                       int num3 = num5;\r
-                       while( num3 >= 0 )\r
-                       {\r
-                               CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ];\r
-                               if( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) )\r
-                               {\r
-                                       if( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) )\r
-                                       {\r
-                                               break;\r
-                                       }\r
-                               }\r
-                               else if( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) )\r
-                               {\r
-                                       if( ( chip2.nチャンネル番号 >= 0x20 ) && ( chip2.nチャンネル番号 <= 40 ) )\r
-                                       {\r
-                                               break;\r
-                                       }\r
-                               }\r
-                               else if( ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) && ( ( chip2.nチャンネル番号 >= 160 ) && ( chip2.nチャンネル番号 <= 0xa8 ) ) )\r
-                               {\r
-                                       break;\r
-                               }\r
-                               num3--;\r
-                       }\r
-                       if( ( num2 == count ) && ( num3 < 0 ) )\r
-                       {\r
-                               return null;\r
-                       }\r
-                       if( num2 == count )\r
-                       {\r
-                               return CDTXMania.DTX.listChip[ num3 ];\r
-                       }\r
-                       if( num3 < 0 )\r
-                       {\r
-                               return CDTXMania.DTX.listChip[ num2 ];\r
-                       }\r
-                       CDTX.CChip chip3 = CDTXMania.DTX.listChip[ num2 ];\r
-                       CDTX.CChip chip4 = CDTXMania.DTX.listChip[ num3 ];\r
-                       int num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
-                       int num7 = Math.Abs( (int) ( nTime - chip4.n発声時刻ms ) );\r
-                       if( num6 >= num7 )\r
-                       {\r
-                               return chip4;\r
-                       }\r
-                       return chip3;\r
-               }\r
+               //    int num5;\r
+               //    if( this.n現在のトップChip == -1 )\r
+               //    {\r
+               //        return null;\r
+               //    }\r
+               //    int count = CDTXMania.DTX.listChip.Count;\r
+               //    int num4 = num5 = this.n現在のトップChip;\r
+               //    if( this.n現在のトップChip >= count )\r
+               //    {\r
+               //        num4 = num5 = count - 1;\r
+               //    }\r
+               //    int num2 = num4;\r
+               //    while( num2 < count )\r
+               //    {\r
+               //        CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ];\r
+               //        if( ( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) ) && ( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) )\r
+               //        {\r
+               //            if( chip.n発声時刻ms > nTime )\r
+               //            {\r
+               //                break;\r
+               //            }\r
+               //            num5 = num2;\r
+               //        }\r
+               //        else if( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) )\r
+               //        {\r
+               //            if( chip.n発声時刻ms > nTime )\r
+               //            {\r
+               //                break;\r
+               //            }\r
+               //            num5 = num2;\r
+               //        }\r
+               //        else if( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) )\r
+               //        {\r
+               //            if( chip.n発声時刻ms > nTime )\r
+               //            {\r
+               //                break;\r
+               //            }\r
+               //            num5 = num2;\r
+               //        }\r
+               //        num2++;\r
+               //    }\r
+               //    int num3 = num5;\r
+               //    while( num3 >= 0 )\r
+               //    {\r
+               //        CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ];\r
+               //        if( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) )\r
+               //        {\r
+               //            if( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) )\r
+               //            {\r
+               //                break;\r
+               //            }\r
+               //        }\r
+               //        else if( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) )\r
+               //        {\r
+               //            if( ( chip2.nチャンネル番号 >= 0x20 ) && ( chip2.nチャンネル番号 <= 40 ) )\r
+               //            {\r
+               //                break;\r
+               //            }\r
+               //        }\r
+               //        else if( ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) && ( ( chip2.nチャンネル番号 >= 160 ) && ( chip2.nチャンネル番号 <= 0xa8 ) ) )\r
+               //        {\r
+               //            break;\r
+               //        }\r
+               //        num3--;\r
+               //    }\r
+               //    if( ( num2 == count ) && ( num3 < 0 ) )\r
+               //    {\r
+               //        return null;\r
+               //    }\r
+               //    if( num2 == count )\r
+               //    {\r
+               //        return CDTXMania.DTX.listChip[ num3 ];\r
+               //    }\r
+               //    if( num3 < 0 )\r
+               //    {\r
+               //        return CDTXMania.DTX.listChip[ num2 ];\r
+               //    }\r
+               //    CDTX.CChip chip3 = CDTXMania.DTX.listChip[ num2 ];\r
+               //    CDTX.CChip chip4 = CDTXMania.DTX.listChip[ num3 ];\r
+               //    int num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
+               //    int num7 = Math.Abs( (int) ( nTime - chip4.n発声時刻ms ) );\r
+               //    if( num6 >= num7 )\r
+               //    {\r
+               //        return chip4;\r
+               //    }\r
+               //    return chip3;\r
+               //}\r
 //             private CDTX.CChip r指定時刻に一番近い未ヒットChip( long nTime, int nChannelFlag )\r
 //             {\r
 //                     return this.r指定時刻に一番近い未ヒットChip( nTime, nChannelFlag, 0, 0 );\r
@@ -761,113 +725,113 @@ namespace DTXMania
 //             {\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
-\r
-                       int num5;\r
-                       int num6;\r
-                       if( this.n現在のトップChip == -1 )\r
-                       {\r
-                               return null;\r
-                       }\r
-                       int count = CDTXMania.DTX.listChip.Count;\r
-                       int num4 = num5 = this.n現在のトップChip;\r
-                       if( this.n現在のトップChip >= count )\r
-                       {\r
-                               num4 = num5 = count - 1;\r
-                       }\r
-                       int num2 = num4;\r
-                       while( num2 < count )\r
-                       {\r
-                               CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ];\r
-                               if( ( !chip.bHit && ( nChannelFlag >= 0x11 ) ) && ( nChannelFlag <= 0x1a ) )\r
-                               {\r
-                                       if( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) )\r
-                                       {\r
-                                               if( chip.n発声時刻ms > nTime )\r
-                                               {\r
-                                                       break;\r
-                                               }\r
-                                               num5 = num2;\r
-                                       }\r
-                               }\r
-                               else if( !chip.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) )\r
-                               {\r
-                                       if( chip.n発声時刻ms > nTime )\r
-                                       {\r
-                                               break;\r
-                                       }\r
-                                       num5 = num2;\r
-                               }\r
-                               else if( !chip.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) )\r
-                               {\r
-                                       if( chip.n発声時刻ms > nTime )\r
-                                       {\r
-                                               break;\r
-                                       }\r
-                                       num5 = num2;\r
-                               }\r
-                               num2++;\r
-                       }\r
-                       int num3 = num5;\r
-                       while( num3 >= 0 )\r
-                       {\r
-                               CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ];\r
-                               if( ( ( ( !chip2.bHit && ( nChannelFlag >= 0x11 ) ) && ( ( nChannelFlag <= 0x1a ) && ( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) )\r
-                               {\r
-                                       break;\r
-                               }\r
-                               num3--;\r
-                       }\r
-                       if( ( num2 == count ) && ( num3 < 0 ) )\r
-                       {\r
-                               return null;\r
-                       }\r
-                       CDTX.CChip chip3 = null;\r
-                       if( num2 == count )\r
-                       {\r
-                               chip3 = CDTXMania.DTX.listChip[ num3 ];\r
-                               num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
-                       }\r
-                       else if( num3 < 0 )\r
-                       {\r
-                               chip3 = CDTXMania.DTX.listChip[ num2 ];\r
-                               num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
-                       }\r
-                       else\r
-                       {\r
-                               int num7 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) );\r
-                               int num8 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) );\r
-                               if( num7 < num8 )\r
-                               {\r
-                                       chip3 = CDTXMania.DTX.listChip[ num2 ];\r
-                                       num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
-                               }\r
-                               else\r
-                               {\r
-                                       chip3 = CDTXMania.DTX.listChip[ num3 ];\r
-                                       num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
-                               }\r
-                       }\r
-                       if( ( n検索範囲時間ms > 0 ) && ( num6 > n検索範囲時間ms ) )\r
-                       {\r
-                               return null;\r
-                       }\r
-                       return chip3;\r
-               }\r
-               private CDTX.CChip r次にくるギターChipを更新して返す()\r
-               {\r
-                       int nInputAdjustTime = this.bIsAutoPlay.Guitar ? 0 : this.nInputAdjustTimeMs.Guitar;\r
-                       this.r次にくるギターChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0x2f, nInputAdjustTime, 500 );\r
-                       return this.r次にくるギターChip;\r
-               }\r
-               private CDTX.CChip r次にくるベースChipを更新して返す()\r
-               {\r
-                       int nInputAdjustTime = this.bIsAutoPlay.Bass ? 0 : this.nInputAdjustTimeMs.Bass;\r
-                       this.r次にくるベースChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0xaf, nInputAdjustTime, 500 );\r
-                       return this.r次にくるベースChip;\r
-               }\r
+               //private CDTX.CChip r指定時刻に一番近い未ヒットChip( long nTime, int nChannelFlag, int nInputAdjustTime, int n検索範囲時間ms )\r
+               //{\r
+               //    nTime += nInputAdjustTime;\r
+\r
+               //    int num5;\r
+               //    int num6;\r
+               //    if( this.n現在のトップChip == -1 )\r
+               //    {\r
+               //        return null;\r
+               //    }\r
+               //    int count = CDTXMania.DTX.listChip.Count;\r
+               //    int num4 = num5 = this.n現在のトップChip;\r
+               //    if( this.n現在のトップChip >= count )\r
+               //    {\r
+               //        num4 = num5 = count - 1;\r
+               //    }\r
+               //    int num2 = num4;\r
+               //    while( num2 < count )\r
+               //    {\r
+               //        CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ];\r
+               //        if( ( !chip.bHit && ( nChannelFlag >= 0x11 ) ) && ( nChannelFlag <= 0x1a ) )\r
+               //        {\r
+               //            if( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) )\r
+               //            {\r
+               //                if( chip.n発声時刻ms > nTime )\r
+               //                {\r
+               //                    break;\r
+               //                }\r
+               //                num5 = num2;\r
+               //            }\r
+               //        }\r
+               //        else if( !chip.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) )\r
+               //        {\r
+               //            if( chip.n発声時刻ms > nTime )\r
+               //            {\r
+               //                break;\r
+               //            }\r
+               //            num5 = num2;\r
+               //        }\r
+               //        else if( !chip.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) )\r
+               //        {\r
+               //            if( chip.n発声時刻ms > nTime )\r
+               //            {\r
+               //                break;\r
+               //            }\r
+               //            num5 = num2;\r
+               //        }\r
+               //        num2++;\r
+               //    }\r
+               //    int num3 = num5;\r
+               //    while( num3 >= 0 )\r
+               //    {\r
+               //        CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ];\r
+               //        if( ( ( ( !chip2.bHit && ( nChannelFlag >= 0x11 ) ) && ( ( nChannelFlag <= 0x1a ) && ( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) )\r
+               //        {\r
+               //            break;\r
+               //        }\r
+               //        num3--;\r
+               //    }\r
+               //    if( ( num2 == count ) && ( num3 < 0 ) )\r
+               //    {\r
+               //        return null;\r
+               //    }\r
+               //    CDTX.CChip chip3 = null;\r
+               //    if( num2 == count )\r
+               //    {\r
+               //        chip3 = CDTXMania.DTX.listChip[ num3 ];\r
+               //        num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
+               //    }\r
+               //    else if( num3 < 0 )\r
+               //    {\r
+               //        chip3 = CDTXMania.DTX.listChip[ num2 ];\r
+               //        num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
+               //    }\r
+               //    else\r
+               //    {\r
+               //        int num7 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) );\r
+               //        int num8 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) );\r
+               //        if( num7 < num8 )\r
+               //        {\r
+               //            chip3 = CDTXMania.DTX.listChip[ num2 ];\r
+               //            num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
+               //        }\r
+               //        else\r
+               //        {\r
+               //            chip3 = CDTXMania.DTX.listChip[ num3 ];\r
+               //            num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
+               //        }\r
+               //    }\r
+               //    if( ( n検索範囲時間ms > 0 ) && ( num6 > n検索範囲時間ms ) )\r
+               //    {\r
+               //        return null;\r
+               //    }\r
+               //    return chip3;\r
+               //}\r
+               //private CDTX.CChip r次にくるギターChipを更新して返す()\r
+               //{\r
+               //    int nInputAdjustTime = this.bIsAutoPlay.Guitar ? 0 : this.nInputAdjustTimeMs.Guitar;\r
+               //    this.r次にくるギターChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0x2f, nInputAdjustTime, 500 );\r
+               //    return this.r次にくるギターChip;\r
+               //}\r
+               //private CDTX.CChip r次にくるベースChipを更新して返す()\r
+               //{\r
+               //    int nInputAdjustTime = this.bIsAutoPlay.Bass ? 0 : this.nInputAdjustTimeMs.Bass;\r
+               //    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
@@ -985,7 +949,7 @@ namespace DTXMania
                        }\r
                        if( !bIsAutoPlay )\r
                        {\r
-                               this.t判定にあわせてゲージを増減する( pChip.e楽器パート, eJudgeResult );\r
+                               this.t判定にあわせてゲージを増減する( E楽器パート.GUITAR, pChip.e楽器パート, eJudgeResult );\r
                        }\r
                        int num = 0;\r
                        switch( pChip.e楽器パート )\r
@@ -1105,7 +1069,7 @@ namespace DTXMania
                }\r
                private void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part, int nLane )\r
                {\r
-                       this.t判定にあわせてゲージを増減する( part, E判定.Miss );\r
+                       this.t判定にあわせてゲージを増減する( E楽器パート.GUITAR, part, E判定.Miss );\r
                        switch( part )\r
                        {\r
                                case E楽器パート.DRUMS:\r
@@ -1949,34 +1913,34 @@ namespace DTXMania
                                this.actPanel.t進行描画( 0xb5, 430 );\r
                        }\r
                }\r
-               private bool t進行描画・フェードイン・アウト()\r
-               {\r
-                       switch( base.eフェーズID )\r
-                       {\r
-                               case CStage.Eフェーズ.共通_フェードイン:\r
-                                       if( this.actFI.On進行描画() != 0 )\r
-                                       {\r
-                                               base.eフェーズID = CStage.Eフェーズ.共通_通常状態;\r
-                                       }\r
-                                       break;\r
-\r
-                               case CStage.Eフェーズ.共通_フェードアウト:\r
-                               case CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト:\r
-                                       if( this.actFO.On進行描画() != 0 )\r
-                                       {\r
-                                               return true;\r
-                                       }\r
-                                       break;\r
-\r
-                               case CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト:\r
-                                       if( this.actFOClear.On進行描画() == 0 )\r
-                                       {\r
-                                               break;\r
-                                       }\r
-                                       return true;\r
-                       }\r
-                       return false;\r
-               }\r
+               //private bool t進行描画・フェードイン・アウト()\r
+               //{\r
+               //    switch( base.eフェーズID )\r
+               //    {\r
+               //        case CStage.Eフェーズ.共通_フェードイン:\r
+               //            if( this.actFI.On進行描画() != 0 )\r
+               //            {\r
+               //                base.eフェーズID = CStage.Eフェーズ.共通_通常状態;\r
+               //            }\r
+               //            break;\r
+\r
+               //        case CStage.Eフェーズ.共通_フェードアウト:\r
+               //        case CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト:\r
+               //            if( this.actFO.On進行描画() != 0 )\r
+               //            {\r
+               //                return true;\r
+               //            }\r
+               //            break;\r
+\r
+               //        case CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト:\r
+               //            if( this.actFOClear.On進行描画() == 0 )\r
+               //            {\r
+               //                break;\r
+               //            }\r
+               //            return true;\r
+               //    }\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
@@ -2013,26 +1977,41 @@ namespace DTXMania
                {\r
                        this.act譜面スクロール速度.On進行描画();\r
                }\r
-               private void t入力メソッド記憶( E楽器パート part )\r
+               //private void t入力メソッド記憶( E楽器パート part )\r
+               //{\r
+               //    if( CDTXMania.Pad.st検知したデバイス.Keyboard )\r
+               //    {\r
+               //        this.b演奏にキーボードを使った[ (int) part ] = true;\r
+               //    }\r
+               //    if( CDTXMania.Pad.st検知したデバイス.Joypad )\r
+               //    {\r
+               //        this.b演奏にジョイパッドを使った[ (int) part ] = true;\r
+               //    }\r
+               //    if( CDTXMania.Pad.st検知したデバイス.MIDIIN )\r
+               //    {\r
+               //        this.b演奏にMIDI入力を使った[ (int) part ] = true;\r
+               //    }\r
+               //    if( CDTXMania.Pad.st検知したデバイス.Mouse )\r
+               //    {\r
+               //        this.b演奏にマウスを使った[ (int) part ] = true;\r
+               //    }\r
+               //}\r
+\r
+\r
+               protected override void ドラムスクロール速度アップ()\r
                {\r
-                       if( CDTXMania.Pad.st検知したデバイス.Keyboard )\r
-                       {\r
-                               this.b演奏にキーボードを使った[ (int) part ] = true;\r
-                       }\r
-                       if( CDTXMania.Pad.st検知したデバイス.Joypad )\r
-                       {\r
-                               this.b演奏にジョイパッドを使った[ (int) part ] = true;\r
-                       }\r
-                       if( CDTXMania.Pad.st検知したデバイス.MIDIIN )\r
-                       {\r
-                               this.b演奏にMIDI入力を使った[ (int) part ] = true;\r
-                       }\r
-                       if( CDTXMania.Pad.st検知したデバイス.Mouse )\r
-                       {\r
-                               this.b演奏にマウスを使った[ (int) part ] = true;\r
-                       }\r
+                       // ギタレボモードでは何もしない\r
                }\r
-               private void t入力処理・ギター()\r
+               protected override void ドラムスクロール速度ダウン()\r
+               {\r
+                       // ギタレボモードでは何もしない\r
+               }\r
+\r
+               protected override void t入力処理・ドラム()\r
+               {\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
@@ -2167,7 +2146,7 @@ namespace DTXMania
                                }\r
                        }\r
                }\r
-               private void t入力処理・ベース()\r
+               protected override void t入力処理・ベース()\r
                {\r
                        if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.B ) )\r
                        {\r
@@ -2399,98 +2378,98 @@ namespace DTXMania
                        }\r
                        image.Dispose();\r
                }\r
-#if true       // DAMAGELEVELTUNING\r
-               // ----------------------------------\r
-               public float[,] fDamageGaugeDelta = {                   // #23625 2011.1.10 ickw_284: tuned damage/recover factors\r
-                       // drums,   guitar,  bass\r
-                       {  0.004f,  0.006f,  0.006f  },\r
-                       {  0.002f,  0.003f,  0.003f  },\r
-                       {  0.000f,  0.000f,  0.000f  },\r
-                       { -0.020f, -0.030f,     -0.030f  },\r
-                       { -0.050f, -0.050f, -0.050f  }\r
-               };\r
-               public float[] fDamageLevelFactor = {\r
-                       0.5f, 1.0f, 1.5f\r
-               };\r
-               // ----------------------------------\r
-#endif\r
-\r
-               private void t判定にあわせてゲージを増減する(E楽器パート part, E判定 e今回の判定)\r
-               {\r
-                       double fDamage;\r
-\r
-#if true       // DAMAGELEVELTUNING\r
-                       switch (e今回の判定)                                               // #23625 2011.1.10 ickw_284\r
-                       {\r
-                               case E判定.Perfect:\r
-                               case E判定.Great:\r
-                               case E判定.Good:\r
-                               case E判定.Poor:\r
-                                       fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part];\r
-                                       break;\r
-                               case E判定.Miss:\r
-                                       fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part];\r
-                                       switch (CDTXMania.ConfigIni.eダメージレベル)\r
-                                       {\r
-                                               case Eダメージレベル.少ない:\r
-                                               case Eダメージレベル.普通:\r
-                                               case Eダメージレベル.大きい:\r
-                                                       fDamage *= fDamageLevelFactor[(int)CDTXMania.ConfigIni.eダメージレベル];\r
-                                                       break;\r
-                                       }\r
-                                       break;\r
-\r
-                               default:\r
-                                       fDamage = 0.0;\r
-                                       break;\r
-                       }\r
-#else                                                                                                  // before applying #23625 modifications\r
-                       switch (e今回の判定)\r
-                       {\r
-                               case E判定.Perfect:\r
-                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015;\r
-                                       break;\r
-\r
-                               case E判定.Great:\r
-                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009;\r
-                                       break;\r
-\r
-                               case E判定.Good:\r
-                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003;\r
-                                       break;\r
-\r
-                               case E判定.Poor:\r
-                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0;\r
-                                       break;\r
-\r
-                               case E判定.Miss:\r
-                                       fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035;\r
-                                       switch( CDTXMania.ConfigIni.eダメージレベル )\r
-                                       {\r
-                                               case Eダメージレベル.少ない:\r
-                                                       fDamage *= 0.6;\r
-                                                       break;\r
-\r
-                                               case Eダメージレベル.普通:\r
-                                                       fDamage *= 1.0;\r
-                                                       break;\r
-\r
-                                               case Eダメージレベル.大きい:\r
-                                                       fDamage *= 1.6;\r
-                                                       break;\r
-                                       }\r
-                                       break;\r
-\r
-                               default:\r
-                                       fDamage = 0.0;\r
-                                       break;\r
-                       }\r
-#endif\r
-                       this.actGauge.db現在のゲージ値[(int)part] += fDamage;\r
-\r
-                       if( this.actGauge.db現在のゲージ値[ (int) part ] > 1.0 )\r
-                               this.actGauge.db現在のゲージ値[ (int) part ] = 1.0;\r
-               }\r
+//#if true     // DAMAGELEVELTUNING\r
+//        // ----------------------------------\r
+//        public float[,] fDamageGaugeDelta = {                        // #23625 2011.1.10 ickw_284: tuned damage/recover factors\r
+//            // drums,   guitar,  bass\r
+//            {  0.004f,  0.006f,  0.006f  },\r
+//            {  0.002f,  0.003f,  0.003f  },\r
+//            {  0.000f,  0.000f,  0.000f  },\r
+//            { -0.020f, -0.030f,      -0.030f  },\r
+//            { -0.050f, -0.050f, -0.050f  }\r
+//        };\r
+//        public float[] fDamageLevelFactor = {\r
+//            0.5f, 1.0f, 1.5f\r
+//        };\r
+//        // ----------------------------------\r
+//#endif\r
+\r
+//        private void t判定にあわせてゲージを増減する(E楽器パート part, E判定 e今回の判定)\r
+//        {\r
+//            double fDamage;\r
+\r
+//#if true     // DAMAGELEVELTUNING\r
+//            switch (e今回の判定)                                                // #23625 2011.1.10 ickw_284\r
+//            {\r
+//                case E判定.Perfect:\r
+//                case E判定.Great:\r
+//                case E判定.Good:\r
+//                case E判定.Poor:\r
+//                    fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part];\r
+//                    break;\r
+//                case E判定.Miss:\r
+//                    fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part];\r
+//                    switch (CDTXMania.ConfigIni.eダメージレベル)\r
+//                    {\r
+//                        case Eダメージレベル.少ない:\r
+//                        case Eダメージレベル.普通:\r
+//                        case Eダメージレベル.大きい:\r
+//                            fDamage *= fDamageLevelFactor[(int)CDTXMania.ConfigIni.eダメージレベル];\r
+//                            break;\r
+//                    }\r
+//                    break;\r
+\r
+//                default:\r
+//                    fDamage = 0.0;\r
+//                    break;\r
+//            }\r
+//#else                                                                                                        // before applying #23625 modifications\r
+//            switch (e今回の判定)\r
+//            {\r
+//                case E判定.Perfect:\r
+//                    fDamage = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015;\r
+//                    break;\r
+\r
+//                case E判定.Great:\r
+//                    fDamage = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009;\r
+//                    break;\r
+\r
+//                case E判定.Good:\r
+//                    fDamage = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003;\r
+//                    break;\r
+\r
+//                case E判定.Poor:\r
+//                    fDamage = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0;\r
+//                    break;\r
+\r
+//                case E判定.Miss:\r
+//                    fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035;\r
+//                    switch( CDTXMania.ConfigIni.eダメージレベル )\r
+//                    {\r
+//                        case Eダメージレベル.少ない:\r
+//                            fDamage *= 0.6;\r
+//                            break;\r
+\r
+//                        case Eダメージレベル.普通:\r
+//                            fDamage *= 1.0;\r
+//                            break;\r
+\r
+//                        case Eダメージレベル.大きい:\r
+//                            fDamage *= 1.6;\r
+//                            break;\r
+//                    }\r
+//                    break;\r
+\r
+//                default:\r
+//                    fDamage = 0.0;\r
+//                    break;\r
+//            }\r
+//#endif\r
+//            this.actGauge.db現在のゲージ値[(int)part] += fDamage;\r
+\r
+//            if( this.actGauge.db現在のゲージ値[ (int) part ] > 1.0 )\r
+//                this.actGauge.db現在のゲージ値[ (int) part ] = 1.0;\r
+//        }\r
                //-----------------\r
                #endregion\r
        }\r
index 341d1b9..43585b2 100644 (file)
@@ -8,25 +8,25 @@ using FDK;
 \r
 namespace DTXMania\r
 {\r
-       internal class CAct演奏Drumsゲージ : CActivity\r
+       internal class CAct演奏Drumsゲージ : CAct演奏ゲージ\r
        {\r
                // プロパティ\r
 \r
-               public double db現在のゲージ値\r
-               {\r
-                       get\r
-                       {\r
-                               return this.dbゲージ値;\r
-                       }\r
-                       set\r
-                       {\r
-                               this.dbゲージ値 = value;\r
-                               if( this.dbゲージ値 > 1.0 )\r
-                               {\r
-                                       this.dbゲージ値 = 1.0;\r
-                               }\r
-                       }\r
-               }\r
+//             public double db現在のゲージ値\r
+//             {\r
+//                     get\r
+//                     {\r
+//                             return this.dbゲージ値;\r
+//                     }\r
+//                     set\r
+//                     {\r
+//                             this.dbゲージ値 = value;\r
+//                             if( this.dbゲージ値 > 1.0 )\r
+//                             {\r
+//                                     this.dbゲージ値 = 1.0;\r
+//                             }\r
+//                     }\r
+//             }\r
 \r
                \r
                // コンストラクタ\r
@@ -211,12 +211,12 @@ namespace DTXMania
                        public CCounter ct進行;\r
                }\r
 \r
-               private CCounter ct本体移動;\r
-               private CCounter ct本体振動;\r
-               private double dbゲージ値;\r
+               //private CCounter ct本体移動;\r
+               //private CCounter ct本体振動;\r
+               //private double dbゲージ値;\r
                private const int STAR_MAX = 0x18;\r
                private ST白い星[] st白い星 = new ST白い星[ 0x18 ];\r
-               private CTexture txゲージ;\r
+               //private CTexture txゲージ;\r
                //-----------------\r
                #endregion\r
        }\r
index fe1d239..a8f97c5 100644 (file)
@@ -14,14 +14,6 @@ namespace DTXMania
 {\r
        internal class CStage演奏ドラム画面 : CStage演奏画面共通\r
        {\r
-               // プロパティ\r
-\r
-               public bool bAUTOでないチップが1つでもバーを通過した\r
-               {\r
-                       get;\r
-                       private set;\r
-               }\r
-       \r
                // コンストラクタ\r
 \r
                public CStage演奏ドラム画面()\r
@@ -73,10 +65,11 @@ namespace DTXMania
 \r
                public void t演奏結果を格納する( out CScoreIni.C演奏記録 Drums, out CScoreIni.C演奏記録 Guitar, out CScoreIni.C演奏記録 Bass, out CDTX.CChip[] r空打ちドラムチップ )\r
                {\r
+                       r空打ちドラムチップ = new CDTX.CChip[ 10 ];\r
+\r
                        Drums = new CScoreIni.C演奏記録();\r
                        Guitar = new CScoreIni.C演奏記録();\r
                        Bass = new CScoreIni.C演奏記録();\r
-                       r空打ちドラムチップ = new CDTX.CChip[ 10 ];\r
                        if( CDTXMania.DTX.bチップがある.Drums && !CDTXMania.ConfigIni.bギタレボモード )\r
                        {\r
                                Drums.nスコア = this.actScore.Get( E楽器パート.DRUMS );\r
@@ -257,7 +250,7 @@ namespace DTXMania
 \r
                public override void On活性化()\r
                {\r
-                       this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.継続;\r
+                       //this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.継続;\r
                        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
@@ -270,17 +263,17 @@ namespace DTXMania
                        {\r
                                this.n最後に再生したBGMの実WAV番号[ i ] = -1;\r
                        }\r
-                       this.r次にくるギターChip = null;\r
-                       this.r次にくるベースChip = null;\r
+                       //this.r次にくるギターChip = null;\r
+                       //this.r次にくるベースChip = null;\r
                        for( int j = 0; j < 10; j++ )\r
                        {\r
                                this.r現在の空うちドラムChip[ j ] = null;\r
                        }\r
                        this.r現在の空うちギターChip = null;\r
                        this.r現在の空うちベースChip = null;\r
-                       for( int k = 0; k < 3; k++ )\r
+                       for ( int k = 0; k < 3; k++ )\r
                        {\r
-                               for( int n = 0; n < 5; n++ )\r
+                               for ( int n = 0; n < 5; n++ )\r
                                {\r
                                        this.nヒット数・Auto含まない[ k ] = new STHITCOUNTOFRANK();\r
                                        this.nヒット数・Auto含む[ k ] = new STHITCOUNTOFRANK();\r
@@ -288,22 +281,22 @@ namespace DTXMania
                                this.queWailing[ k ] = new Queue<CDTX.CChip>();\r
                                this.r現在の歓声Chip[ k ] = null;\r
                        }\r
-                       for( int m = 0; m < 3; m++ )\r
-                       {\r
-                               this.b演奏にキーボードを使った[ m ] = false;\r
-                               this.b演奏にジョイパッドを使った[ m ] = false;\r
-                               this.b演奏にMIDI入力を使った[ m ] = false;\r
-                               this.b演奏にマウスを使った[ m ] = false;\r
-                       }\r
+                       //for( int m = 0; m < 3; m++ )\r
+                       //{\r
+                       //    this.b演奏にキーボードを使った[ m ] = false;\r
+                       //    this.b演奏にジョイパッドを使った[ m ] = false;\r
+                       //    this.b演奏にMIDI入力を使った[ m ] = false;\r
+                       //    this.b演奏にマウスを使った[ m ] = false;\r
+                       //}\r
                        this.bAUTOでないチップが1つでもバーを通過した = false;\r
                        base.On活性化();\r
                        this.tステータスパネルの選択();\r
                        this.tパネル文字列の設定();\r
 \r
-                       this.nInputAdjustTimeMs.Drums = CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums;           // #23580 2011.1.3 yyagi\r
-                       this.nInputAdjustTimeMs.Guitar = CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar;         //        2011.1.7 ikanick 修正\r
-                       this.nInputAdjustTimeMs.Bass = CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass;                     //\r
-                       this.bIsAutoPlay = CDTXMania.ConfigIni.bAutoPlay;                                                                       // #24239 2011.1.23 yyagi\r
+                       // this.nInputAdjustTimeMs.Drums = CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums;                // #23580 2011.1.3 yyagi\r
+                       // this.nInputAdjustTimeMs.Guitar = CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar;              //        2011.1.7 ikanick 修正\r
+                       // this.nInputAdjustTimeMs.Bass = CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass;                  //\r
+                       //this.bIsAutoPlay = CDTXMania.ConfigIni.bAutoPlay;                                                                     // #24239 2011.1.23 yyagi\r
 \r
             Cスコア cスコア = CDTXMania.stage選曲.r確定されたスコア;            // #24074 2011.01.23 add ikanick\r
             this.actGraph.dbグラフ値目標_渡 = cスコア.譜面情報.最大スキル[0];\r
@@ -375,7 +368,7 @@ namespace DTXMania
                                        this.actFI.tフェードイン開始();\r
                                        base.b初めての進行描画 = false;\r
                                }\r
-                               if( ( CDTXMania.ConfigIni.bSTAGEFAILED有効 && ( this.actGauge.db現在のゲージ値 <= -0.1 ) ) && ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) )\r
+                               if( ( CDTXMania.ConfigIni.bSTAGEFAILED有効 && ( this.actGauge.db現在のゲージ値.Drums <= -0.1 ) ) && ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) )\r
                                {\r
                                        this.actStageFailed.Start();\r
                                        CDTXMania.DTX.t全チップの再生停止();\r
@@ -435,167 +428,167 @@ namespace DTXMania
 \r
                #region [ private ]\r
                //-----------------\r
-               private class STHITCOUNTOFRANK\r
-               {\r
-                       // Fields\r
-                       public int Good;\r
-                       public int Great;\r
-                       public int Miss;\r
-                       public int Perfect;\r
-                       public int Poor;\r
-\r
-                       // Properties\r
-                       public int this[ int index ]\r
-                       {\r
-                               get\r
-                               {\r
-                                       switch( index )\r
-                                       {\r
-                                               case 0:\r
-                                                       return this.Perfect;\r
-\r
-                                               case 1:\r
-                                                       return this.Great;\r
-\r
-                                               case 2:\r
-                                                       return this.Good;\r
-\r
-                                               case 3:\r
-                                                       return this.Poor;\r
-\r
-                                               case 4:\r
-                                                       return this.Miss;\r
-                                       }\r
-                                       throw new IndexOutOfRangeException();\r
-                               }\r
-                               set\r
-                               {\r
-                                       switch( index )\r
-                                       {\r
-                                               case 0:\r
-                                                       this.Perfect = value;\r
-                                                       return;\r
-\r
-                                               case 1:\r
-                                                       this.Great = value;\r
-                                                       return;\r
-\r
-                                               case 2:\r
-                                                       this.Good = value;\r
-                                                       return;\r
-\r
-                                               case 3:\r
-                                                       this.Poor = value;\r
-                                                       return;\r
-\r
-                                               case 4:\r
-                                                       this.Miss = value;\r
-                                                       return;\r
-                                       }\r
-                                       throw new IndexOutOfRangeException();\r
-                               }\r
-                       }\r
-               }\r
-\r
-               [StructLayout( LayoutKind.Sequential )]\r
-               private struct STKARAUCHI\r
-               {\r
-                       public CDTX.CChip HH;\r
-                       public CDTX.CChip SD;\r
-                       public CDTX.CChip BD;\r
-                       public CDTX.CChip HT;\r
-                       public CDTX.CChip LT;\r
-                       public CDTX.CChip FT;\r
-                       public CDTX.CChip CY;\r
-                       public CDTX.CChip HHO;\r
-                       public CDTX.CChip RD;\r
-                       public CDTX.CChip LC;\r
-                       public CDTX.CChip this[ int index ]\r
-                       {\r
-                               get\r
-                               {\r
-                                       switch( index )\r
-                                       {\r
-                                               case 0:\r
-                                                       return this.HH;\r
-\r
-                                               case 1:\r
-                                                       return this.SD;\r
-\r
-                                               case 2:\r
-                                                       return this.BD;\r
-\r
-                                               case 3:\r
-                                                       return this.HT;\r
-\r
-                                               case 4:\r
-                                                       return this.LT;\r
-\r
-                                               case 5:\r
-                                                       return this.FT;\r
-\r
-                                               case 6:\r
-                                                       return this.CY;\r
-\r
-                                               case 7:\r
-                                                       return this.HHO;\r
-\r
-                                               case 8:\r
-                                                       return this.RD;\r
-\r
-                                               case 9:\r
-                                                       return this.LC;\r
-                                       }\r
-                                       throw new IndexOutOfRangeException();\r
-                               }\r
-                               set\r
-                               {\r
-                                       switch( index )\r
-                                       {\r
-                                               case 0:\r
-                                                       this.HH = value;\r
-                                                       return;\r
-\r
-                                               case 1:\r
-                                                       this.SD = value;\r
-                                                       return;\r
-\r
-                                               case 2:\r
-                                                       this.BD = value;\r
-                                                       return;\r
-\r
-                                               case 3:\r
-                                                       this.HT = value;\r
-                                                       return;\r
-\r
-                                               case 4:\r
-                                                       this.LT = value;\r
-                                                       return;\r
-\r
-                                               case 5:\r
-                                                       this.FT = value;\r
-                                                       return;\r
-\r
-                                               case 6:\r
-                                                       this.CY = value;\r
-                                                       return;\r
-\r
-                                               case 7:\r
-                                                       this.HHO = value;\r
-                                                       return;\r
-\r
-                                               case 8:\r
-                                                       this.RD = value;\r
-                                                       return;\r
-\r
-                                               case 9:\r
-                                                       this.LC = value;\r
-                                                       return;\r
-                                       }\r
-                                       throw new IndexOutOfRangeException();\r
-                               }\r
-                       }\r
-               }\r
+               //private class STHITCOUNTOFRANK\r
+               //{\r
+               //    // Fields\r
+               //    public int Good;\r
+               //    public int Great;\r
+               //    public int Miss;\r
+               //    public int Perfect;\r
+               //    public int Poor;\r
+\r
+               //    // Properties\r
+               //    public int this[ int index ]\r
+               //    {\r
+               //        get\r
+               //        {\r
+               //            switch( index )\r
+               //            {\r
+               //                case 0:\r
+               //                    return this.Perfect;\r
+\r
+               //                case 1:\r
+               //                    return this.Great;\r
+\r
+               //                case 2:\r
+               //                    return this.Good;\r
+\r
+               //                case 3:\r
+               //                    return this.Poor;\r
+\r
+               //                case 4:\r
+               //                    return this.Miss;\r
+               //            }\r
+               //            throw new IndexOutOfRangeException();\r
+               //        }\r
+               //        set\r
+               //        {\r
+               //            switch( index )\r
+               //            {\r
+               //                case 0:\r
+               //                    this.Perfect = value;\r
+               //                    return;\r
+\r
+               //                case 1:\r
+               //                    this.Great = value;\r
+               //                    return;\r
+\r
+               //                case 2:\r
+               //                    this.Good = value;\r
+               //                    return;\r
+\r
+               //                case 3:\r
+               //                    this.Poor = value;\r
+               //                    return;\r
+\r
+               //                case 4:\r
+               //                    this.Miss = value;\r
+               //                    return;\r
+               //            }\r
+               //            throw new IndexOutOfRangeException();\r
+               //        }\r
+               //    }\r
+               //}\r
+\r
+               //[StructLayout( LayoutKind.Sequential )]\r
+               //private struct STKARAUCHI\r
+               //{\r
+               //    public CDTX.CChip HH;\r
+               //    public CDTX.CChip SD;\r
+               //    public CDTX.CChip BD;\r
+               //    public CDTX.CChip HT;\r
+               //    public CDTX.CChip LT;\r
+               //    public CDTX.CChip FT;\r
+               //    public CDTX.CChip CY;\r
+               //    public CDTX.CChip HHO;\r
+               //    public CDTX.CChip RD;\r
+               //    public CDTX.CChip LC;\r
+               //    public CDTX.CChip this[ int index ]\r
+               //    {\r
+               //        get\r
+               //        {\r
+               //            switch( index )\r
+               //            {\r
+               //                case 0:\r
+               //                    return this.HH;\r
+\r
+               //                case 1:\r
+               //                    return this.SD;\r
+\r
+               //                case 2:\r
+               //                    return this.BD;\r
+\r
+               //                case 3:\r
+               //                    return this.HT;\r
+\r
+               //                case 4:\r
+               //                    return this.LT;\r
+\r
+               //                case 5:\r
+               //                    return this.FT;\r
+\r
+               //                case 6:\r
+               //                    return this.CY;\r
+\r
+               //                case 7:\r
+               //                    return this.HHO;\r
+\r
+               //                case 8:\r
+               //                    return this.RD;\r
+\r
+               //                case 9:\r
+               //                    return this.LC;\r
+               //            }\r
+               //            throw new IndexOutOfRangeException();\r
+               //        }\r
+               //        set\r
+               //        {\r
+               //            switch( index )\r
+               //            {\r
+               //                case 0:\r
+               //                    this.HH = value;\r
+               //                    return;\r
+\r
+               //                case 1:\r
+               //                    this.SD = value;\r
+               //                    return;\r
+\r
+               //                case 2:\r
+               //                    this.BD = value;\r
+               //                    return;\r
+\r
+               //                case 3:\r
+               //                    this.HT = value;\r
+               //                    return;\r
+\r
+               //                case 4:\r
+               //                    this.LT = value;\r
+               //                    return;\r
+\r
+               //                case 5:\r
+               //                    this.FT = value;\r
+               //                    return;\r
+\r
+               //                case 6:\r
+               //                    this.CY = value;\r
+               //                    return;\r
+\r
+               //                case 7:\r
+               //                    this.HHO = value;\r
+               //                    return;\r
+\r
+               //                case 8:\r
+               //                    this.RD = value;\r
+               //                    return;\r
+\r
+               //                case 9:\r
+               //                    this.LC = value;\r
+               //                    return;\r
+               //            }\r
+               //            throw new IndexOutOfRangeException();\r
+               //        }\r
+               //    }\r
+               //}\r
 \r
                private CAct演奏AVI actAVI;\r
                private CAct演奏BGA actBGA;\r
@@ -603,10 +596,10 @@ namespace DTXMania
                private CAct演奏DrumsチップファイアGB actChipFireGB;\r
                private CAct演奏DrumsコンボDGB actCOMBO;\r
                private CAct演奏DrumsDanger actDANGER;\r
-               private CActFIFOBlack actFI;\r
-               private CActFIFOBlack actFO;\r
-        private CActFIFOWhite actFOClear;\r
-        private CAct演奏Drumsゲージ actGauge;\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
@@ -620,16 +613,16 @@ namespace DTXMania
                private CAct演奏Drumsステータスパネル actStatusPanels;\r
                private CAct演奏DrumsWailingBonus actWailingBonus;\r
                private CAct演奏スクロール速度 act譜面スクロール速度;\r
-               private bool bPAUSE;\r
+               //private bool bPAUSE;\r
                private bool bフィルイン中;\r
-               private STDGBVALUE<bool> b演奏にMIDI入力を使った;\r
-               private STDGBVALUE<bool> b演奏にキーボードを使った;\r
-               private STDGBVALUE<bool> b演奏にジョイパッドを使った;\r
-               private STDGBVALUE<bool> b演奏にマウスを使った;\r
+//             private STDGBVALUE<bool> b演奏にMIDI入力を使った;\r
+//             private STDGBVALUE<bool> b演奏にキーボードを使った;\r
+//             private STDGBVALUE<bool> b演奏にジョイパッドを使った;\r
+//             private STDGBVALUE<bool> b演奏にマウスを使った;\r
                private CCounter ctWailingチップ模様アニメ;\r
                private STDGBVALUE<CCounter> ctチップ模様アニメ;\r
                private readonly Eパッド[] eチャンネルtoパッド;\r
-               private E演奏画面の戻り値 eフェードアウト完了時の戻り値;\r
+               //private E演奏画面の戻り値 eフェードアウト完了時の戻り値;\r
                private readonly int[,] nBGAスコープチャンネルマップ;\r
                private readonly int[] nチャンネル0Atoパッド08 = new int[] { 1, 2, 3, 4, 5, 7, 6, 1, 8, 0 };\r
                private readonly int[] nチャンネル0Atoレーン07 = new int[] { 1, 2, 3, 4, 5, 7, 6, 1, 7, 0 };\r
@@ -639,7 +632,7 @@ namespace DTXMania
                private readonly int[] nパッド0Atoレーン07 = new int[] { 1, 2, 3, 4, 5, 6, 7, 1, 7, 0 };\r
                private STDGBVALUE<STHITCOUNTOFRANK> nヒット数・Auto含まない;\r
                private STDGBVALUE<STHITCOUNTOFRANK> nヒット数・Auto含む;\r
-               private int n現在のトップChip = -1;\r
+               // 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
@@ -650,16 +643,16 @@ namespace DTXMania
                private CDTX.CChip r現在の空うちギターChip;\r
                private STKARAUCHI r現在の空うちドラムChip;\r
                private CDTX.CChip r現在の空うちベースChip;\r
-               private CDTX.CChip r次にくるギターChip;\r
-               private CDTX.CChip r次にくるベースChip;\r
+               //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ヒットバーGB;\r
                private CTexture txレーンフレームGB;\r
                private CTexture tx背景;\r
-               private STDGBVALUE<int> nInputAdjustTimeMs;                     // #23580 2011.1.3 yyagi\r
-               private CConfigIni.STAUTOPLAY bIsAutoPlay;                      // #24239 2011.1.23 yyagi\r
+               // private STDGBVALUE<int> nInputAdjustTimeMs;                  // #23580 2011.1.3 yyagi\r
+               //private CConfigIni.STAUTOPLAY bIsAutoPlay;                    // #24239 2011.1.23 yyagi\r
 \r
                private bool bフィルイン区間の最後のChipである( CDTX.CChip pChip )\r
                {\r
@@ -682,32 +675,32 @@ namespace DTXMania
                        }\r
                        return true;\r
                }\r
-               private E判定 e指定時刻からChipのJUDGEを返す( long nTime, CDTX.CChip pChip, int nInputAdjustTime )\r
-               {\r
-                       if( pChip != null )\r
-                       {\r
-                               pChip.nLag = (int) ( nTime + nInputAdjustTime - pChip.n発声時刻ms );                // #23580 2011.1.3 yyagi: add "nInputAdjustTime" to add input timing adjust feature\r
-                               int nDeltaTime = Math.Abs( pChip.nLag);\r
-//Debug.WriteLine("nAbsTime=" + (nTime - pChip.n発声時刻ms) + ", nDeltaTime=" + (nTime + nInputAdjustTime - pChip.n発声時刻ms));\r
-                               if( nDeltaTime <= CDTXMania.nPerfect範囲ms )\r
-                               {\r
-                                       return E判定.Perfect;\r
-                               }\r
-                               if( nDeltaTime <= CDTXMania.nGreat範囲ms )\r
-                               {\r
-                                       return E判定.Great;\r
-                               }\r
-                               if( nDeltaTime <= CDTXMania.nGood範囲ms )\r
-                               {\r
-                                       return E判定.Good;\r
-                               }\r
-                               if( nDeltaTime <= CDTXMania.nPoor範囲ms )\r
-                               {\r
-                                       return E判定.Poor;\r
-                               }\r
-                       }\r
-                       return E判定.Miss;\r
-               }\r
+//        private E判定 e指定時刻からChipのJUDGEを返す( long nTime, CDTX.CChip pChip, int nInputAdjustTime )\r
+//        {\r
+//            if( pChip != null )\r
+//            {\r
+//                pChip.nLag = (int) ( nTime + nInputAdjustTime - pChip.n発声時刻ms );             // #23580 2011.1.3 yyagi: add "nInputAdjustTime" to add input timing adjust feature\r
+//                int nDeltaTime = Math.Abs( pChip.nLag);\r
+////Debug.WriteLine("nAbsTime=" + (nTime - pChip.n発声時刻ms) + ", nDeltaTime=" + (nTime + nInputAdjustTime - pChip.n発声時刻ms));\r
+//                if( nDeltaTime <= CDTXMania.nPerfect範囲ms )\r
+//                {\r
+//                    return E判定.Perfect;\r
+//                }\r
+//                if( nDeltaTime <= CDTXMania.nGreat範囲ms )\r
+//                {\r
+//                    return E判定.Great;\r
+//                }\r
+//                if( nDeltaTime <= CDTXMania.nGood範囲ms )\r
+//                {\r
+//                    return E判定.Good;\r
+//                }\r
+//                if( nDeltaTime <= CDTXMania.nPoor範囲ms )\r
+//                {\r
+//                    return E判定.Poor;\r
+//                }\r
+//            }\r
+//            return E判定.Miss;\r
+//        }\r
                private CDTX.CChip r空うちChip( E楽器パート part, Eパッド pad )\r
                {\r
                        switch( part )\r
@@ -829,208 +822,208 @@ namespace DTXMania
                        }\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
+               //private CDTX.CChip r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( long nTime, int nChannelFlag, int nInputAdjustTime )\r
+               //{\r
+               //    nTime += nInputAdjustTime;                                                // #24239 2011.1.23 yyagi InputAdjust\r
        \r
-                       int num5;\r
-                       if( this.n現在のトップChip == -1 )\r
-                       {\r
-                               return null;\r
-                       }\r
-                       int count = CDTXMania.DTX.listChip.Count;\r
-                       int num4 = num5 = this.n現在のトップChip;\r
-                       if( this.n現在のトップChip >= count )\r
-                       {\r
-                               num4 = num5 = count - 1;\r
-                       }\r
-                       int num2 = num4;\r
-                       while( num2 < count )\r
-                       {\r
-                               CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ];\r
-                               if( ( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) ) && ( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) )\r
-                               {\r
-                                       if( chip.n発声時刻ms > nTime )\r
-                                       {\r
-                                               break;\r
-                                       }\r
-                                       num5 = num2;\r
-                               }\r
-                               else if( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 0x28 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) )\r
-                               {\r
-                                       if( chip.n発声時刻ms > nTime )\r
-                                       {\r
-                                               break;\r
-                                       }\r
-                                       num5 = num2;\r
-                               }\r
-                               else if( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 0xa0 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) )\r
-                               {\r
-                                       if( chip.n発声時刻ms > nTime )\r
-                                       {\r
-                                               break;\r
-                                       }\r
-                                       num5 = num2;\r
-                               }\r
-                               num2++;\r
-                       }\r
-                       int num3 = num5;\r
-                       while( num3 >= 0 )\r
-                       {\r
-                               CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ];\r
-                               if( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) )\r
-                               {\r
-                                       if( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) )\r
-                                       {\r
-                                               break;\r
-                                       }\r
-                               }\r
-                               else if( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) )\r
-                               {\r
-                                       if( ( chip2.nチャンネル番号 >= 0x20 ) && ( chip2.nチャンネル番号 <= 0x28 ) )\r
-                                       {\r
-                                               break;\r
-                                       }\r
-                               }\r
-                               else if( ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 0xa0 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) && ( ( chip2.nチャンネル番号 >= 0xa0 ) && ( chip2.nチャンネル番号 <= 0xa8 ) ) )\r
-                               {\r
-                                       break;\r
-                               }\r
-                               num3--;\r
-                       }\r
-                       if( ( num2 == count ) && ( num3 < 0 ) )\r
-                       {\r
-                               return null;\r
-                       }\r
-                       if( num2 == count )\r
-                       {\r
-                               return CDTXMania.DTX.listChip[ num3 ];\r
-                       }\r
-                       if( num3 < 0 )\r
-                       {\r
-                               return CDTXMania.DTX.listChip[ num2 ];\r
-                       }\r
-                       CDTX.CChip chip3 = CDTXMania.DTX.listChip[ num2 ];\r
-                       CDTX.CChip chip4 = CDTXMania.DTX.listChip[ num3 ];\r
-                       int num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
-                       int num7 = Math.Abs( (int) ( nTime - chip4.n発声時刻ms ) );\r
-                       if( num6 >= num7 )\r
-                       {\r
-                               return chip4;\r
-                       }\r
-                       return chip3;\r
-               }\r
+               //    int num5;\r
+               //    if( this.n現在のトップChip == -1 )\r
+               //    {\r
+               //        return null;\r
+               //    }\r
+               //    int count = CDTXMania.DTX.listChip.Count;\r
+               //    int num4 = num5 = this.n現在のトップChip;\r
+               //    if( this.n現在のトップChip >= count )\r
+               //    {\r
+               //        num4 = num5 = count - 1;\r
+               //    }\r
+               //    int num2 = num4;\r
+               //    while( num2 < count )\r
+               //    {\r
+               //        CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ];\r
+               //        if( ( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) ) && ( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) )\r
+               //        {\r
+               //            if( chip.n発声時刻ms > nTime )\r
+               //            {\r
+               //                break;\r
+               //            }\r
+               //            num5 = num2;\r
+               //        }\r
+               //        else if( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 0x28 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) )\r
+               //        {\r
+               //            if( chip.n発声時刻ms > nTime )\r
+               //            {\r
+               //                break;\r
+               //            }\r
+               //            num5 = num2;\r
+               //        }\r
+               //        else if( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 0xa0 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) )\r
+               //        {\r
+               //            if( chip.n発声時刻ms > nTime )\r
+               //            {\r
+               //                break;\r
+               //            }\r
+               //            num5 = num2;\r
+               //        }\r
+               //        num2++;\r
+               //    }\r
+               //    int num3 = num5;\r
+               //    while( num3 >= 0 )\r
+               //    {\r
+               //        CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ];\r
+               //        if( ( nChannelFlag >= 0x11 ) && ( nChannelFlag <= 0x1a ) )\r
+               //        {\r
+               //            if( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) )\r
+               //            {\r
+               //                break;\r
+               //            }\r
+               //        }\r
+               //        else if( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) )\r
+               //        {\r
+               //            if( ( chip2.nチャンネル番号 >= 0x20 ) && ( chip2.nチャンネル番号 <= 0x28 ) )\r
+               //            {\r
+               //                break;\r
+               //            }\r
+               //        }\r
+               //        else if( ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 0xa0 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) && ( ( chip2.nチャンネル番号 >= 0xa0 ) && ( chip2.nチャンネル番号 <= 0xa8 ) ) )\r
+               //        {\r
+               //            break;\r
+               //        }\r
+               //        num3--;\r
+               //    }\r
+               //    if( ( num2 == count ) && ( num3 < 0 ) )\r
+               //    {\r
+               //        return null;\r
+               //    }\r
+               //    if( num2 == count )\r
+               //    {\r
+               //        return CDTXMania.DTX.listChip[ num3 ];\r
+               //    }\r
+               //    if( num3 < 0 )\r
+               //    {\r
+               //        return CDTXMania.DTX.listChip[ num2 ];\r
+               //    }\r
+               //    CDTX.CChip chip3 = CDTXMania.DTX.listChip[ num2 ];\r
+               //    CDTX.CChip chip4 = CDTXMania.DTX.listChip[ num3 ];\r
+               //    int num6 = Math.Abs( (int) ( nTime - chip3.n発声時刻ms ) );\r
+               //    int num7 = Math.Abs( (int) ( nTime - chip4.n発声時刻ms ) );\r
+               //    if( num6 >= num7 )\r
+               //    {\r
+               //        return chip4;\r
+               //    }\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, int n検索範囲時間ms )\r
-               {\r
-                       nTime += nInputAdjustTime;\r
-\r
-                       int num5;\r
-                       int num6;\r
-                       if( this.n現在のトップChip == -1 )\r
-                       {\r
-                               return null;\r
-                       }\r
-                       int count = CDTXMania.DTX.listChip.Count;\r
-                       int num4 = num5 = this.n現在のトップChip;\r
-                       if( this.n現在のトップChip >= count )\r
-                       {\r
-                               num4 = num5 = count - 1;\r
-                       }\r
-                       int num2 = num4;\r
-                       while( num2 < count )\r
-                       {\r
-                               CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ];\r
-                               if( ( !chip.bHit && ( nChannelFlag >= 0x11 ) ) && ( nChannelFlag <= 0x1a ) )\r
-                               {\r
-                                       if( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) )\r
-                                       {\r
-                                               if( chip.n発声時刻ms > nTime )\r
-                                               {\r
-                                                       break;\r
-                                               }\r
-                                               num5 = num2;\r
-                                       }\r
-                               }\r
-                               else if( !chip.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) )\r
-                               {\r
-                                       if( chip.n発声時刻ms > nTime )\r
-                                       {\r
-                                               break;\r
-                                       }\r
-                                       num5 = num2;\r
-                               }\r
-                               else if( !chip.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) )\r
-                               {\r
-                                       if( chip.n発声時刻ms > nTime )\r
-                                       {\r
-                                               break;\r
-                                       }\r
-                                       num5 = num2;\r
-                               }\r
-                               num2++;\r
-                       }\r
-                       int num3 = num5;\r
-                       while( num3 >= 0 )\r
-                       {\r
-                               CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ];\r
-                               if( ( ( ( !chip2.bHit && ( nChannelFlag >= 0x11 ) ) && ( ( nChannelFlag <= 0x1a ) && ( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) )\r
-                               {\r
-                                       break;\r
-                               }\r
-                               num3--;\r
-                       }\r
-                       if( ( num2 == count ) && ( num3 < 0 ) )\r
-                       {\r
-                               return null;\r
-                       }\r
-                       CDTX.CChip chip3 = null;\r
-                       if( num2 == count )\r
-                       {\r
-                               chip3 = CDTXMania.DTX.listChip[ num3 ];\r
-                               num6 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) );\r
-                       }\r
-                       else if( num3 < 0 )\r
-                       {\r
-                               chip3 = CDTXMania.DTX.listChip[ num2 ];\r
-                               num6 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) );\r
-                       }\r
-                       else\r
-                       {\r
-                               int num7 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) );\r
-                               int num8 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) );\r
-                               if( num7 < num8 )\r
-                               {\r
-                                       chip3 = CDTXMania.DTX.listChip[ num2 ];\r
-                                       num6 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) );\r
-                               }\r
-                               else\r
-                               {\r
-                                       chip3 = CDTXMania.DTX.listChip[ num3 ];\r
-                                       num6 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) );\r
-                               }\r
-                       }\r
-                       if( ( n検索範囲時間ms > 0 ) && ( num6 > n検索範囲時間ms ) )\r
-                       {\r
-                               return null;\r
-                       }\r
-                       return chip3;\r
-               }\r
-               private CDTX.CChip r次にくるギターChipを更新して返す()\r
-               {\r
-                       int nInputAdjustTime = this.bIsAutoPlay.Guitar ? 0 : this.nInputAdjustTimeMs.Guitar;\r
-                       this.r次にくるギターChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0x2f, nInputAdjustTime, 500 );\r
-                       return this.r次にくるギターChip;\r
-               }\r
-               private CDTX.CChip r次にくるベースChipを更新して返す()\r
-               {\r
-                       int nInputAdjustTime = this.bIsAutoPlay.Bass? 0 : this.nInputAdjustTimeMs.Bass;\r
-                       this.r次にくるベースChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0xaf, nInputAdjustTime, 500 );\r
-                       return this.r次にくるベースChip;\r
-               }\r
+               //private CDTX.CChip r指定時刻に一番近い未ヒットChip( long nTime, int nChannelFlag, int nInputAdjustTime, int n検索範囲時間ms )\r
+               //{\r
+               //    nTime += nInputAdjustTime;\r
+\r
+               //    int num5;\r
+               //    int num6;\r
+               //    if( this.n現在のトップChip == -1 )\r
+               //    {\r
+               //        return null;\r
+               //    }\r
+               //    int count = CDTXMania.DTX.listChip.Count;\r
+               //    int num4 = num5 = this.n現在のトップChip;\r
+               //    if( this.n現在のトップChip >= count )\r
+               //    {\r
+               //        num4 = num5 = count - 1;\r
+               //    }\r
+               //    int num2 = num4;\r
+               //    while( num2 < count )\r
+               //    {\r
+               //        CDTX.CChip chip = CDTXMania.DTX.listChip[ num2 ];\r
+               //        if( ( !chip.bHit && ( nChannelFlag >= 0x11 ) ) && ( nChannelFlag <= 0x1a ) )\r
+               //        {\r
+               //            if( ( chip.nチャンネル番号 == nChannelFlag ) || ( chip.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) )\r
+               //            {\r
+               //                if( chip.n発声時刻ms > nTime )\r
+               //                {\r
+               //                    break;\r
+               //                }\r
+               //                num5 = num2;\r
+               //            }\r
+               //        }\r
+               //        else if( !chip.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) )\r
+               //        {\r
+               //            if( chip.n発声時刻ms > nTime )\r
+               //            {\r
+               //                break;\r
+               //            }\r
+               //            num5 = num2;\r
+               //        }\r
+               //        else if( !chip.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip.nチャンネル番号 == nChannelFlag ) ) ) )\r
+               //        {\r
+               //            if( chip.n発声時刻ms > nTime )\r
+               //            {\r
+               //                break;\r
+               //            }\r
+               //            num5 = num2;\r
+               //        }\r
+               //        num2++;\r
+               //    }\r
+               //    int num3 = num5;\r
+               //    while( num3 >= 0 )\r
+               //    {\r
+               //        CDTX.CChip chip2 = CDTXMania.DTX.listChip[ num3 ];\r
+               //        if( ( ( ( !chip2.bHit && ( nChannelFlag >= 0x11 ) ) && ( ( nChannelFlag <= 0x1a ) && ( ( chip2.nチャンネル番号 == nChannelFlag ) || ( chip2.nチャンネル番号 == ( nChannelFlag + 0x20 ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0x2f ) && ( chip2.e楽器パート == E楽器パート.GUITAR ) ) || ( ( ( nChannelFlag >= 0x20 ) && ( nChannelFlag <= 40 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) ) || ( !chip2.bHit && ( ( ( nChannelFlag == 0xaf ) && ( chip2.e楽器パート == E楽器パート.BASS ) ) || ( ( ( nChannelFlag >= 160 ) && ( nChannelFlag <= 0xa8 ) ) && ( chip2.nチャンネル番号 == nChannelFlag ) ) ) ) )\r
+               //        {\r
+               //            break;\r
+               //        }\r
+               //        num3--;\r
+               //    }\r
+               //    if( ( num2 == count ) && ( num3 < 0 ) )\r
+               //    {\r
+               //        return null;\r
+               //    }\r
+               //    CDTX.CChip chip3 = null;\r
+               //    if( num2 == count )\r
+               //    {\r
+               //        chip3 = CDTXMania.DTX.listChip[ num3 ];\r
+               //        num6 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) );\r
+               //    }\r
+               //    else if( num3 < 0 )\r
+               //    {\r
+               //        chip3 = CDTXMania.DTX.listChip[ num2 ];\r
+               //        num6 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) );\r
+               //    }\r
+               //    else\r
+               //    {\r
+               //        int num7 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) );\r
+               //        int num8 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) );\r
+               //        if( num7 < num8 )\r
+               //        {\r
+               //            chip3 = CDTXMania.DTX.listChip[ num2 ];\r
+               //            num6 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num2 ].n発声時刻ms ) );\r
+               //        }\r
+               //        else\r
+               //        {\r
+               //            chip3 = CDTXMania.DTX.listChip[ num3 ];\r
+               //            num6 = Math.Abs( (int) ( nTime - CDTXMania.DTX.listChip[ num3 ].n発声時刻ms ) );\r
+               //        }\r
+               //    }\r
+               //    if( ( n検索範囲時間ms > 0 ) && ( num6 > n検索範囲時間ms ) )\r
+               //    {\r
+               //        return null;\r
+               //    }\r
+               //    return chip3;\r
+               //}\r
+               //private CDTX.CChip r次にくるギターChipを更新して返す()\r
+               //{\r
+               //    int nInputAdjustTime = this.bIsAutoPlay.Guitar ? 0 : this.nInputAdjustTimeMs.Guitar;\r
+               //    this.r次にくるギターChip = this.r指定時刻に一番近い未ヒットChip( CDTXMania.Timer.n現在時刻, 0x2f, nInputAdjustTime, 500 );\r
+               //    return this.r次にくるギターChip;\r
+               //}\r
+               //private CDTX.CChip r次にくるベースChipを更新して返す()\r
+               //{\r
+               //    int nInputAdjustTime = this.bIsAutoPlay.Bass? 0 : this.nInputAdjustTimeMs.Bass;\r
+               //    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
@@ -1191,7 +1184,7 @@ namespace DTXMania
                        }\r
                        if( !bPChipIsAutoPlay && ( pChip.e楽器パート != E楽器パート.UNKNOWN ) )\r
                        {\r
-                               this.t判定にあわせてゲージを増減する( pChip.e楽器パート, eJudgeResult );\r
+                               this.t判定にあわせてゲージを増減する( E楽器パート.DRUMS, pChip.e楽器パート, eJudgeResult );\r
                        }\r
                        switch( pChip.e楽器パート )\r
                        {\r
@@ -1340,7 +1333,7 @@ namespace DTXMania
                private void tチップのヒット処理・BadならびにTight時のMiss( E楽器パート part, int nLane )\r
                {\r
                        this.bAUTOでないチップが1つでもバーを通過した = true;\r
-                       this.t判定にあわせてゲージを増減する( part, E判定.Miss );\r
+                       this.t判定にあわせてゲージを増減する( E楽器パート.DRUMS, part, E判定.Miss );\r
                        switch( part )\r
                        {\r
                                case E楽器パート.DRUMS:\r
@@ -1445,98 +1438,78 @@ namespace DTXMania
                {\r
                        this.actPanel.SetPanelString( string.IsNullOrEmpty( CDTXMania.DTX.PANEL ) ? CDTXMania.DTX.TITLE : CDTXMania.DTX.PANEL );\r
                }\r
-               private void tキー入力()\r
+               //private void tキー入力()\r
+               //{\r
+               //    IInputDevice keyboard = CDTXMania.Input管理.Keyboard;\r
+               //    if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F1 ) &&\r
+               //        ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift) ) )\r
+               //    { // shift+f1 (pause)\r
+               //        this.bPAUSE = !this.bPAUSE;\r
+               //        if( this.bPAUSE )\r
+               //        {\r
+               //            CDTXMania.Timer.t一時停止();\r
+               //            CDTXMania.DTX.t全チップの再生一時停止();\r
+               //        }\r
+               //        else\r
+               //        {\r
+               //            CDTXMania.Timer.t再開();\r
+               //            CDTXMania.DTX.t全チップの再生再開();\r
+               //        }\r
+               //    }\r
+               //    if( ( !this.bPAUSE && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) )\r
+               //    {\r
+               //        this.t入力処理・ドラム();\r
+               //        this.t入力処理・ギター();\r
+               //        this.t入力処理・ベース();\r
+               //        if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.UpArrow ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) )\r
+               //        {     // shift + UpArrow (BGMAdjust)\r
+               //            CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightControl) ) ? 1 : 10 );\r
+               //            CDTXMania.DTX.tWave再生位置自動補正();\r
+               //        }\r
+               //        else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.DownArrow ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) )\r
+               //        {     // shift + DownArrow (BGMAdjust)\r
+               //            CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightControl ) ) ? -1 : -10 );\r
+               //            CDTXMania.DTX.tWave再生位置自動補正();\r
+               //        }\r
+               //        else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.UpArrow ) )\r
+               //        {     // UpArrow(scrollspeed up)\r
+               //            CDTXMania.ConfigIni.n譜面スクロール速度.Drums = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1, 1999 );\r
+               //        }\r
+               //        else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.DownArrow ) )\r
+               //        {     // DownArrow (scrollspeed down)\r
+               //            CDTXMania.ConfigIni.n譜面スクロール速度.Drums = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Drums - 1, 0 );\r
+               //        }\r
+               //        else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Delete ) )\r
+               //        {     // del (debug info)\r
+               //            CDTXMania.ConfigIni.b演奏情報を表示する = !CDTXMania.ConfigIni.b演奏情報を表示する;\r
+               //        }\r
+               //        else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.LeftArrow ) )          // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen.\r
+               //        {\r
+               //            ChangeInputAdjustTimeInPlaying( keyboard, -1 );\r
+               //        }\r
+               //        else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.RightArrow ) )                // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen.\r
+               //        {\r
+               //            ChangeInputAdjustTimeInPlaying( keyboard, +1 );\r
+               //        }\r
+               //        else if ( ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) && ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Escape ) || CDTXMania.Pad.b押されたGB( Eパッド.FT ) ) )\r
+               //        {     // escape (exit)\r
+               //            this.actFO.tフェードアウト開始();\r
+               //            base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;\r
+               //            this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.演奏中断;\r
+               //        }\r
+               //    }\r
+               //}\r
+\r
+               protected override void ドラムスクロール速度アップ()\r
                {\r
-                       IInputDevice keyboard = CDTXMania.Input管理.Keyboard;\r
-                       if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F1 ) &&\r
-                               ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift) ) )\r
-                       {       // shift+f1 (pause)\r
-                               this.bPAUSE = !this.bPAUSE;\r
-                               if( this.bPAUSE )\r
-                               {\r
-                                       CDTXMania.Timer.t一時停止();\r
-                                       CDTXMania.DTX.t全チップの再生一時停止();\r
-                               }\r
-                               else\r
-                               {\r
-                                       CDTXMania.Timer.t再開();\r
-                                       CDTXMania.DTX.t全チップの再生再開();\r
-                               }\r
-                       }\r
-                       if( ( !this.bPAUSE && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) )\r
-                       {\r
-                               this.t入力処理・ドラム();\r
-                               this.t入力処理・ギター();\r
-                               this.t入力処理・ベース();\r
-                               if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.UpArrow ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) )\r
-                               {       // shift + UpArrow (BGMAdjust)\r
-                                       CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightControl) ) ? 1 : 10 );\r
-                                       CDTXMania.DTX.tWave再生位置自動補正();\r
-                               }\r
-                               else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.DownArrow ) && ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) )\r
-                               {       // shift + DownArrow (BGMAdjust)\r
-                                       CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightControl ) ) ? -1 : -10 );\r
-                                       CDTXMania.DTX.tWave再生位置自動補正();\r
-                               }\r
-                               else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.UpArrow ) )\r
-                               {       // UpArrow(scrollspeed up)\r
-                                       CDTXMania.ConfigIni.n譜面スクロール速度.Drums = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1, 1999 );\r
-                               }\r
-                               else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.DownArrow ) )\r
-                               {       // DownArrow (scrollspeed down)\r
-                                       CDTXMania.ConfigIni.n譜面スクロール速度.Drums = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Drums - 1, 0 );\r
-                               }\r
-                               else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Delete ) )\r
-                               {       // del (debug info)\r
-                                       CDTXMania.ConfigIni.b演奏情報を表示する = !CDTXMania.ConfigIni.b演奏情報を表示する;\r
-                               }\r
-                               else if ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.LeftArrow ) )            // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen.\r
-                               {\r
-                                       ChangeInputAdjustTimeInPlaying( keyboard, -1 );\r
-                               }\r
-                               else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.RightArrow ) )          // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen.\r
-                               {\r
-                                       ChangeInputAdjustTimeInPlaying( keyboard, +1 );\r
-                               }\r
-                               else if ( ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) && ( keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Escape ) || CDTXMania.Pad.b押されたGB( Eパッド.FT ) ) )\r
-                               {       // escape (exit)\r
-                                       this.actFO.tフェードアウト開始();\r
-                                       base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;\r
-                                       this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.演奏中断;\r
-                               }\r
-                       }\r
+                       CDTXMania.ConfigIni.n譜面スクロール速度.Drums = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1, 1999 );\r
                }\r
-               private void ChangeInputAdjustTimeInPlaying( IInputDevice keyboard, int plusminus )             // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen.\r
+               protected override void ドラムスクロール速度ダウン()\r
                {\r
-                       int part, offset = plusminus;\r
-                       if ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) )      // Guitar InputAdjustTime\r
-                       {\r
-                               part = (int) E楽器パート.GUITAR;\r
-                       }\r
-                       else if ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftAlt ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightAlt ) )     // Bass InputAdjustTime\r
-                       {\r
-                               part = (int) E楽器パート.BASS;\r
-                       }\r
-                       else    // Drums InputAdjustTime\r
-                       {\r
-                               part = (int) E楽器パート.DRUMS;\r
-                       }\r
-                       if ( !keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftControl ) && !keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightControl ) )\r
-                       {\r
-                               offset *= 10;\r
-                       }\r
-\r
-                       this.nInputAdjustTimeMs[ part ] += offset;\r
-                       if ( this.nInputAdjustTimeMs[ part ] > 0 )\r
-                       {\r
-                               this.nInputAdjustTimeMs[ part ] = 0;\r
-                       }\r
-                       else if ( this.nInputAdjustTimeMs[ part ] < -99 )\r
-                       {\r
-                               this.nInputAdjustTimeMs[ part ] = -99;\r
-                       }\r
-                       CDTXMania.ConfigIni.nInputAdjustTimeMs[ part ] = this.nInputAdjustTimeMs[ part ];\r
+                       CDTXMania.ConfigIni.n譜面スクロール速度.Drums = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Drums - 1, 0 );\r
                }\r
+\r
+       \r
                private void t進行描画・AVI()\r
                {\r
                        if( ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) && ( !CDTXMania.ConfigIni.bストイックモード && CDTXMania.ConfigIni.bAVI有効 ) )\r
@@ -1553,7 +1526,7 @@ namespace DTXMania
                }\r
                private void t進行描画・DANGER()\r
                {\r
-                       this.actDANGER.t進行描画( this.actGauge.db現在のゲージ値 < 0.3 );\r
+                       this.actDANGER.t進行描画( this.actGauge.db現在のゲージ値.Drums < 0.3 );\r
                }\r
                private void t進行描画・MIDIBGM()\r
                {\r
@@ -2633,34 +2606,34 @@ namespace DTXMania
                                this.actPanel.t進行描画( 0x150, 0x1ab );\r
                        }\r
                }\r
-               private bool t進行描画・フェードイン・アウト()\r
-               {\r
-                       switch( base.eフェーズID )\r
-                       {\r
-                               case CStage.Eフェーズ.共通_フェードイン:\r
-                                       if( this.actFI.On進行描画() != 0 )\r
-                                       {\r
-                                               base.eフェーズID = CStage.Eフェーズ.共通_通常状態;\r
-                                       }\r
-                                       break;\r
-\r
-                               case CStage.Eフェーズ.共通_フェードアウト:\r
-                               case CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト:\r
-                                       if( this.actFO.On進行描画() != 0 )\r
-                                       {\r
-                                               return true;\r
-                                       }\r
-                                       break;\r
-\r
-                               case CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト:\r
-                                       if( this.actFOClear.On進行描画() == 0 )\r
-                                       {\r
-                                               break;\r
-                                       }\r
-                                       return true;\r
-                       }\r
-                       return false;\r
-               }\r
+               //private bool t進行描画・フェードイン・アウト()\r
+               //{\r
+               //    switch( base.eフェーズID )\r
+               //    {\r
+               //        case CStage.Eフェーズ.共通_フェードイン:\r
+               //            if( this.actFI.On進行描画() != 0 )\r
+               //            {\r
+               //                base.eフェーズID = CStage.Eフェーズ.共通_通常状態;\r
+               //            }\r
+               //            break;\r
+\r
+               //        case CStage.Eフェーズ.共通_フェードアウト:\r
+               //        case CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト:\r
+               //            if( this.actFO.On進行描画() != 0 )\r
+               //            {\r
+               //                return true;\r
+               //            }\r
+               //            break;\r
+\r
+               //        case CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト:\r
+               //            if( this.actFOClear.On進行描画() == 0 )\r
+               //            {\r
+               //                break;\r
+               //            }\r
+               //            return true;\r
+               //    }\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
@@ -2728,26 +2701,26 @@ namespace DTXMania
                {\r
                        this.act譜面スクロール速度.On進行描画();\r
                }\r
-               private void t入力メソッド記憶( E楽器パート part )\r
-               {\r
-                       if( CDTXMania.Pad.st検知したデバイス.Keyboard )\r
-                       {\r
-                               this.b演奏にキーボードを使った[ (int) part ] = true;\r
-                       }\r
-                       if( CDTXMania.Pad.st検知したデバイス.Joypad )\r
-                       {\r
-                               this.b演奏にジョイパッドを使った[ (int) part ] = true;\r
-                       }\r
-                       if( CDTXMania.Pad.st検知したデバイス.MIDIIN )\r
-                       {\r
-                               this.b演奏にMIDI入力を使った[ (int) part ] = true;\r
-                       }\r
-                       if( CDTXMania.Pad.st検知したデバイス.Mouse )\r
-                       {\r
-                               this.b演奏にマウスを使った[ (int) part ] = true;\r
-                       }\r
-               }\r
-               private void t入力処理・ギター()\r
+               //private void t入力メソッド記憶( E楽器パート part )\r
+               //{\r
+               //    if( CDTXMania.Pad.st検知したデバイス.Keyboard )\r
+               //    {\r
+               //        this.b演奏にキーボードを使った[ (int) part ] = true;\r
+               //    }\r
+               //    if( CDTXMania.Pad.st検知したデバイス.Joypad )\r
+               //    {\r
+               //        this.b演奏にジョイパッドを使った[ (int) part ] = true;\r
+               //    }\r
+               //    if( CDTXMania.Pad.st検知したデバイス.MIDIIN )\r
+               //    {\r
+               //        this.b演奏にMIDI入力を使った[ (int) part ] = true;\r
+               //    }\r
+               //    if( CDTXMania.Pad.st検知したデバイス.Mouse )\r
+               //    {\r
+               //        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
@@ -2882,7 +2855,7 @@ namespace DTXMania
                                }\r
                        }\r
                }\r
-               private void t入力処理・ドラム()\r
+               protected override void t入力処理・ドラム()\r
                {\r
                        for( int nPad = 0; nPad < 10; nPad++ )\r
                        {\r
@@ -4093,7 +4066,7 @@ namespace DTXMania
                                }\r
                        }\r
                }\r
-               private void t入力処理・ベース()\r
+               protected override void t入力処理・ベース()\r
                {\r
                        if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.B ) )\r
                        {\r
@@ -4315,98 +4288,98 @@ namespace DTXMania
                }\r
 \r
 \r
-#if true               // DAMAGELEVELTUNING\r
-               // ----------------------------------\r
-               public float[,] fDamageGaugeDelta = {                   // #23625 2011.1.10 ickw_284: tuned damage/recover factors\r
-                       // drums,   guitar,  bass\r
-                       {  0.004f,  0.006f,  0.006f  },\r
-                       {  0.002f,  0.003f,  0.003f  },\r
-                       {  0.000f,  0.000f,  0.000f  },\r
-                       { -0.020f, -0.030f,     -0.030f  },\r
-                       { -0.050f, -0.050f, -0.050f  }\r
-               };\r
-               public float[] fDamageLevelFactor = {\r
-                       0.5f, 1.0f, 1.5f\r
-               };\r
-               // ----------------------------------\r
-#endif\r
-\r
-               private void t判定にあわせてゲージを増減する( E楽器パート part, E判定 e今回の判定 )\r
-               {\r
-                       double fDamage;\r
-\r
-#if true       // DAMAGELEVELTUNING\r
-                       switch (e今回の判定)\r
-                       {\r
-                               case E判定.Perfect:\r
-                               case E判定.Great:\r
-                               case E判定.Good:\r
-                               case E判定.Poor:\r
-                                       fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part];\r
-                                       break;\r
-                               case E判定.Miss:\r
-                                       fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part];\r
-                                       switch (CDTXMania.ConfigIni.eダメージレベル)\r
-                                       {\r
-                                               case Eダメージレベル.少ない:\r
-                                               case Eダメージレベル.普通:\r
-                                               case Eダメージレベル.大きい:\r
-                                                       fDamage *= fDamageLevelFactor[(int)CDTXMania.ConfigIni.eダメージレベル];\r
-                                                       break;\r
-                                       }\r
-                                       break;\r
-\r
-                               default:\r
-                                       fDamage = 0.0f;\r
-                                       break;\r
-                       }\r
-#else                                                                                                  // before applying #23625 modifications\r
-                       switch (e今回の判定)\r
-                       {\r
-                               case E判定.Perfect:\r
-                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015;\r
-                                       break;\r
-\r
-                               case E判定.Great:\r
-                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009;\r
-                                       break;\r
-\r
-                               case E判定.Good:\r
-                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003;\r
-                                       break;\r
-\r
-                               case E判定.Poor:\r
-                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0;\r
-                                       break;\r
-\r
-                               case E判定.Miss:\r
-                                       fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035;\r
-                                       switch( CDTXMania.ConfigIni.eダメージレベル )\r
-                                       {\r
-                                               case Eダメージレベル.少ない:\r
-                                                       fDamage *= 0.6;\r
-                                                       break;\r
-\r
-                                               case Eダメージレベル.普通:\r
-                                                       fDamage *= 1.0;\r
-                                                       break;\r
-\r
-                                               case Eダメージレベル.大きい:\r
-                                                       fDamage *= 1.6;\r
-                                                       break;\r
-                                       }\r
-                                       break;\r
-\r
-                               default:\r
-                                       fDamage = 0.0;\r
-                                       break;\r
-                       }\r
-#endif\r
-                       this.actGauge.db現在のゲージ値 += fDamage;\r
-\r
-                       if( this.actGauge.db現在のゲージ値 > 1.0 )\r
-                               this.actGauge.db現在のゲージ値 = 1.0;\r
-        }\r
+//#if true             // DAMAGELEVELTUNING\r
+//        // ----------------------------------\r
+//        public float[,] fDamageGaugeDelta = {                        // #23625 2011.1.10 ickw_284: tuned damage/recover factors\r
+//            // drums,   guitar,  bass\r
+//            {  0.004f,  0.006f,  0.006f  },\r
+//            {  0.002f,  0.003f,  0.003f  },\r
+//            {  0.000f,  0.000f,  0.000f  },\r
+//            { -0.020f, -0.030f,      -0.030f  },\r
+//            { -0.050f, -0.050f, -0.050f  }\r
+//        };\r
+//        public float[] fDamageLevelFactor = {\r
+//            0.5f, 1.0f, 1.5f\r
+//        };\r
+//        // ----------------------------------\r
+//#endif\r
+\r
+//        private void t判定にあわせてゲージを増減する( E楽器パート part, E判定 e今回の判定 )\r
+//        {\r
+//            double fDamage;\r
+\r
+//#if true     // DAMAGELEVELTUNING\r
+//            switch (e今回の判定)\r
+//            {\r
+//                case E判定.Perfect:\r
+//                case E判定.Great:\r
+//                case E判定.Good:\r
+//                case E判定.Poor:\r
+//                    fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part];\r
+//                    break;\r
+//                case E判定.Miss:\r
+//                    fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part];\r
+//                    switch (CDTXMania.ConfigIni.eダメージレベル)\r
+//                    {\r
+//                        case Eダメージレベル.少ない:\r
+//                        case Eダメージレベル.普通:\r
+//                        case Eダメージレベル.大きい:\r
+//                            fDamage *= fDamageLevelFactor[(int)CDTXMania.ConfigIni.eダメージレベル];\r
+//                            break;\r
+//                    }\r
+//                    break;\r
+\r
+//                default:\r
+//                    fDamage = 0.0f;\r
+//                    break;\r
+//            }\r
+//#else                                                                                                        // before applying #23625 modifications\r
+//            switch (e今回の判定)\r
+//            {\r
+//                case E判定.Perfect:\r
+//                    fDamage = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015;\r
+//                    break;\r
+\r
+//                case E判定.Great:\r
+//                    fDamage = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009;\r
+//                    break;\r
+\r
+//                case E判定.Good:\r
+//                    fDamage = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003;\r
+//                    break;\r
+\r
+//                case E判定.Poor:\r
+//                    fDamage = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0;\r
+//                    break;\r
+\r
+//                case E判定.Miss:\r
+//                    fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035;\r
+//                    switch( CDTXMania.ConfigIni.eダメージレベル )\r
+//                    {\r
+//                        case Eダメージレベル.少ない:\r
+//                            fDamage *= 0.6;\r
+//                            break;\r
+\r
+//                        case Eダメージレベル.普通:\r
+//                            fDamage *= 1.0;\r
+//                            break;\r
+\r
+//                        case Eダメージレベル.大きい:\r
+//                            fDamage *= 1.6;\r
+//                            break;\r
+//                    }\r
+//                    break;\r
+\r
+//                default:\r
+//                    fDamage = 0.0;\r
+//                    break;\r
+//            }\r
+//#endif\r
+//            this.actGauge.db現在のゲージ値 += fDamage;\r
+\r
+//            if( this.actGauge.db現在のゲージ値 > 1.0 )\r
+//                this.actGauge.db現在のゲージ値 = 1.0;\r
+//        }\r
                //-----------------\r
                #endregion\r
        }\r