OSDN Git Service

#24280 ベースの入力デバイス記録がギターのそれになる問題の修正
[dtxmania/dtxmania.git] / DTXManiaプロジェクト / コード / ステージ / 05.選曲 / CActSelectステータスパネル.cs
index 0ce4839..647a7c5 100644 (file)
@@ -61,7 +61,7 @@ namespace DTXMania
                        for( int i = 0; i < 3; i++ )\r
                        {\r
                                this.n現在選択中の曲のレベル[ i ] = 0;\r
-                               this.n現在選択中の曲の最高ランク[ i ] = 0x63;\r
+                               this.n現在選択中の曲の最高ランク[ i ] = 99;\r
                                this.b現在選択中の曲がフルコンボ[ i ] = false;\r
                                this.db現在選択中の曲の最高スキル値[ i ] = 0.0;\r
                        }\r
@@ -261,87 +261,92 @@ namespace DTXMania
                                //-----------------\r
                                if( ( cスコア != null ) && ( this.txレベル数字 != null ) )\r
                                {\r
-                                       for( int n = 0; n < 3; n++ )\r
+                                       for( int i = 0; i < 3; i++ )\r
                                        {\r
-                                               Rectangle rectangle;\r
-                                               Rectangle rectangle2;\r
-                                               int num14 = this.n本体X + 0x42;\r
-                                               int num15 = ( this.n本体Y + 50 ) + ( n * 0x15 );\r
-                                               int num16 = this.n現在選択中の曲のレベル[ n ];\r
-                                               if( num16 < 0 )\r
+                                               int[,] nDispPosYOffset = { { 0, 21, 42 }, { 0, 42, 21} };       // #24063 2011.1.27 yyagi\r
+                                               Rectangle rect十の位;\r
+                                               Rectangle rect一の位;\r
+                                               int nDispPosX = this.n本体X + 66;\r
+                                               int nDispPosY = this.n本体Y + 50 + nDispPosYOffset[ (CDTXMania.ConfigIni.bIsSwappedGuitarBass? 1 : 0), i ];\r
+                                               int nLevel = this.n現在選択中の曲のレベル[ i ];\r
+                                               if( nLevel < 0 )\r
                                                {\r
-                                                       num16 = 0;\r
+                                                       nLevel = 0;\r
                                                }\r
-                                               else if( num16 > 0x63 )\r
+                                               else if( nLevel > 99 )\r
                                                {\r
-                                                       num16 = 0x63;\r
+                                                       nLevel = 99;\r
                                                }\r
-                                               int num17 = ( ( num16 / 0x19 ) < 2 ) ? 0x40 : 0;\r
-                                               int num18 = ( ( ( num16 / 0x19 ) % 2 ) == 0 ) ? 0x40 : 0;\r
-                                               if( num16 == 0 )\r
+                                               // Lv25刻みで、白→オレンジ→黄色→赤、と色を変える\r
+                                               // \r
+                                               int nRectOffsetX = ( ( nLevel / 25 ) < 2 ) ? 64 : 0;\r
+                                               int nRectOffsetY = ( ( ( nLevel / 25 ) % 2 ) == 0 ) ? 64 : 0;\r
+                                               if( nLevel == 0 )\r
                                                {\r
-                                                       rectangle = this.rc数字[ 11 ];\r
-                                                       rectangle2 = this.rc数字[ 11 ];\r
+                                                       rect十の位 = this.rc数字[ 11 ];            // "--"\r
+                                                       rect一の位 = this.rc数字[ 11 ];            // "-- "\r
                                                }\r
                                                else if( cスコア.譜面情報.レベルを非表示にする )\r
                                                {\r
-                                                       rectangle = this.rc数字[ 10 ];\r
-                                                       rectangle2 = this.rc数字[ 10 ];\r
+                                                       rect十の位 = this.rc数字[ 10 ];            // "?"\r
+                                                       rect一の位 = this.rc数字[ 10 ];            // "?"\r
                                                }\r
                                                else\r
                                                {\r
-                                                       rectangle = this.rc数字[ num16 / 10 ];\r
-                                                       rectangle2 = this.rc数字[ num16 % 10 ];\r
+                                                       rect十の位 = this.rc数字[ nLevel / 10 ];\r
+                                                       rect一の位 = this.rc数字[ nLevel % 10 ];\r
                                                }\r
-                                               rectangle.X += num17;\r
-                                               rectangle.Y += num18;\r
-                                               rectangle2.X += num17;\r
-                                               rectangle2.Y += num18;\r
-                                               this.txレベル数字.t2D描画( CDTXMania.app.Device, num14, num15, rectangle );\r
-                                               this.txレベル数字.t2D描画( CDTXMania.app.Device, num14 + 13, num15, rectangle2 );\r
+                                               rect十の位.X += nRectOffsetX;\r
+                                               rect十の位.Y += nRectOffsetY;\r
+                                               rect一の位.X += nRectOffsetX;\r
+                                               rect一の位.Y += nRectOffsetY;\r
+                                               this.txレベル数字.t2D描画( CDTXMania.app.Device, nDispPosX,      nDispPosY, rect十の位 );\r
+                                               this.txレベル数字.t2D描画( CDTXMania.app.Device, nDispPosX + 13, nDispPosY, rect一の位 );\r
                                        }\r
                                }\r
                                //-----------------\r
                                #endregion\r
                                #region [ 選択曲の 最高スキル値ゲージ+数値の描画 ]\r
                                //-----------------\r
