OSDN Git Service

続・演奏画面のリファクタ。ドラムとギター画面で共通で使用しているメソッドを1つにまとめる作業。まだ完全には作業完了していない。少しずつ慎重に進めます。
[dtxmania/dtxmania.git] / DTXManiaプロジェクト / コード / ステージ / 07.演奏 / ドラム画面 / CStage演奏ドラム画面.cs
index 5108adb..c1ff570 100644 (file)
@@ -12,17 +12,8 @@ using FDK;
 \r
 namespace DTXMania\r
 {\r
-       internal class CStage演奏ドラム画面 : CStage\r
+       internal class CStage演奏ドラム画面 : CStage演奏画面共通\r
        {\r
-               // プロパティ\r
-\r
-               public bool bAUTOでないチップが1つでもバーを通過した \r
-               {\r
-                       get;\r
-                       private set;\r
-               }\r
-\r
-\r
                // コンストラクタ\r
 \r
                public CStage演奏ドラム画面()\r
@@ -74,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
@@ -258,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
@@ -271,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
@@ -289,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
@@ -333,11 +325,11 @@ namespace DTXMania
                {\r
                        if( !base.b活性化してない )\r
                        {\r
-                               this.t背景テクスチャの生成();\r
+                               //this.t背景テクスチャの生成();\r
                                this.txチップ = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums chips.png" ) );\r
                                this.txヒットバー = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums hit-bar.png" ) );\r
                                this.txヒットバーGB = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums hit-bar guitar.png" ) );\r
-                               this.txWailing枠 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay wailing cursor.png" ) );\r
+                               //this.txWailing枠 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay wailing cursor.png" ) );\r
                                this.txレーンフレームGB = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums lane parts guitar.png" ) );\r
                                if( this.txレーンフレームGB != null )\r
                                {\r
@@ -350,12 +342,12 @@ namespace DTXMania
                {\r
                        if( !base.b活性化してない )\r
                        {\r
-                               CDTXMania.tテクスチャの解放( ref this.tx背景 );\r
+                               //CDTXMania.tテクスチャの解放( ref this.tx背景 );\r
                                CDTXMania.tテクスチャの解放( ref this.txヒットバー );\r
                                CDTXMania.tテクスチャの解放( ref this.txヒットバーGB );\r
                                CDTXMania.tテクスチャの解放( ref this.txチップ );\r
                                CDTXMania.tテクスチャの解放( ref this.txレーンフレームGB );\r
-                               CDTXMania.tテクスチャの解放( ref this.txWailing枠 );\r
+                               //CDTXMania.tテクスチャの解放( ref this.txWailing枠 );\r
                                base.OnManagedリソースの解放();\r
                        }\r
                }\r
@@ -376,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
@@ -436,201 +428,201 @@ 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
-\r
-               private CAct演奏AVI actAVI;\r
-               private CAct演奏BGA actBGA;\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演奏DrumsチップファイアD actChipFireD;\r
                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
                private CAct演奏DrumsレーンフラッシュGB actLaneFlushGB;\r
                private CAct演奏Drumsパッド actPad;\r
-               private CAct演奏パネル文字列 actPanel;\r
-               private CAct演奏演奏情報 actPlayInfo;\r
+               //private CAct演奏パネル文字列 actPanel;\r
+               //private CAct演奏演奏情報 actPlayInfo;\r
                private CAct演奏DrumsRGB actRGB;\r
                private CAct演奏Drumsスコア actScore;\r
-               private CAct演奏ステージ失敗 actStageFailed;\r
+               //private CAct演奏ステージ失敗 actStageFailed;\r
                private CAct演奏Drumsステータスパネル actStatusPanels;\r
-               private CAct演奏DrumsWailingBonus actWailingBonus;\r
-               private CAct演奏スクロール速度 act譜面スクロール速度;\r
-               private bool bPAUSE;\r
+               //private CAct演奏DrumsWailingBonus actWailingBonus;\r
+               //private CAct演奏スクロール速度 act譜面スクロール速度;\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
@@ -640,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
@@ -651,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 CTexture txWailing枠;\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 CTexture tx背景;\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
@@ -683,31 +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
-                               int nDeltaTime = Math.Abs( (int) ( nTime + nInputAdjustTime - pChip.n発声時刻ms ) );                // #23580 2011.1.3 yyagi: add "nInputAdjustTime" to add input timing adjust feature\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
@@ -1169,7 +1162,7 @@ namespace DTXMania
                                        {\r
                                                int nInputAdjustTime = bIsAutoPlay[ this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ] ] ? 0 : this.nInputAdjustTimeMs.Drums;\r
                                                eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
-                                               this.actJudgeString.Start( this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ], bIsAutoPlay[ this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ] ] ? E判定.Auto : eJudgeResult );\r
+                                               this.actJudgeString.Start( this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ], bIsAutoPlay[ this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ] ] ? E判定.Auto : eJudgeResult, pChip.nLag );\r
                                        }\r
                                        break;\r
 \r
