OSDN Git Service

#24765 不可視チップがあると演奏時IndexPutOfRangeExceptionが発生する問題を修正。(ロジックの順番を変更しただけ)
[dtxmania/dtxmania.git] / DTXManiaプロジェクト / コード / ステージ / 07.演奏 / ドラム画面 / CStage演奏ドラム画面.cs
index 5987fab..0b32a6b 100644 (file)
@@ -1376,25 +1376,25 @@ namespace DTXMania
                        {\r
                                return false;\r
                        }\r
-                       bool bPChipIsAutoPlay = bIsAutoPlay[ this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ] ];\r
-                       int nInputAdjustTime = bPChipIsAutoPlay ? 0 : this.nInputAdjustTimeMs.Drums;\r
-                       E判定 e判定 = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
-                       if( e判定 == E判定.Miss )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       this.tチップのヒット処理( nHitTime, pChip );\r
                        int index = pChip.nチャンネル番号;\r
-                       if( ( index >= 0x11 ) && ( index <= 0x1a ) )\r
+                       if ( ( index >= 0x11 ) && ( index <= 0x1a ) )\r
                        {\r
                                index -= 0x11;\r
                        }\r
-                       else if( ( index >= 0x31 ) && ( index <= 0x3a ) )\r
+                       else if ( ( index >= 0x31 ) && ( index <= 0x3a ) )\r
                        {\r
                                index -= 0x31;\r
                        }\r
                        int num2 = this.nチャンネル0Atoレーン07[ index ];\r
                        int nLane = this.nチャンネル0Atoパッド08[ index ];\r
+                       bool bPChipIsAutoPlay = bIsAutoPlay[ num2 ];\r
+                       int nInputAdjustTime = bPChipIsAutoPlay ? 0 : this.nInputAdjustTimeMs.Drums;\r
+                       E判定 e判定 = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime );\r
+                       if( e判定 == E判定.Miss )\r
+                       {\r
+                               return false;\r
+                       }\r
+                       this.tチップのヒット処理( nHitTime, pChip );\r
                        this.actLaneFlushD.Start( (Eドラムレーン) num2, ( (float) n強弱度合い0to127 ) / 127f );\r
                        this.actPad.Hit( nLane );\r
                        if( ( e判定 != E判定.Poor ) && ( e判定 != E判定.Miss ) )\r