-                               for( int j = 0; j < 3; j++ )\r
+                               for( int i = 0; i < 3; i++ )\r
                                {\r
-                                       if( this.n現在選択中の曲のレベル[ j ] != 0 )\r
+                                       int[ , ] nDispPosYOffset = { { 0, 21, 42 }, { 0, 42, 21 } };\r
+                                       if ( this.n現在選択中の曲のレベル[ i ] != 0 )\r
                                        {\r
-                                               double num20 = this.db現在選択中の曲の最高スキル値[ j ];\r
-                                               if( num20 != 0.0 )\r
+                                               double dMaxSkill = this.db現在選択中の曲の最高スキル値[ i ];\r
+                                               if( dMaxSkill != 0.0 )\r
                                                {\r
-                                                       int num21 = this.n本体X + 100;\r
-                                                       int num22 = ( this.n本体Y + 0x35 ) + ( j * 0x15 );\r
-                                                       this.txスキルゲージ.t2D描画( CDTXMania.app.Device, num21, num22, new Rectangle( 0, 0, (int) ( ( 170.0 * num20 ) / 100.0 ), 10 ) );\r
+                                                       int nDispPosX = this.n本体X + 100;\r
+                                                       int nDispPosY = this.n本体Y + 53 + nDispPosYOffset[ ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ? 1 : 0 ), i ];\r
+                                                       this.txスキルゲージ.t2D描画( CDTXMania.app.Device, nDispPosX, nDispPosY,\r
+                                                                                                               new Rectangle( 0, 0, (int) ( 170.0 * dMaxSkill / 100.0 ), 10 ) );\r
                                                }\r
-                                               string str2 = num20.ToString( "##0.00" );\r
-                                               int num23 = 0;\r
-                                               foreach( char ch in str2 )\r
+                                               string sMaxSkillString = dMaxSkill.ToString( "##0.00" );\r
+                                               int nMaxSkillStringWidth = 0;\r
+                                               foreach( char ch in sMaxSkillString )\r
                                                {\r
-                                                       for( int num24 = 0; num24 < 12; num24++ )\r
+                                                       for( int j = 0; j < 12; j++ )\r
                                                        {\r
-                                                               if( ch == this.st数字[ num24 ].ch )\r
+                                                               if( ch == this.st数字[ j ].ch )\r
                                                                {\r
-                                                                       num23 += this.st数字[ num24 ].rc.Width - 1;\r
+                                                                       nMaxSkillStringWidth += this.st数字[ j ].rc.Width - 1;\r
                                                                        break;\r
                                                                }\r
                                                        }\r
                                                }\r
-                                               int num25 = ( this.n本体X + 0xb6 ) - ( num23 / 2 );\r
-                                               int num26 = ( this.n本体Y + 0x35 ) + ( j * 0x15 );\r
-                                               foreach( char ch2 in str2 )\r
+                                               int x = this.n本体X + 182 - nMaxSkillStringWidth / 2;\r
+                                               int y = this.n本体Y + 53 + nDispPosYOffset[ ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ? 1 : 0 ), i ];\r
+                                               foreach( char ch in sMaxSkillString )\r
                                                {\r
-                                                       for( int num27 = 0; num27 < 12; num27++ )\r
+                                                       for( int j = 0; j < 12; j++ )\r
                                                        {\r
-                                                               if( ch2 == this.st数字[ num27 ].ch )\r
+                                                               if( ch == this.st数字[ j ].ch )\r
                                                                {\r
                                                                        if( this.txゲージ用数字他 != null )\r
                                                                        {\r
-                                                                               this.txゲージ用数字他.t2D描画( CDTXMania.app.Device, num25, num26, this.st数字[ num27 ].rc );\r
+                                                                               this.txゲージ用数字他.t2D描画( CDTXMania.app.Device, x, y, this.st数字[ j ].rc );\r
                                                                        }\r
-                                                                       num25 += this.st数字[ num27 ].rc.Width - 1;\r
+                                                                       x += this.st数字[ j ].rc.Width - 1;\r
                                                                        break;\r
                                                                }\r
                                                        }\r
@@ -349,11 +354,11 @@ namespace DTXMania
                                        }\r
                                        else\r
                                        {\r
-                                               int num28 = ( this.n本体X + 0xb6 ) - 20;\r
-                                               int num29 = ( this.n本体Y + 0x35 ) + ( j * 0x15 );\r
+                                               int x = this.n本体X + 182 - 20;\r
+                                               int y = this.n本体Y + 53 + nDispPosYOffset[ ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ? 1 : 0 ), i ];\r
                                                if( this.txゲージ用数字他 != null )\r
                                                {\r
-                                                       this.txゲージ用数字他.t2D描画( CDTXMania.app.Device, num28, num29, new Rectangle( 0, 0x16, 40, 10 ) );\r
+                                                       this.txゲージ用数字他.t2D描画( CDTXMania.app.Device, x, y, new Rectangle( 0, 22, 40, 10 ) );\r
                                                }\r
                                        }\r
                                }\r