@@ -1177,7 +1170,7 @@ namespace DTXMania
                                        {\r
                                                int nInputAdjustTime = bIsAutoPlay.Guitar ? 0 : this.nInputAdjustTimeMs.Guitar;\r
                                                eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
-                                               this.actJudgeString.Start( 10, bIsAutoPlay.Guitar ? E判定.Auto : eJudgeResult );\r
+                                               this.actJudgeString.Start( 10, bIsAutoPlay.Guitar ? E判定.Auto : eJudgeResult, pChip.nLag );\r
                                        }\r
                                        break;\r
 \r
@@ -1185,13 +1178,13 @@ namespace DTXMania
                                        {\r
                                                int nInputAdjustTime = bIsAutoPlay.Bass ? 0 : this.nInputAdjustTimeMs.Bass;\r
                                                eJudgeResult = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
-                                               this.actJudgeString.Start( 11, bIsAutoPlay.Bass ? E判定.Auto : eJudgeResult );\r
+                                               this.actJudgeString.Start( 11, bIsAutoPlay.Bass ? E判定.Auto : eJudgeResult, pChip.nLag );\r
                                        }\r
                                        break;\r
                        }\r
                        if( !bPChipIsAutoPlay && ( pChip.e楽器パート != E楽器パート.UNKNOWN ) )\r
                        {\r
-                               this.t判定にあわせてゲージを増減する( pChip.e楽器パート, eJudgeResult );\r
+                               this.t判定にあわせてゲージを増減する( E楽器パート.DRUMS, pChip.e楽器パート, eJudgeResult );\r
                        }\r
                        switch( pChip.e楽器パート )\r
                        {\r
@@ -1340,24 +1333,24 @@ 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
                                        if( ( nLane >= 0 ) && ( nLane <= 7 ) )\r
                                        {\r
-                                               this.actJudgeString.Start( nLane, CDTXMania.ConfigIni.bAutoPlay[ nLane ] ? E判定.Auto : E判定.Miss );\r
+                                               this.actJudgeString.Start( nLane, CDTXMania.ConfigIni.bAutoPlay[ nLane ] ? E判定.Auto : E判定.Miss, 999 );\r
                                        }\r
                                        this.actCOMBO.n現在のコンボ数.Drums = 0;\r
                                        return;\r
 \r
                                case E楽器パート.GUITAR:\r
-                                       this.actJudgeString.Start( 10, E判定.Bad );\r
+                                       this.actJudgeString.Start( 10, E判定.Bad, 999 );\r
                                        this.actCOMBO.n現在のコンボ数.Guitar = 0;\r
                                        return;\r
 \r
                                case E楽器パート.BASS:\r
-                                       this.actJudgeString.Start( 11, E判定.Bad );\r
+                                       this.actJudgeString.Start( 11, E判定.Bad, 999 );\r
                                        this.actCOMBO.n現在のコンボ数.Bass = 0;\r
                                        return;\r
                        }\r
@@ -1441,127 +1434,101 @@ namespace DTXMania
                        }\r
                        return true;\r
                }\r
