OSDN Git Service

#23857 Add LCVelocityMin, SDVelocityMin, .... , CYVelocityMin and RD VelocityMin...
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sun, 30 Jan 2011 17:08:10 +0000 (17:08 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sun, 30 Jan 2011 17:08:10 +0000 (17:08 +0000)
git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@100 16f42ceb-6dc6-49c8-ba94-f2d53467949d

DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs
DTXManiaプロジェクト/コード/全体/CConfigIni.cs

index 3e1db5c..5108adb 100644 (file)
@@ -2959,7 +2959,7 @@ namespace DTXMania
                                                                #region [ *** ]\r
                                                                //-----------------------------\r
                                                                {\r
-                                                                       if ( event2.nVelocity <= CDTXMania.ConfigIni.nハイハット切り捨て下限Velocity )\r
+                                                                       if ( event2.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.HH )\r
                                                                                continue;       // 電子ドラムによる意図的なクロストークを無効にする\r
 \r
                                                                        CDTX.CChip chipHC = this.r指定時刻に一番近い未ヒットChip( nTime, 0x11, nInputAdjustTime ); // HiHat Close\r
@@ -3174,7 +3174,7 @@ namespace DTXMania
                                                        case Eパッド.SD:\r
                                                                #region [ *** ]\r
                                                                //-----------------------------\r
-                                                               if (event2.nVelocity <= CDTXMania.ConfigIni.n切り捨て下限Velocity)        // #23857 2010.12.12 yyagi: to support VelocityMin\r
+                                                               if (event2.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.SD)    // #23857 2010.12.12 yyagi: to support VelocityMin\r
                                                                        continue;       // 電子ドラムによる意図的なクロストークを無効にする\r
                                                                if( !this.tドラムヒット処理(nTime, Eパッド.SD, this.r指定時刻に一番近い未ヒットChip(nTime, 0x12, nInputAdjustTime ), event2.nVelocity ) )\r
                                                                        break;\r
@@ -3185,7 +3185,7 @@ namespace DTXMania
                                                        case Eパッド.BD:\r
                                                                #region [ *** ]\r
                                                                //-----------------------------\r
-                                                               if (event2.nVelocity <= CDTXMania.ConfigIni.n切り捨て下限Velocity)        // #23857 2010.12.12 yyagi: to support VelocityMin\r
+                                                               if (event2.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.BD)    // #23857 2010.12.12 yyagi: to support VelocityMin\r
                                                                        continue;       // 電子ドラムによる意図的なクロストークを無効にする\r
                                                                if ( !this.tドラムヒット処理( nTime, Eパッド.BD, this.r指定時刻に一番近い未ヒットChip( nTime, 0x13, nInputAdjustTime ), event2.nVelocity ) )\r
                                                                        break;\r
@@ -3196,7 +3196,7 @@ namespace DTXMania
                                                        case Eパッド.HT:\r
                                                                #region [ *** ]\r
                                                                //-----------------------------\r
-                                                               if (event2.nVelocity <= CDTXMania.ConfigIni.n切り捨て下限Velocity)        // #23857 2010.12.12 yyagi: to support VelocityMin\r
+                                                               if (event2.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.HT)    // #23857 2010.12.12 yyagi: to support VelocityMin\r
                                                                        continue;       // 電子ドラムによる意図的なクロストークを無効にする\r
                                                                if ( this.tドラムヒット処理( nTime, Eパッド.HT, this.r指定時刻に一番近い未ヒットChip( nTime, 20, nInputAdjustTime ), event2.nVelocity ) )\r
                                                                        continue;\r
@@ -3208,7 +3208,7 @@ namespace DTXMania
                                                                #region [ *** ]\r
                                                                //-----------------------------\r
                                                                {\r
-                                                                       if ( event2.nVelocity <= CDTXMania.ConfigIni.n切り捨て下限Velocity )      // #23857 2010.12.12 yyagi: to support VelocityMin\r
+                                                                       if ( event2.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.LT )  // #23857 2010.12.12 yyagi: to support VelocityMin\r
                                                                                continue;       // 電子ドラムによる意図的なクロストークを無効にする\r
                                                                        CDTX.CChip chipLT = this.r指定時刻に一番近い未ヒットChip( nTime, 0x15, nInputAdjustTime ); // LT\r
                                                                        CDTX.CChip chipFT = this.r指定時刻に一番近い未ヒットChip( nTime, 0x17, nInputAdjustTime ); // FT\r
@@ -3273,7 +3273,7 @@ namespace DTXMania
                                                                #region [ *** ]\r
                                                                //-----------------------------\r
                                                                {\r
-                                                                       if ( event2.nVelocity <= CDTXMania.ConfigIni.n切り捨て下限Velocity )      // #23857 2010.12.12 yyagi: to support VelocityMin\r
+                                                                       if ( event2.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.FT )  // #23857 2010.12.12 yyagi: to support VelocityMin\r
                                                                                continue;       // 電子ドラムによる意図的なクロストークを無効にする\r
                                                                        CDTX.CChip chipLT = this.r指定時刻に一番近い未ヒットChip( nTime, 0x15, nInputAdjustTime ); // LT\r
                                                                        CDTX.CChip chipFT = this.r指定時刻に一番近い未ヒットChip( nTime, 0x17, nInputAdjustTime ); // FT\r
@@ -3338,7 +3338,7 @@ namespace DTXMania
                                                                #region [ *** ]\r
                                                                //-----------------------------\r
                                                                {\r
-                                                                       if (event2.nVelocity <= CDTXMania.ConfigIni.n切り捨て下限Velocity)        // #23857 2010.12.12 yyagi: to support VelocityMin\r
+                                                                       if (event2.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.CY)    // #23857 2010.12.12 yyagi: to support VelocityMin\r
                                                                                continue;       // 電子ドラムによる意図的なクロストークを無効にする\r
                                                                        CDTX.CChip chipCY = this.r指定時刻に一番近い未ヒットChip( nTime, 0x16, nInputAdjustTime ); // CY\r
                                                                        CDTX.CChip chipRD = this.r指定時刻に一番近い未ヒットChip( nTime, 0x19, nInputAdjustTime ); // RD\r
@@ -3445,7 +3445,7 @@ namespace DTXMania
                                                                #region [ *** ]\r
                                                                //-----------------------------\r
                                                                {\r
-                                                                       if ( event2.nVelocity <= CDTXMania.ConfigIni.nハイハット切り捨て下限Velocity )\r
+                                                                       if ( event2.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.HH )\r
                                                                                continue;       // 電子ドラムによる意図的なクロストークを無効にする\r
 \r
                                                                        CDTX.CChip chipHC = this.r指定時刻に一番近い未ヒットChip( nTime, 0x11, nInputAdjustTime ); // HC\r
@@ -3645,7 +3645,7 @@ namespace DTXMania
                                                                #region [ *** ]\r
                                                                //-----------------------------\r
                                                                {\r
-                                                                       if (event2.nVelocity <= CDTXMania.ConfigIni.n切り捨て下限Velocity)        // #23857 2010.12.12 yyagi: to support VelocityMin\r
+                                                                       if (event2.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.RD)    // #23857 2010.12.12 yyagi: to support VelocityMin\r
                                                                                continue;       // 電子ドラムによる意図的なクロストークを無効にする\r
                                                                        CDTX.CChip chipCY = this.r指定時刻に一番近い未ヒットChip( nTime, 0x16, nInputAdjustTime ); // CY\r
                                                                        CDTX.CChip chipRD = this.r指定時刻に一番近い未ヒットChip( nTime, 0x19, nInputAdjustTime ); // RD\r
@@ -3726,7 +3726,7 @@ namespace DTXMania
                                                                #region [ *** ]\r
                                                                //-----------------------------\r
                                                                {\r
-                                                                       if (event2.nVelocity <= CDTXMania.ConfigIni.n切り捨て下限Velocity)        // #23857 2010.12.12 yyagi: to support VelocityMin\r
+                                                                       if (event2.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.LC)    // #23857 2010.12.12 yyagi: to support VelocityMin\r
                                                                                continue;       // 電子ドラムによる意図的なクロストークを無効にする\r
                                                                        CDTX.CChip chipHC = this.r指定時刻に一番近い未ヒットChip( nTime, 0x11, nInputAdjustTime ); // HC\r
                                                                        CDTX.CChip chipHO = this.r指定時刻に一番近い未ヒットChip( nTime, 0x18, nInputAdjustTime ); // HO\r
index c21f554..9def78b 100644 (file)
@@ -426,8 +426,8 @@ namespace DTXMania
                public string str選曲リストフォント;\r
                public Eドラムコンボ文字の表示位置 ドラムコンボ文字の表示位置;\r
                public STDGBVALUE<E判定文字表示位置> 判定文字表示位置;\r
-               public int nハイハット切り捨て下限Velocity;\r
-               public int n切り捨て下限Velocity;                 // #23857 2010.12.12 yyagi VelocityMin\r
+//             public int nハイハット切り捨て下限Velocity;\r
+//             public int n切り捨て下限Velocity;                 // #23857 2010.12.12 yyagi VelocityMin\r
                public STDGBVALUE<int> nInputAdjustTimeMs;      // #23580 2011.1.3 yyagi タイミングアジャスト機能\r
                public bool bバッファ入力を行う;\r
                public bool bConfigIniがないかDTXManiaのバージョンが異なる\r
@@ -710,7 +710,116 @@ namespace DTXMania
                                }\r
                        }\r
                }\r
-               \r
+\r
+               public STLANEVALUE nVelocityMin;\r
+               [StructLayout( LayoutKind.Sequential )]\r
+               public struct STLANEVALUE\r
+               {\r
+                       public int LC;\r
+                       public int HH;\r
+                       public int SD;\r
+                       public int BD;\r
+                       public int HT;\r
+                       public int LT;\r
+                       public int FT;\r
+                       public int CY;\r
+                       public int RD;\r
+                       public int Guitar;\r
+                       public int Bass;\r
+                       public int this[ int index ]\r
+                       {\r
+                               get\r
+                               {\r
+                                       switch( index )\r
+                                       {\r
+                                               case 0:\r
+                                                       return this.LC;\r
+\r
+                                               case 1:\r
+                                                       return this.HH;\r
+\r
+                                               case 2:\r
+                                                       return this.SD;\r
+\r
+                                               case 3:\r
+                                                       return this.BD;\r
+\r
+                                               case 4:\r
+                                                       return this.HT;\r
+\r
+                                               case 5:\r
+                                                       return this.LT;\r
+\r
+                                               case 6:\r
+                                                       return this.FT;\r
+\r
+                                               case 7:\r
+                                                       return this.CY;\r
+\r
+                                               case 8:\r
+                                                       return this.RD;\r
+\r
+                                               case 9:\r
+                                                       return this.Guitar;\r
+\r
+                                               case 10:\r
+                                                       return this.Bass;\r
+                                       }\r
+                                       throw new IndexOutOfRangeException();\r
+                               }\r
+                               set\r
+                               {\r
+                                       switch( index )\r
+                                       {\r
+                                               case 0:\r
+                                                       this.LC = value;\r
+                                                       return;\r
+\r
+                                               case 1:\r
+                                                       this.HH = value;\r
+                                                       return;\r
+\r
+                                               case 2:\r
+                                                       this.SD = value;\r
+                                                       return;\r
+\r
+                                               case 3:\r
+                                                       this.BD = value;\r
+                                                       return;\r
+\r
+                                               case 4:\r
+                                                       this.HT = value;\r
+                                                       return;\r
+\r
+                                               case 5:\r
+                                                       this.LT = value;\r
+                                                       return;\r
+\r
+                                               case 6:\r
+                                                       this.FT = value;\r
+                                                       return;\r
+\r
+                                               case 7:\r
+                                                       this.CY = value;\r
+                                                       return;\r
+\r
+                                               case 8:\r
+                                                       this.RD = value;\r
+                                                       return;\r
+\r
+                                               case 9:\r
+                                                       this.Guitar = value;\r
+                                                       return;\r
+\r
+                                               case 10:\r
+                                                       this.Bass = value;\r
+                                                       return;\r
+                                       }\r
+                                       throw new IndexOutOfRangeException();\r
+                               }\r
+                       }\r
+               }\r
+\r
 \r
                // コンストラクタ\r
 \r
@@ -827,8 +936,18 @@ namespace DTXMania
                        this.nInputAdjustTimeMs.Drums = 0;\r
                        this.nInputAdjustTimeMs.Guitar = 0;\r
                        this.nInputAdjustTimeMs.Bass = 0;\r
-                       this.nハイハット切り捨て下限Velocity = 20;\r
-                       this.n切り捨て下限Velocity = 0;                           // #23857 2010.12.12 yyagi VelocityMin\r
+//                     this.nハイハット切り捨て下限Velocity = 20;\r
+//                     this.n切り捨て下限Velocity = 0;                           // #23857 2010.12.12 yyagi VelocityMin\r
+                       this.nVelocityMin.LC = 0;                                       // #23857 2011.1.31 yyagi VelocityMin\r
+                       this.nVelocityMin.HH = 20;\r
+                       this.nVelocityMin.SD = 0;\r
+                       this.nVelocityMin.BD = 0;\r
+                       this.nVelocityMin.HT = 0;\r
+                       this.nVelocityMin.LT = 0;\r
+                       this.nVelocityMin.FT = 0;\r
+                       this.nVelocityMin.CY = 0;\r
+                       this.nVelocityMin.RD = 0;\r
+\r
                        this.bバッファ入力を行う = true;\r
                        this.bIsSwappedGuitarBass = false;                      // #24063 2011.1.16 yyagi ギターとベースの切り替え\r
                }\r
@@ -1039,15 +1158,47 @@ namespace DTXMania
                        sw.WriteLine("; Revision value to adjust judgement timing for the bass.");              //\r
                        sw.WriteLine("InputAdjustTimeBass={0}", this.nInputAdjustTimeMs.Bass);                  //\r
                        sw.WriteLine();\r
-                       sw.WriteLine("; ハイハット入力切り捨て下限Velocity値(0~127)");                                  // #23857 2010.12.12 yyagi\r
-                       sw.WriteLine("; Minimum velocity value to accept. (especially for HiHat)");             //\r
-                       sw.WriteLine("HHVelocityMin={0}", this.nハイハット切り捨て下限Velocity);             //\r
-                       sw.WriteLine();\r
-                       sw.WriteLine("; ハイハット以外の入力切り捨て下限Velocity値(0~127)");                 // #23857 2010.12.12 yyagi\r
-                       sw.WriteLine("; Minimum velocity value to accept. (except HiHat)");                             //\r
-                       sw.WriteLine("VelocityMin={0}", this.n切り捨て下限Velocity);                                      //\r
+                       sw.WriteLine( "; LCの入力切り捨て下限Velocity値(0~127)" );                                          // #23857 2011.1.31 yyagi\r
+                       sw.WriteLine( "; Minimum velocity value for LC to accept." );                                           //\r
+                       sw.WriteLine( "LCVelocityMin={0}", this.nVelocityMin.LC );                                              //\r
+                       sw.WriteLine();                                                                                                                                 //\r
+                       sw.WriteLine( "; ハイハット入力切り捨て下限Velocity値(0~127)" );                                        // #23857 2010.12.12 yyagi\r
+                       sw.WriteLine("; Minimum velocity value for HH to accept.");                                             //\r
+                       sw.WriteLine("HHVelocityMin={0}", this.nVelocityMin.HH );                                               //\r
+                       sw.WriteLine();\r
+//                     sw.WriteLine("; ハイハット以外の入力切り捨て下限Velocity値(0~127)");                 // #23857 2010.12.12 yyagi\r
+//                     sw.WriteLine("; Minimum velocity value to accept. (except HiHat)");                             //\r
+//                     sw.WriteLine("VelocityMin={0}", this.n切り捨て下限Velocity);                                      //\r
+//                     sw.WriteLine();                                                                                                                                 //\r
+                       sw.WriteLine( "; SDの入力切り捨て下限Velocity値(0~127)" );                                          // #23857 2011.1.31 yyagi\r
+                       sw.WriteLine( "; Minimum velocity value for SD to accept." );                                   //\r
+                       sw.WriteLine( "SDVelocityMin={0}", this.nVelocityMin.SD );                                              //\r
+                       sw.WriteLine();                                                                                                                                 //\r
+                       sw.WriteLine( "; BDの入力切り捨て下限Velocity値(0~127)" );                                          // #23857 2011.1.31 yyagi\r
+                       sw.WriteLine( "; Minimum velocity value for BD to accept." );                                   //\r
+                       sw.WriteLine( "BDVelocityMin={0}", this.nVelocityMin.BD );                                              //\r
                        sw.WriteLine();                                                                                                                                 //\r
-                       sw.WriteLine(";-------------------");\r
+                       sw.WriteLine( "; HTの入力切り捨て下限Velocity値(0~127)" );                                          // #23857 2011.1.31 yyagi\r
+                       sw.WriteLine( "; Minimum velocity value for HT to accept." );                                   //\r
+                       sw.WriteLine( "HTVelocityMin={0}", this.nVelocityMin.HT );                                              //\r
+                       sw.WriteLine();                                                                                                                                 //\r
+                       sw.WriteLine( "; LTの入力切り捨て下限Velocity値(0~127)" );                                          // #23857 2011.1.31 yyagi\r
+                       sw.WriteLine( "; Minimum velocity value for LT to accept." );                                   //\r
+                       sw.WriteLine( "LTVelocityMin={0}", this.nVelocityMin.LT );                                              //\r
+                       sw.WriteLine();                                                                                                                                 //\r
+                       sw.WriteLine( "; FTの入力切り捨て下限Velocity値(0~127)" );                                          // #23857 2011.1.31 yyagi\r
+                       sw.WriteLine( "; Minimum velocity value for FT to accept." );                                   //\r
+                       sw.WriteLine( "FTVelocityMin={0}", this.nVelocityMin.FT );                                              //\r
+                       sw.WriteLine();                                                                                                                                 //\r
+                       sw.WriteLine( "; CYの入力切り捨て下限Velocity値(0~127)" );                                          // #23857 2011.1.31 yyagi\r
+                       sw.WriteLine( "; Minimum velocity value for CY to accept." );                                   //\r
+                       sw.WriteLine( "CYVelocityMin={0}", this.nVelocityMin.CY );                                              //\r
+                       sw.WriteLine();                                                                                                                                 //\r
+                       sw.WriteLine( "; RDの入力切り捨て下限Velocity値(0~127)" );                                          // #23857 2011.1.31 yyagi\r
+                       sw.WriteLine( "; Minimum velocity value for RD to accept." );                                   //\r
+                       sw.WriteLine( "RDVelocityMin={0}", this.nVelocityMin.RD );                                              //\r
+                       sw.WriteLine();                                                                                                                                 //\r
+                       sw.WriteLine( ";-------------------" );\r
                        sw.WriteLine( "[Log]" );\r
                        sw.WriteLine();\r
                        sw.WriteLine( "; Log出力(0:OFF, 1:ON)" );\r
@@ -1601,12 +1752,41 @@ namespace DTXMania
                                                                                                else if ( str3.Equals("BufferedInput") ) {\r
                                                                                                        this.bバッファ入力を行う = C変換.bONorOFF(str4[0]);\r
                                                                                                }\r
-                                                                                               else if ( str3.Equals("HHVelocityMin") ) {\r
-                                                                                                       this.nハイハット切り捨て下限Velocity = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 127, this.nハイハット切り捨て下限Velocity);\r
+                                                                                               else if ( str3.Equals( "LCVelocityMin" ) )                      // #23857 2010.12.12 yyagi\r
+                                                                                               {\r
+                                                                                                       this.nVelocityMin.LC = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.LC );\r
+                                                                                               }\r
+                                                                                               else if ( str3.Equals( "HHVelocityMin" ) )\r
+                                                                                               {\r
+                                                                                                       this.nVelocityMin.HH = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 127, this.nVelocityMin.HH);\r
+                                                                                               }\r
+                                                                                               else if ( str3.Equals( "SDVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
+                                                                                               {\r
+                                                                                                       this.nVelocityMin.SD = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.SD );\r
+                                                                                               }\r
+                                                                                               else if ( str3.Equals( "BDVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
+                                                                                               {\r
+                                                                                                       this.nVelocityMin.BD = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.BD );\r
+                                                                                               }\r
+                                                                                               else if ( str3.Equals( "HTVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
+                                                                                               {\r
+                                                                                                       this.nVelocityMin.HT = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.HT );\r
+                                                                                               }\r
+                                                                                               else if ( str3.Equals( "LTVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
+                                                                                               {\r
+                                                                                                       this.nVelocityMin.LT = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.LT );\r
+                                                                                               }\r
+                                                                                               else if ( str3.Equals( "FTVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
+                                                                                               {\r
+                                                                                                       this.nVelocityMin.FT = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.FT );\r
+                                                                                               }\r
+                                                                                               else if ( str3.Equals( "CYVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
+                                                                                               {\r
+                                                                                                       this.nVelocityMin.CY = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.CY );\r
                                                                                                }\r
-                                                                                               else if ( str3.Equals("VelocityMin") )                          // #23857 2010 12.12 yyagi\r
+                                                                                               else if ( str3.Equals( "RDVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
                                                                                                {\r
-                                                                                                       this.n切り捨て下限Velocity = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 127, this.n切り捨て下限Velocity);\r
+                                                                                                       this.nVelocityMin.RD = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.RD );\r
                                                                                                }\r
                                                                                                continue;\r
                                                                                        }\r