@@ -361,24 +366,25 @@ namespace DTXMania
                                #endregion\r
                                #region [ 選択曲の 最高ランクの描画 ]\r
                                //-----------------\r
-                               for( int k = 0; k < 3; k++ )\r
+                               for( int i = 0; i < 3; i++ )\r
                                {\r
-                                       int num31 = this.n現在選択中の曲の最高ランク[ k ];\r
-                                       if( num31 != 0x63 )\r
+                                       int nMaxRank = this.n現在選択中の曲の最高ランク[ i ];\r
+                                       if( nMaxRank != 99 )\r
                                        {\r
-                                               if( num31 < 0 )\r
+                                               if ( nMaxRank < 0 )\r
                                                {\r
-                                                       num31 = 0;\r
+                                                       nMaxRank = 0;\r
                                                }\r
-                                               if( num31 > 6 )\r
+                                               if( nMaxRank > 6 )\r
                                                {\r
-                                                       num31 = 6;\r
+                                                       nMaxRank = 6;\r
                                                }\r
-                                               int num32 = this.n本体X + 0x116;\r
-                                               int num33 = ( this.n本体Y + 0x37 ) + ( k * 0x15 );\r
+                                               int[ , ] nDispPosYOffset = { { 0, 21, 42 }, { 0, 42, 21 } };\r
+                                               int x = this.n本体X + 278;\r
+                                               int y = this.n本体Y + 55 + nDispPosYOffset[ ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ? 1 : 0 ), i ];\r
                                                if( this.txゲージ用数字他 != null )\r
                                                {\r
-                                                       this.txゲージ用数字他.t2D描画( CDTXMania.app.Device, num32, num33, this.rcランク[ num31 ] );\r
+                                                       this.txゲージ用数字他.t2D描画( CDTXMania.app.Device, x, y, this.rcランク[ nMaxRank ] );\r
                                                }\r
                                        }\r
                                }\r
@@ -386,16 +392,17 @@ namespace DTXMania
                                #endregion\r
                                #region [ 選択曲の FullCombo の 描画 ]\r
                                //-----------------\r
-                               Rectangle rectangle3 = new Rectangle( 30, 0x20, 30, 0x10 );\r
-                               for( int m = 0; m < 3; m++ )\r
+                               Rectangle rectFullCombo = new Rectangle( 30, 32, 30, 16 );\r
+                               for( int i = 0; i < 3; i++ )\r
                                {\r
-                                       if( this.b現在選択中の曲がフルコンボ[ m ] )\r
+                                       if( this.b現在選択中の曲がフルコンボ[ i ] )\r
                                        {\r
-                                               int num35 = this.n本体X + 290;\r
-                                               int num36 = ( this.n本体Y + 0x35 ) + ( m * 0x15 );\r
+                                               int[ , ] nDispPosYOffset = { { 0, 21, 42 }, { 0, 42, 21 } };\r
+                                               int x = this.n本体X + 290;\r
+                                               int y = this.n本体Y + 53 + nDispPosYOffset[ (CDTXMania.ConfigIni.bIsSwappedGuitarBass ? 1 : 0), i ];\r
                                                if( this.txゲージ用数字他 != null )\r
                                                {\r
-                                                       this.txゲージ用数字他.t2D描画( CDTXMania.app.Device, num35, num36, rectangle3 );\r
+                                                       this.txゲージ用数字他.t2D描画( CDTXMania.app.Device, x, y, rectFullCombo );\r
                                                }\r
                                        }\r
                                }\r