-               private void tパネル文字列の設定()\r
+               //private void tパネル文字列の設定()\r
+               //{\r
+               //    this.actPanel.SetPanelString( string.IsNullOrEmpty( CDTXMania.DTX.PANEL ) ? CDTXMania.DTX.TITLE : CDTXMania.DTX.PANEL );\r
+               //}\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
-                       this.actPanel.SetPanelString( string.IsNullOrEmpty( CDTXMania.DTX.PANEL ) ? CDTXMania.DTX.TITLE : CDTXMania.DTX.PANEL );\r
+                       CDTXMania.ConfigIni.n譜面スクロール速度.Drums = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1, 1999 );\r
                }\r
-               private void tキー入力()\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.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Drums - 1, 0 );\r
                }\r
-               private void ChangeInputAdjustTimeInPlaying( IInputDevice keyboard, int plusminus )             // #24243 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 ] > 99 )\r
-                       {\r
-                               this.nInputAdjustTimeMs[ part ] = 99;\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
-               private void t進行描画・AVI()\r
+       \r
+               protected override 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
-                       {\r
-                               this.actAVI.t進行描画( 0x152, 0x39 );\r
-                       }\r
+                       base.t進行描画・AVI( 0x152, 0x39 );\r
                }\r
-               private void t進行描画・BGA()\r
+               protected override void t進行描画・BGA()\r
                {\r
-                       if( ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) && ( !CDTXMania.ConfigIni.bストイックモード && CDTXMania.ConfigIni.bBGA有効 ) )\r
-                       {\r
-                               this.actBGA.t進行描画( 0x152, 0x39 );\r
-                       }\r
+                       base.t進行描画・BGA( 0x152, 0x39 );\r
                }\r
                private void t進行描画・DANGER()\r
                {\r
-                       this.actDANGER.t進行描画( this.actGauge.db現在のゲージ値 < 0.3 );\r
-               }\r
-               private void t進行描画・MIDIBGM()\r
-               {\r
-                       if( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED )\r
-                       {\r
-                               CStage.Eフェーズ eフェーズid1 = base.eフェーズID;\r
-                       }\r
+                       this.actDANGER.t進行描画( this.actGauge.db現在のゲージ値.Drums < 0.3 );\r
                }\r
+               //private void t進行描画・MIDIBGM()\r
+               //{\r
+               //    if( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED )\r
+               //    {\r
+               //        CStage.Eフェーズ eフェーズid1 = base.eフェーズID;\r
+               //    }\r
+               //}\r
                private void t進行描画・RGBボタン()\r
                {\r
                        if( CDTXMania.ConfigIni.eDark != Eダークモード.FULL )\r
@@ -1569,35 +1536,28 @@ namespace DTXMania
                                this.actRGB.On進行描画();\r
                        }\r
                }\r
-               private void t進行描画・STAGEFAILED()\r
-               {\r
-                       if( ( ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED ) || ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) && ( ( this.actStageFailed.On進行描画() != 0 ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) )\r
-                       {\r
-                               this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.ステージ失敗;\r
-                               base.eフェーズID = CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト;\r
-                               this.actFO.tフェードアウト開始();\r
-                       }\r
-               }\r
-               private void t進行描画・WailingBonus()\r
-               {\r
-                       if( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) )\r
-                       {\r
-                               this.actWailingBonus.On進行描画();\r
-                       }\r
-               }\r
-               private void t進行描画・Wailing枠()\r
+               //private void t進行描画・STAGEFAILED()\r
+               //{\r
+               //    if( ( ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED ) || ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) && ( ( this.actStageFailed.On進行描画() != 0 ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) )\r
+               //    {\r
+               //        this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.ステージ失敗;\r
+               //        base.eフェーズID = CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト;\r
+               //        this.actFO.tフェードアウト開始();\r
+               //    }\r
+               //}\r
+               //private void t進行描画・WailingBonus()\r
+               //{\r
+               //    if( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) )\r
+               //    {\r
+               //        this.actWailingBonus.On進行描画();\r
+               //    }\r
+               //}\r
+               protected override void t進行描画・Wailing枠()\r
                {\r
-                       if( ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) && CDTXMania.ConfigIni.bGuitar有効 )\r
-                       {\r
-                               if( CDTXMania.DTX.bチップがある.Guitar && ( this.txWailing枠 != null ) )\r
-                               {\r
-                                       this.txWailing枠.t2D描画( CDTXMania.app.Device, 0x24b, CDTXMania.ConfigIni.bReverse.Guitar ? ( 400 - this.txWailing枠.sz画像サイズ.Height ) : 0x45 );\r
-                               }\r
-                               if( CDTXMania.DTX.bチップがある.Bass && ( this.txWailing枠 != null ) )\r
-                               {\r
-                                       this.txWailing枠.t2D描画( CDTXMania.app.Device, 0x1de, CDTXMania.ConfigIni.bReverse.Bass ? ( 400 - this.txWailing枠.sz画像サイズ.Height ) : 0x45 );\r
-                               }\r
-                       }\r
+                       base.t進行描画・Wailing枠( 0x24b, 0x1de,\r
+                               CDTXMania.ConfigIni.bReverse.Guitar ? ( 400 - this.txWailing枠.sz画像サイズ.Height ) : 0x45,\r
+                               CDTXMania.ConfigIni.bReverse.Bass ? ( 400 - this.txWailing枠.sz画像サイズ.Height ) : 0x45\r
+                       );\r
                }\r
                private void t進行描画・ギターベースフレーム()\r
                {\r
@@ -1665,18 +1625,17 @@ namespace DTXMania
                                }\r
                        }\r
                }\r
-               private void t進行描画・ゲージ()\r
-               {\r
-                       if( ( ( CDTXMania.ConfigIni.eDark != Eダークモード.HALF ) && ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) ) && ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) )\r
-                       {\r
-                               this.actGauge.On進行描画();\r
-                       }\r
-        }\r
+               //private void t進行描画・ゲージ()\r
+               //{\r
+               //    if( ( ( CDTXMania.ConfigIni.eDark != Eダークモード.HALF ) && ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) ) && ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) )\r
+               //    {\r
+               //        this.actGauge.On進行描画();\r
+               //    }\r
+               //}\r
         // #24074 2011.01.23 add ikanick\r
         private void t進行描画・グラフ()        \r
         {\r
                        if ( !CDTXMania.ConfigIni.bストイックモード && !CDTXMania.ConfigIni.bドラムが全部オートプレイである && CDTXMania.ConfigIni.bGraph.Drums )\r
-//                     if ( !CDTXMania.ConfigIni.bストイックモード && CDTXMania.ConfigIni.bGraph.Drums )\r
                        {\r
                 this.actGraph.On進行描画();\r
             }\r
@@ -2627,41 +2586,38 @@ namespace DTXMania
                                this.actPad.On進行描画();\r
                        }\r
                }\r
-               private void t進行描画・パネル文字列()\r
+               protected override void t進行描画・パネル文字列()\r
                {\r
-                       if( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) )\r
-                       {\r
-                               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
+                       base.t進行描画・パネル文字列( 0x150, 0x1ab );\r
                }\r
+               //private bool t進行描画・フェードイン・アウト()\r
+               //{\r
+               //    switch( base.eフェーズID )\r
+               //    {\r
+               //        case CStage.Eフェーズ.共通_フェードイン:\r
+               //            if( this.actFI.On進行描画() != 0 )\r
+               //            {\r
+               //                base.eフェーズID = CStage.Eフェーズ.共通_通常状態;\r
+               //            }\r
+               //            break;\r
+\r
+               //        case CStage.Eフェーズ.共通_フェードアウト:\r
+               //        case CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト:\r
+               //            if( this.actFO.On進行描画() != 0 )\r
+               //            {\r
+               //                return true;\r
+               //            }\r
+               //            break;\r
+\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
@@ -2676,27 +2632,24 @@ namespace DTXMania
                                this.actLaneFlushGB.On進行描画();\r
                        }\r
                }\r
-               private void t進行描画・演奏情報()\r
+               protected override void t進行描画・演奏情報()\r
                {\r
-                       if( !CDTXMania.ConfigIni.b演奏情報を表示しない )\r
-                       {\r
-                               this.actPlayInfo.t進行描画( 0x152, 0x39 );\r
-                       }\r
-               }\r
-               private void t進行描画・背景()\r
-               {\r
-                       if( CDTXMania.ConfigIni.eDark == Eダークモード.OFF )\r
-                       {\r
-                               if( this.tx背景 != null )\r
-                               {\r
-                                       this.tx背景.t2D描画( CDTXMania.app.Device, 0, 0 );\r
-                               }\r
-                       }\r
-                       else\r
-                       {\r
-                               CDTXMania.app.Device.Clear( ClearFlags.ZBuffer | ClearFlags.Target, Color.Black, 0f, 0 );\r
-                       }\r
+                       base.t進行描画・演奏情報( 0x152, 0x39 );\r
                }\r
+               //private void t進行描画・背景()\r
+               //{\r
+               //    if( CDTXMania.ConfigIni.eDark == Eダークモード.OFF )\r
+               //    {\r
+               //        if( this.tx背景 != null )\r
+               //        {\r
+               //            this.tx背景.t2D描画( CDTXMania.app.Device, 0, 0 );\r
+               //        }\r
+               //    }\r
+               //    else\r
+               //    {\r
+               //        CDTXMania.app.Device.Clear( ClearFlags.ZBuffer | ClearFlags.Target, Color.Black, 0f, 0 );\r
+               //    }\r
+               //}\r
                private void t進行描画・判定ライン()\r
                {\r
                        if( CDTXMania.ConfigIni.eDark != Eダークモード.FULL )\r
@@ -2725,30 +2678,30 @@ namespace DTXMania
                                this.actJudgeString.On進行描画();\r
                        }\r
                }\r
-               private void t進行描画・譜面スクロール速度()\r
-               {\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進行描画・譜面スクロール速度()\r
+               //{\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
+               protected override void t入力処理・ギター()\r
                {\r
                        if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.B ) )\r
                        {\r
@@ -2883,7 +2836,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
@@ -4094,7 +4047,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
@@ -4229,185 +4182,198 @@ namespace DTXMania
                                }\r
                        }\r
                }\r
-               private void t背景テクスチャの生成()\r
-               {\r
-                       Bitmap image = null;\r
-                       string path = "";\r
-                       bool flag = true;\r
-                       if( ( ( CDTXMania.DTX.BACKGROUND != null ) && ( CDTXMania.DTX.BACKGROUND.Length > 0 ) ) && !CDTXMania.ConfigIni.bストイックモード )\r
-                       {\r
-                               path = CDTXMania.DTX.strフォルダ名 + CDTXMania.DTX.BACKGROUND;\r
-                               if( File.Exists( path ) )\r
-                               {\r
-                                       try\r
-                                       {\r
-                                               Bitmap bitmap2 = null;\r
-                                               bitmap2 = new Bitmap( path );\r
-                                               if( ( bitmap2.Size.Width == 0 ) && ( bitmap2.Size.Height == 0 ) )\r
-                                               {\r
-                                                       this.tx背景 = null;\r
-                                                       return;\r
-                                               }\r
-                                               Bitmap bitmap3 = new Bitmap( 640, 480 );\r
-                                               Graphics graphics = Graphics.FromImage( bitmap3 );\r
-                                               for( int i = 0; i < 480; i += bitmap2.Size.Height )\r
-                                               {\r
-                                                       for( int j = 0; j < 640; j += bitmap2.Size.Width )\r
-                                                       {\r
-                                                               graphics.DrawImage( bitmap2, j, i, bitmap2.Width, bitmap2.Height );\r
-                                                       }\r
-                                               }\r
-                                               graphics.Dispose();\r
-                                               bitmap2.Dispose();\r
-                                               image = new Bitmap( CSkin.Path( @"Graphics\ScreenPlayDrums background.jpg" ) );\r
-                                               graphics = Graphics.FromImage( image );\r
-                                               ColorMatrix matrix2 = new ColorMatrix();\r
-                                               matrix2.Matrix00 = 1f;\r
-                                               matrix2.Matrix11 = 1f;\r
-                                               matrix2.Matrix22 = 1f;\r
-                                               matrix2.Matrix33 = ( (float) CDTXMania.ConfigIni.n背景の透過度 ) / 255f;\r
-                                               matrix2.Matrix44 = 1f;\r
-                                               ColorMatrix newColorMatrix = matrix2;\r
-                                               ImageAttributes imageAttr = new ImageAttributes();\r
-                                               imageAttr.SetColorMatrix( newColorMatrix );\r
-                                               graphics.DrawImage( bitmap3, new Rectangle( 0, 0, 640, 480 ), 0, 0, 640, 480, GraphicsUnit.Pixel, imageAttr );\r
-                                               imageAttr.Dispose();\r
-                                               graphics.DrawImage( bitmap3, new Rectangle( 0x152, 0x39, 0x116, 0x163 ), 0x152, 0x39, 0x116, 0x163, GraphicsUnit.Pixel );\r
-                                               graphics.Dispose();\r
-                                               bitmap3.Dispose();\r
-                                               flag = false;\r
-                                       }\r
-                                       catch\r
-                                       {\r
-                                               Trace.TraceError( "背景画像の読み込みに失敗しました。({0})", new object[] { path } );\r
-                                       }\r
-                               }\r
-                       }\r
-                       if( flag )\r
-                       {\r
-                               path = CSkin.Path( @"Graphics\ScreenPlayDrums background.jpg" );\r
-                               try\r
-                               {\r
-                                       image = new Bitmap( path );\r
-                               }\r
-                               catch\r
-                               {\r
-                                       Trace.TraceError( "背景画像の読み込みに失敗しました。({0})", new object[] { path } );\r
-                                       this.tx背景 = null;\r
-                                       return;\r
-                               }\r
-                       }\r
-                       if( ( CDTXMania.DTX.listBMP.Count > 0 ) || ( CDTXMania.DTX.listBMPTEX.Count > 0 ) )\r
-                       {\r
-                               Graphics graphics2 = Graphics.FromImage( image );\r
-                               graphics2.FillRectangle( Brushes.Black, 0x152, 0x39, 0x116, 0x163 );\r
-                               graphics2.Dispose();\r
-                       }\r
-                       try\r
-                       {\r
-                               this.tx背景 = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat );\r
-                       }\r
-                       catch( CTextureCreateFailedException )\r
-                       {\r
-                               Trace.TraceError( "背景テクスチャの生成に失敗しました。" );\r
-                               this.tx背景 = null;\r
-                       }\r
-                       image.Dispose();\r
-               }\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
+               protected override void t背景テクスチャの生成()\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
+                       Rectangle bgrect = new Rectangle( 338, 57, 278, 355 );\r
+                       string DefaultBgFilename = @"Graphics\ScreenPlayDrums background.jpg";\r
+                       string BgFilename = "";\r
+                       if ( ( ( CDTXMania.DTX.BACKGROUND != null ) && ( CDTXMania.DTX.BACKGROUND.Length > 0 ) ) && !CDTXMania.ConfigIni.bストイックモード )\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
+                               BgFilename = CDTXMania.DTX.strフォルダ名 + CDTXMania.DTX.BACKGROUND;\r
                        }\r
-#endif\r
-                       this.actGauge.db現在のゲージ値 += fDamage;\r
+                       base.t背景テクスチャの生成( DefaultBgFilename, bgrect, BgFilename );\r
+               }\r
 \r
-                       if( this.actGauge.db現在のゲージ値 > 1.0 )\r
-                               this.actGauge.db現在のゲージ値 = 1.0;\r
-        }\r
+               //private void t背景テクスチャの生成()\r
+               //{\r
+               //    Bitmap image = null;\r
+               //    string path = "";\r
+               //    bool flag = true;\r
+               //    if( ( ( CDTXMania.DTX.BACKGROUND != null ) && ( CDTXMania.DTX.BACKGROUND.Length > 0 ) ) && !CDTXMania.ConfigIni.bストイックモード )\r
+               //    {\r
+               //        path = CDTXMania.DTX.strフォルダ名 + CDTXMania.DTX.BACKGROUND;\r
+               //        if( File.Exists( path ) )\r
+               //        {\r
+               //            try\r
+               //            {\r
+               //                Bitmap bitmap2 = null;\r
+               //                bitmap2 = new Bitmap( path );\r
+               //                if( ( bitmap2.Size.Width == 0 ) && ( bitmap2.Size.Height == 0 ) )\r
+               //                {\r
+               //                    this.tx背景 = null;\r
+               //                    return;\r
+               //                }\r
+               //                Bitmap bitmap3 = new Bitmap( 640, 480 );\r
+               //                Graphics graphics = Graphics.FromImage( bitmap3 );\r
+               //                for( int i = 0; i < 480; i += bitmap2.Size.Height )\r
+               //                {\r
+               //                    for( int j = 0; j < 640; j += bitmap2.Size.Width )\r
+               //                    {\r
+               //                        graphics.DrawImage( bitmap2, j, i, bitmap2.Width, bitmap2.Height );\r
+               //                    }\r
+               //                }\r
+               //                graphics.Dispose();\r
+               //                bitmap2.Dispose();\r
+               //                image = new Bitmap( CSkin.Path( @"Graphics\ScreenPlayDrums background.jpg" ) );\r
+               //                graphics = Graphics.FromImage( image );\r
+               //                ColorMatrix matrix2 = new ColorMatrix();\r
+               //                matrix2.Matrix00 = 1f;\r
+               //                matrix2.Matrix11 = 1f;\r
+               //                matrix2.Matrix22 = 1f;\r
+               //                matrix2.Matrix33 = ( (float) CDTXMania.ConfigIni.n背景の透過度 ) / 255f;\r
+               //                matrix2.Matrix44 = 1f;\r
+               //                ColorMatrix newColorMatrix = matrix2;\r
+               //                ImageAttributes imageAttr = new ImageAttributes();\r
+               //                imageAttr.SetColorMatrix( newColorMatrix );\r
+               //                graphics.DrawImage( bitmap3, new Rectangle( 0, 0, 640, 480 ), 0, 0, 640, 480, GraphicsUnit.Pixel, imageAttr );\r
+               //                imageAttr.Dispose();\r
+               //                graphics.DrawImage( bitmap3, new Rectangle( 0x152, 0x39, 0x116, 0x163 ), 0x152, 0x39, 0x116, 0x163, GraphicsUnit.Pixel );\r
+               //                graphics.Dispose();\r
+               //                bitmap3.Dispose();\r
+               //                flag = false;\r
+               //            }\r
+               //            catch\r
+               //            {\r
+               //                Trace.TraceError( "背景画像の読み込みに失敗しました。({0})", new object[] { path } );\r
+               //            }\r
+               //        }\r
+               //    }\r
+               //    if( flag )\r
+               //    {\r
+               //        path = CSkin.Path( @"Graphics\ScreenPlayDrums background.jpg" );\r
+               //        try\r
+               //        {\r
+               //            image = new Bitmap( path );\r
+               //        }\r
+               //        catch\r
+               //        {\r
+               //            Trace.TraceError( "背景画像の読み込みに失敗しました。({0})", new object[] { path } );\r
+               //            this.tx背景 = null;\r
+               //            return;\r
+               //        }\r
+               //    }\r
+               //    if( ( CDTXMania.DTX.listBMP.Count > 0 ) || ( CDTXMania.DTX.listBMPTEX.Count > 0 ) )\r
+               //    {\r
+               //        Graphics graphics2 = Graphics.FromImage( image );\r
+               //        graphics2.FillRectangle( Brushes.Black, 0x152, 0x39, 0x116, 0x163 );\r
+               //        graphics2.Dispose();\r
+               //    }\r
+               //    try\r
+               //    {\r
+               //        this.tx背景 = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat );\r
+               //    }\r
+               //    catch( CTextureCreateFailedException )\r
+               //    {\r
+               //        Trace.TraceError( "背景テクスチャの生成に失敗しました。" );\r
+               //        this.tx背景 = null;\r
+               //    }\r
+               //    image.Dispose();\r
+               //}\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
                //-----------------\r
                #endregion\r
        }\r