OSDN Git Service

#none ギターとベースの入力処理をひとまとめにした。
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sun, 19 Jun 2011 17:14:29 +0000 (17:14 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sun, 19 Jun 2011 17:14:29 +0000 (17:14 +0000)
#none ギターとベースのウェイリング処理のリファクタ。何とかロジックは1種にし、違いを変数の値だけにした。(ただしロジックはまだ単一にまとめておらず、1種のロジックが4箇所にある状態。)

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

DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs

index e5cc4f5..fb69e1d 100644 (file)
@@ -1902,71 +1902,48 @@ namespace DTXMania
                }\r
                protected abstract void t進行描画・チップ・ドラムス( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip );\r
                protected abstract void t進行描画・チップ・ギター( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip );\r
-               protected virtual void té\80²è¡\8cæ\8f\8fç\94»ã\83»ã\83\81ã\83\83ã\83\97ã\83»ã\82®ã\82¿ã\83¼ã\83»ã\82¦ã\82§ã\82¤ã\83ªã\83³ã\82°( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+               protected virtual void té\80²è¡\8cæ\8f\8fç\94»ã\83»ã\83\81ã\83\83ã\83\97ã\83»ã\82®ã\82¿ã\83¼ã\83\99ã\83¼ã\82¹ã\83»ã\82¦ã\82§ã\82¤ã\83ªã\83³ã\82°( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip, E楽å\99¨ã\83\91ã\83¼ã\83\88 inst )\r
                {\r
+                       int indexInst = (int) inst;\r
                        if ( configIni.bGuitar有効 )\r
                        {\r
-                               if ( configIni.bSudden.Guitar )\r
+                               if ( configIni.bSudden[indexInst] )\r
                                {\r
-                                       pChip.b可視 = pChip.nバーからの距離dot.Guitar < 200;\r
+                                       pChip.b可視 = pChip.nバーからの距離dot[indexInst] < 200;\r
                                }\r
-                               if ( configIni.bHidden.Guitar && ( pChip.nバーからの距離dot.Guitar < 100 ) )\r
+                               if ( configIni.bHidden[indexInst] && ( pChip.nバーからの距離dot[indexInst] < 100 ) )\r
                                {\r
                                        pChip.b可視 = false;\r
                                }\r
                                //\r
                                // ここにチップ更新処理が入る(overrideで入れる)。といっても座標とチップサイズが違うだけで処理はまるまる同じ。\r
                                //\r
-                               if ( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) )\r
+                               if ( !pChip.bHit && ( pChip.nバーからの距離dot[indexInst] < 0 ) )\r
                                {\r
-                                       if ( pChip.nバーからの距離dot.Guitar < -234 )    // #25253 2011.5.29 yyagi: Don't set pChip.bHit=true for wailing at once. It need to 1sec-delay (234pix per 1sec). \r
+                                       if ( pChip.nバーからの距離dot[indexInst] < -234 )        // #25253 2011.5.29 yyagi: Don't set pChip.bHit=true for wailing at once. It need to 1sec-delay (234pix per 1sec). \r
                                        {\r
                                                pChip.bHit = true;\r
                                        }\r
-                                       if ( configIni.bAutoPlay.Guitar )\r
+                                       if ( configIni.bAutoPlay[indexInst] )\r
                                        {\r
-                                               pChip.bHit = true;                                                      // #25253 2011.5.29 yyagi: Set pChip.bHit=true if autoplay.\r
-                                               this.actWailingBonus.Start( E楽器パート.GUITAR, this.r現在の歓声Chip.Guitar );\r
+                                               pChip.bHit = true;                                                              // #25253 2011.5.29 yyagi: Set pChip.bHit=true if autoplay.\r
+                                               this.actWailingBonus.Start( inst, this.r現在の歓声Chip[indexInst] );\r
                                        }\r
                                }\r
                                return;\r
                        }\r
                        pChip.bHit = true;\r
-\r
+               }\r
+               protected virtual void t進行描画・チップ・ギター・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
+               {\r
+                       t進行描画・チップ・ギターベース・ウェイリング( configIni, ref dTX, ref pChip, E楽器パート.GUITAR );\r
                }\r
                protected abstract void t進行描画・チップ・フィルイン( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip );\r
                protected abstract void t進行描画・チップ・小節線( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip );\r
                protected abstract void t進行描画・チップ・ベース( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip );\r
                protected virtual void t進行描画・チップ・ベース・ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip )\r
                {\r
-                       if ( configIni.bGuitar有効 )\r
-                       {\r
-                               if ( configIni.bSudden.Bass)\r
-                               {\r
-                                       pChip.b可視 = pChip.nバーからの距離dot.Bass < 200;\r
-                               }\r
-                               if ( configIni.bHidden.Bass && ( pChip.nバーからの距離dot.Bass < 100 ) )\r
-                               {\r
-                                       pChip.b可視 = false;\r
-                               }\r
-                               //\r
-                               // ここにチップ更新処理が入る(overrideで入れる)。といっても座標とチップサイズが違うだけで処理はまるまる同じ。\r
-                               //\r
-                               if ( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) )\r
-                               {\r
-                                       if ( pChip.nバーからの距離dot.Bass < -234 )              // #25253 2011.5.29 yyagi: Don't set pChip.bHit=true for wailing at once. It need to 1sec-delay (234pix per 1sec).\r
-                                       {\r
-                                               pChip.bHit = true;\r
-                                       }\r
-                                       if ( configIni.bAutoPlay.Bass )\r
-                                       {\r
-                                               this.actWailingBonus.Start( E楽器パート.BASS, this.r現在の歓声Chip.Bass );\r
-                                               pChip.bHit = true;                                                      // #25253 2011.5.29 yyagi: Set pChip.bHit=true if autoplay.\r
-                                       }\r
-                               }\r
-                               return;\r
-                       }\r
-                       pChip.bHit = true;\r
+                       t進行描画・チップ・ギターベース・ウェイリング( configIni, ref dTX, ref pChip, E楽器パート.BASS );\r
                }\r
                protected abstract void t進行描画・チップ・空打ち音設定・ドラム( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip );\r
                protected void t進行描画・チップアニメ()\r
@@ -2171,284 +2148,10 @@ namespace DTXMania
                protected virtual void t入力処理・ギター()\r
                {\r
                        t入力処理・ギターベース( E楽器パート.GUITAR );\r
-\r
-                       //#region [ スクロール速度変更 ]\r
-                       //if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.B ) )\r
-                       //{\r
-                       //    CDTXMania.ConfigIni.n譜面スクロール速度.Guitar = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Guitar + 1, 0x7cf );\r
-                       //}\r
-                       //if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.R ) )\r
-                       //{\r
-                       //    CDTXMania.ConfigIni.n譜面スクロール速度.Guitar = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Guitar - 1, 0 );\r
-                       //}\r
-                       //#endregion\r
-\r
-                       //if ( !CDTXMania.ConfigIni.bGuitar有効 || !CDTXMania.DTX.bチップがある.Guitar )\r
-                       //{\r
-                       //    return;\r
-                       //}\r
-                       //    if ( bIsAutoPlay.Guitar )\r
-                       //    {\r
-                       //        CDTX.CChip chip = this.r次にくるギターChipを更新して返す();\r
-                       //        if ( chip != null )\r
-                       //        {\r
-                       //            if ( ( chip.nチャンネル番号 & 4 ) != 0 )\r
-                       //            {\r
-                       //                this.actLaneFlushGB.Start( 0 );\r
-                       //                this.actRGB.Push( 0 );\r
-                       //            }\r
-                       //            if ( ( chip.nチャンネル番号 & 2 ) != 0 )\r
-                       //            {\r
-                       //                this.actLaneFlushGB.Start( 1 );\r
-                       //                this.actRGB.Push( 1 );\r
-                       //            }\r
-                       //            if ( ( chip.nチャンネル番号 & 1 ) != 0 )\r
-                       //            {\r
-                       //                this.actLaneFlushGB.Start( 2 );\r
-                       //                this.actRGB.Push( 2 );\r
-                       //            }\r
-                       //        }\r
-                       //    }\r
-                       //    else\r
-                       //    {\r
-                       //        int flagR = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.R ) ? 4 : 0;\r
-                       //        this.t入力メソッド記憶( E楽器パート.GUITAR );\r
-                       //        int flagG = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.G ) ? 2 : 0;\r
-                       //        this.t入力メソッド記憶( E楽器パート.GUITAR );\r
-                       //        int flagB = CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.B ) ? 1 : 0;\r
-                       //        this.t入力メソッド記憶( E楽器パート.GUITAR );\r
-                       //        int flagRGB = flagR | flagG | flagB;\r
-                       //        if ( flagR != 0 )\r
-                       //        {\r
-                       //            this.actLaneFlushGB.Start( 0 );\r
-                       //            this.actRGB.Push( 0 );\r
-                       //        }\r
-                       //        if ( flagG != 0 )\r
-                       //        {\r
-                       //            this.actLaneFlushGB.Start( 1 );\r
-                       //            this.actRGB.Push( 1 );\r
-                       //        }\r
-                       //        if ( flagB != 0 )\r
-                       //        {\r
-                       //            this.actLaneFlushGB.Start( 2 );\r
-                       //            this.actRGB.Push( 2 );\r
-                       //        }\r
-                       //        List<STInputEvent> events = CDTXMania.Pad.GetEvents( E楽器パート.GUITAR, Eパッド.Pick );\r
-                       //        if ( ( events != null ) && ( events.Count > 0 ) )\r
-                       //        {\r
-                       //            foreach ( STInputEvent event2 in events )\r
-                       //            {\r
-                       //                if ( !event2.b押された )\r
-                       //                {\r
-                       //                    continue;\r
-                       //                }\r
-                       //                this.t入力メソッド記憶( E楽器パート.GUITAR );\r
-                       //                long nTime = event2.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
-                       //                CDTX.CChip pChip = this.r指定時刻に一番近い未ヒットChip( nTime, 0x2f, this.nInputAdjustTimeMs.Guitar );\r
-                       //                E判定 e判定 = this.e指定時刻からChipのJUDGEを返す( nTime, pChip, this.nInputAdjustTimeMs.Guitar );\r
-                       //                if ( ( ( pChip != null ) && ( ( pChip.nチャンネル番号 & 15 ) == flagRGB ) ) && ( e判定 != E判定.Miss ) )\r
-                       //                {\r
-                       //                    if ( ( flagR != 0 ) || ( flagRGB == 0 ) )\r
-                       //                    {\r
-                       //                        this.actChipFireGB.Start( 0 );\r
-                       //                    }\r
-                       //                    if ( ( flagG != 0 ) || ( flagRGB == 0 ) )\r
-                       //                    {\r
-                       //                        this.actChipFireGB.Start( 1 );\r
-                       //                    }\r
-                       //                    if ( ( flagB != 0 ) || ( flagRGB == 0 ) )\r
-                       //                    {\r
-                       //                        this.actChipFireGB.Start( 2 );\r
-                       //                    }\r
-                       //                    this.tチップのヒット処理( nTime, pChip );\r
-                       //                    this.tサウンド再生( pChip, CDTXMania.Timer.nシステム時刻, E楽器パート.GUITAR, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Guitar, e判定 == E判定.Poor );\r
-                       //                    CDTX.CChip item = this.r指定時刻に一番近い未ヒットChip( nTime, 0x28, this.nInputAdjustTimeMs.Guitar, 140 );\r
-                       //                    if ( item != null )\r
-                       //                    {\r
-                       //                        this.queWailing.Guitar.Enqueue( item );\r
-                       //                    }\r
-                       //                    continue;\r
-                       //                }\r
-\r
-                       //                CDTX.CChip chipPicked;\r
-                       //                if ( ( ( chipPicked = this.r現在の空うちギターChip ) != null ) || ( ( chipPicked = this.r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( nTime, 0x2f, this.nInputAdjustTimeMs.Guitar ) ) != null ) )\r
-                       //                {\r
-                       //                    this.tサウンド再生( chipPicked, CDTXMania.Timer.nシステム時刻, E楽器パート.GUITAR, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Guitar, true );\r
-                       //                }\r
-                       //                if ( !CDTXMania.ConfigIni.bLight.Guitar )\r
-                       //                {\r
-                       //                    this.tチップのヒット処理・BadならびにTight時のMiss( E楽器パート.GUITAR );\r
-                       //                }\r
-                       //            }\r
-                       //        }\r
-                       //        List<STInputEvent> list = CDTXMania.Pad.GetEvents( E楽器パート.GUITAR, Eパッド.Wail );\r
-                       //        if ( ( list != null ) && ( list.Count > 0 ) )\r
-                       //        {\r
-                       //            foreach ( STInputEvent eventWailed in list )\r
-                       //            {\r
-                       //                if ( !eventWailed.b押された )\r
-                       //                {\r
-                       //                    continue;\r
-                       //                }\r
-                       //                long nTimeWailed = eventWailed.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
-                       //                CDTX.CChip chipWailing;\r
-                       //                while ( ( this.queWailing.Guitar.Count > 0 ) && ( ( chipWailing = this.queWailing.Guitar.Dequeue() ) != null ) )\r
-                       //                {\r
-                       //                    if ( ( nTimeWailed - chipWailing.n発声時刻ms ) <= 1000 )              // #24245 2011.1.26 yyagi: 800 -> 1000\r
-                       //                    {\r
-                       //                        chipWailing.bHit = true;\r
-                       //                        this.actWailingBonus.Start( E楽器パート.GUITAR, this.r現在の歓声Chip.Guitar );\r
-                       //                        if ( !bIsAutoPlay.Guitar )\r
-                       //                        {\r
-                       //                            int nCombo = ( this.actCombo.n現在のコンボ数.Guitar < 500 ) ? this.actCombo.n現在のコンボ数.Guitar : 500;\r
-                       //                            this.actScore.Set( E楽器パート.GUITAR, this.actScore.Get( E楽器パート.GUITAR ) + ( nCombo * 3000L ) );          // #24245 2011.1.26 yyagi changed DRUMS->GUITAR, add nCombo conditions\r
-                       //                        }\r
-                       //                    }\r
-                       //                }\r
-                       //            }\r
-                       //        }\r
-                       //    }\r
                }\r
                protected virtual void t入力処理・ベース()\r
                {\r
                        t入力処理・ギターベース( E楽器パート.BASS );\r
-\r
-                       //#region [ スクロール速度変更 ]\r
-                       //if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.B ) )\r
-                       //{\r
-                       //    CDTXMania.ConfigIni.n譜面スクロール速度.Bass = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Bass + 1, 0x7cf );\r
-                       //}\r
-                       //if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.Decide ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.R ) )\r
-                       //{\r
-                       //    CDTXMania.ConfigIni.n譜面スクロール速度.Bass = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Bass - 1, 0 );\r
-                       //}\r
-                       //#endregion\r
-\r
-                       //if ( !CDTXMania.ConfigIni.bGuitar有効 || !CDTXMania.DTX.bチップがある.Bass )\r
-                       //{\r
-                       //    return;\r
-                       //}\r
-                       //    if ( bIsAutoPlay.Bass )\r
-                       //    {\r
-                       //        CDTX.CChip chip = this.r次にくるベースChipを更新して返す();\r
-                       //        if ( chip != null )\r
-                       //        {\r
-                       //            if ( ( chip.nチャンネル番号 & 4 ) != 0 )\r
-                       //            {\r
-                       //                this.actLaneFlushGB.Start( 3 );\r
-                       //                this.actRGB.Push( 3 );\r
-                       //            }\r
-                       //            if ( ( chip.nチャンネル番号 & 2 ) != 0 )\r
-                       //            {\r
-                       //                this.actLaneFlushGB.Start( 4 );\r
-                       //                this.actRGB.Push( 4 );\r
-                       //            }\r
-                       //            if ( ( chip.nチャンネル番号 & 1 ) != 0 )\r
-                       //            {\r
-                       //                this.actLaneFlushGB.Start( 5 );\r
-                       //                this.actRGB.Push( 5 );\r
-                       //            }\r
-                       //        }\r
-                       //    }\r
-                       //    else\r
-                       //    {\r
-                       //        int flagR = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.R ) ? 4 : 0;\r
-                       //        this.t入力メソッド記憶( E楽器パート.BASS );\r
-                       //        int flagG = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.G ) ? 2 : 0;\r
-                       //        this.t入力メソッド記憶( E楽器パート.BASS );\r
-                       //        int flagB = CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.B ) ? 1 : 0;\r
-                       //        this.t入力メソッド記憶( E楽器パート.BASS );\r
-                       //        int flagRGB = flagR | flagG | flagB;\r
-                       //        if ( flagR != 0 )\r
-                       //        {\r
-                       //            this.actLaneFlushGB.Start( 3 );\r
-                       //            this.actRGB.Push( 3 );\r
-                       //        }\r
-                       //        if ( flagG != 0 )\r
-                       //        {\r
-                       //            this.actLaneFlushGB.Start( 4 );\r
-                       //            this.actRGB.Push( 4 );\r
-                       //        }\r
-                       //        if ( flagB != 0 )\r
-                       //        {\r
-                       //            this.actLaneFlushGB.Start( 5 );\r
-                       //            this.actRGB.Push( 5 );\r
-                       //        }\r
-                       //        List<STInputEvent> events = CDTXMania.Pad.GetEvents( E楽器パート.BASS, Eパッド.Pick );\r
-                       //        if ( ( events != null ) && ( events.Count > 0 ) )\r
-                       //        {\r
-                       //            foreach ( STInputEvent event2 in events )\r
-                       //            {\r
-                       //                if ( !event2.b押された )\r
-                       //                {\r
-                       //                    continue;\r
-                       //                }\r
-                       //                this.t入力メソッド記憶( E楽器パート.BASS );\r
-                       //                long nTime = event2.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
-                       //                CDTX.CChip pChip = this.r指定時刻に一番近い未ヒットChip( nTime, 0xaf, this.nInputAdjustTimeMs.Bass );\r
-                       //                E判定 e判定 = this.e指定時刻からChipのJUDGEを返す( nTime, pChip, this.nInputAdjustTimeMs.Bass );\r
-                       //                if ( ( ( pChip != null ) && ( ( pChip.nチャンネル番号 & 15 ) == flagRGB ) ) && ( e判定 != E判定.Miss ) )\r
-                       //                {\r
-                       //                    if ( ( flagR != 0 ) || ( flagRGB == 0 ) )\r
-                       //                    {\r
-                       //                        this.actChipFireGB.Start( 3 );\r
-                       //                    }\r
-                       //                    if ( ( flagG != 0 ) || ( flagRGB == 0 ) )\r
-                       //                    {\r
-                       //                        this.actChipFireGB.Start( 4 );\r
-                       //                    }\r
-                       //                    if ( ( flagB != 0 ) || ( flagRGB == 0 ) )\r
-                       //                    {\r
-                       //                        this.actChipFireGB.Start( 5 );\r
-                       //                    }\r
-                       //                    this.tチップのヒット処理( nTime, pChip );\r
-                       //                    this.tサウンド再生( pChip, CDTXMania.Timer.nシステム時刻, E楽器パート.BASS, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Bass, e判定 == E判定.Poor );\r
-                       //                    CDTX.CChip item = this.r指定時刻に一番近い未ヒットChip( nTime, 0xa8, this.nInputAdjustTimeMs.Bass, 140 );\r
-                       //                    if ( item != null )\r
-                       //                    {\r
-                       //                        this.queWailing.Bass.Enqueue( item );\r
-                       //                    }\r
-                       //                    continue;\r
-                       //                }\r
-\r
-                       //                CDTX.CChip chipPicked;\r
-                       //                if ( ( ( chipPicked = this.r現在の空うちベースChip ) != null ) || ( ( chipPicked = this.r指定時刻に一番近いChip・ヒット未済問わず不可視考慮( nTime, 0xaf, this.nInputAdjustTimeMs.Bass ) ) != null ) )\r
-                       //                {\r
-                       //                    this.tサウンド再生( chipPicked, CDTXMania.Timer.nシステム時刻, E楽器パート.BASS, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Bass, true );\r
-                       //                }\r
-                       //                if ( !CDTXMania.ConfigIni.bLight.Bass )\r
-                       //                {\r
-                       //                    this.tチップのヒット処理・BadならびにTight時のMiss( E楽器パート.BASS );\r
-                       //                }\r
-                       //            }\r
-                       //        }\r
-                       //        List<STInputEvent> list = CDTXMania.Pad.GetEvents( E楽器パート.BASS, Eパッド.Wail );\r
-                       //        if ( ( list != null ) && ( list.Count > 0 ) )\r
-                       //        {\r
-                       //            foreach ( STInputEvent eventWailed in list )\r
-                       //            {\r
-                       //                if ( !eventWailed.b押された )\r
-                       //                {\r
-                       //                    continue;\r
-                       //                }\r
-                       //                long nTimeWailed = eventWailed.nTimeStamp - CDTXMania.Timer.n前回リセットした時のシステム時刻;\r
-                       //                CDTX.CChip chipWailing;\r
-                       //                while ( ( this.queWailing.Bass.Count > 0 ) && ( ( chipWailing = this.queWailing.Bass.Dequeue() ) != null ) )\r
-                       //                {\r
-                       //                    if ( ( nTimeWailed - chipWailing.n発声時刻ms ) <= 1000 )              // #24245 2011.1.26 yyagi: 800 -> 1000\r
-                       //                    {\r
-                       //                        chipWailing.bHit = true;\r
-                       //                        this.actWailingBonus.Start( E楽器パート.BASS, this.r現在の歓声Chip.Bass );\r
-                       //                        if ( !bIsAutoPlay.Bass )\r
-                       //                        {\r
-                       //                            int nCombo = ( this.actCombo.n現在のコンボ数.Bass < 500 ) ? this.actCombo.n現在のコンボ数.Bass : 500;\r
-                       //                            this.actScore.Set( E楽器パート.BASS, this.actScore.Get( E楽器パート.BASS ) + ( nCombo * 3000L ) );              // #24245 2011.1.26 yyagi changed DRUMS->BASS, add nCombo conditions\r
-                       //                        }\r
-                       //                    }\r
-                       //                }\r
-                       //            }\r
-                       //        }\r
-                       //    }\r
                }\r
 \r
 \r
index decd067..f652146 100644 (file)
@@ -400,27 +400,37 @@ namespace DTXMania
                                //\r
                                if ( !pChip.bHit && pChip.b可視 )\r
                                {\r
-                                       int num10 = 0x19;\r
-                                       int num11 = configIni.bReverse.Guitar ? ( 0x171 - pChip.nバーからの距離dot.Guitar ) : ( 40 + pChip.nバーからの距離dot.Guitar );\r
-                                       int num12 = num11;\r
-                                       int num13 = 0;\r
-                                       if ( ( num12 < ( 0x199 + num10 ) ) && ( num12 > -num10 ) )\r
+                                       int[] y_base = { 40, 369 };                     // ドラム画面かギター画面かで変わる値\r
+                                       int offset = 0;                                         // ドラム画面かギター画面かで変わる値\r
+\r
+                                       const int WailingWidth = 20;            // 4種全て同じ値\r
+                                       const int WailingHeight = 50;           // 4種全て同じ値\r
+                                       const int baseTextureOffsetX = 96;      // ドラム画面かギター画面かで変わる値\r
+                                       const int baseTextureOffsetY = 0;       // ドラム画面かギター画面かで変わる値\r
+                                       const int drawX = 139;                          // 4種全て異なる値\r
+\r
+                                       const int numA = 25;                            // 4種全て同じ値;\r
+                                       int y = configIni.bReverse.Guitar ? ( y_base[ 1 ] - pChip.nバーからの距離dot.Guitar ) : ( y_base[ 0 ] + pChip.nバーからの距離dot.Guitar );\r
+                                       int numB = y - offset;                          // 4種全て同じ定義\r
+                                       int numC = 0;                                           // 4種全て同じ初期値\r
+                                       const int numD = 409;                           // ドラム画面かギター画面かで変わる値\r
+                                       if ( ( numB < ( numD + numA ) ) && ( numB > -numA ) )   // 以下のロジックは4種全て同じ\r
                                        {\r
-                                               int num14 = this.ctWailingチップ模様アニメ.n現在の値;\r
-                                               Rectangle rectangle5 = new Rectangle( 0x60 + ( num14 * 20 ), 0, 20, 50 );\r
-                                               if ( num12 < num10 )\r
+                                               int c = this.ctWailingチップ模様アニメ.n現在の値;\r
+                                               Rectangle rect = new Rectangle( baseTextureOffsetX + ( c * WailingWidth ), baseTextureOffsetY, WailingWidth, WailingHeight );\r
+                                               if ( numB < numA )\r
                                                {\r
-                                                       rectangle5.Y += num10 - num12;\r
-                                                       rectangle5.Height -= num10 - num12;\r
-                                                       num13 = num10 - num12;\r
+                                                       rect.Y += numA - numB;\r
+                                                       rect.Height -= numA - numB;\r
+                                                       numC = numA - numB;\r
                                                }\r
-                                               if ( num12 > ( 0x199 - num10 ) )\r
+                                               if ( numB > ( numD - numA ) )\r
                                                {\r
-                                                       rectangle5.Height -= num12 - ( 0x199 - num10 );\r
+                                                       rect.Height -= numB - ( numD - numA );\r
                                                }\r
-                                               if ( ( rectangle5.Bottom > rectangle5.Top ) && ( this.txチップ != null ) )\r
+                                               if ( ( rect.Bottom > rect.Top ) && ( this.txチップ != null ) )\r
                                                {\r
-                                                       this.txチップ.t2D描画( CDTXMania.app.Device, 0x8b, ( num11 - num10 ) + num13, rectangle5 );\r
+                                                       this.txチップ.t2D描画( CDTXMania.app.Device, drawX, ( y - numA ) + numC, rect );\r
                                                }\r
                                        }\r
                                }\r
@@ -577,29 +587,37 @@ namespace DTXMania
                                //\r
                                if ( !pChip.bHit && pChip.b可視 )\r
                                {\r
-                                       int[] y_base = { 40, 0x171 };\r
+                                       int[] y_base = { 40, 369 };                     // ドラム画面かギター画面かで変わる値\r
+                                       int offset = 0;                                         // ドラム画面かギター画面かで変わる値\r
+\r
+                                       const int WailingWidth = 20;            // 4種全て同じ値\r
+                                       const int WailingHeight = 50;           // 4種全て同じ値\r
+                                       const int baseTextureOffsetX = 96;      // ドラム画面かギター画面かで変わる値\r
+                                       const int baseTextureOffsetY = 0;       // ドラム画面かギター画面かで変わる値\r
+                                       const int drawX = 593;                          // 4種全て異なる値\r
 \r
-                                       const int num15 = 0x19;\r
-                                       int y = configIni.bReverse.Bass ? ( y_base[1] - pChip.nバーからの距離dot.Bass ) : ( y_base[0] + pChip.nバーからの距離dot.Bass );\r
-                                       int num17 = y;\r
-                                       int num18 = 0;\r
-                                       if ( ( num17 < ( 0x199 + num15 ) ) && ( num17 > -num15 ) )\r
+                                       const int numA = 25;                            // 4種全て同じ値\r
+                                       int y = configIni.bReverse.Bass ? ( y_base[ 1 ] - pChip.nバーからの距離dot.Bass ) : ( y_base[ 0 ] + pChip.nバーからの距離dot.Bass );\r
+                                       int numB = y - offset;                          // 4種全て同じ定義\r
+                                       int numC = 0;                                           // 4種全て同じ初期値\r
+                                       const int numD = 409;                           // ドラム画面かギター画面かで変わる値\r
+                                       if ( ( numB < ( numD + numA ) ) && ( numB > -numA ) )   // 以下のロジックは4種全て同じ\r
                                        {\r
                                                int c = this.ctWailingチップ模様アニメ.n現在の値;\r
-                                               Rectangle rectangle6 = new Rectangle( 0x60 + ( c * 20 ), 0, 20, 50 );\r
-                                               if ( num17 < num15 )\r
+                                               Rectangle rect = new Rectangle( baseTextureOffsetX + ( c * WailingWidth ), baseTextureOffsetY, WailingWidth, WailingHeight );\r
+                                               if ( numB < numA )\r
                                                {\r
-                                                       rectangle6.Y += num15 - num17;\r
-                                                       rectangle6.Height -= num15 - num17;\r
-                                                       num18 = num15 - num17;\r
+                                                       rect.Y += numA - numB;\r
+                                                       rect.Height -= numA - numB;\r
+                                                       numC = numA - numB;\r
                                                }\r
-                                               if ( num17 > ( 0x199 - num15 ) )\r
+                                               if ( numB > ( numD - numA ) )\r
                                                {\r
-                                                       rectangle6.Height -= num17 - ( 0x199 - num15 );\r
+                                                       rect.Height -= numB - ( numD - numA );\r
                                                }\r
-                                               if ( ( rectangle6.Bottom > rectangle6.Top ) && ( this.txチップ != null ) )\r
+                                               if ( ( rect.Bottom > rect.Top ) && ( this.txチップ != null ) )\r
                                                {\r
-                                                       this.txチップ.t2D描画( CDTXMania.app.Device, 0x251, ( y - num15 ) + num18, rectangle6 );\r
+                                                       this.txチップ.t2D描画( CDTXMania.app.Device, drawX, ( y - numA ) + numC, rect );\r
                                                }\r
                                        }\r
                                }\r
index 10552dd..24d8b83 100644 (file)
@@ -2017,27 +2017,37 @@ namespace DTXMania
                                // 後日、以下の部分を何とかCStage演奏画面共通.csに移したい。\r
                                if ( !pChip.bHit && pChip.b可視 )\r
                                {\r
-                                       int num14 = 0x19;\r
-                                       int num15 = configIni.bReverse.Guitar ? ( 0x176 - pChip.nバーからの距離dot.Guitar ) : ( 0x5f + pChip.nバーからの距離dot.Guitar );\r
-                                       int num16 = num15 - 0x39;\r
-                                       int num17 = 0;\r
-                                       if ( ( num16 < ( 0x163 + num14 ) ) && ( num16 > -num14 ) )\r
+                                       int[] y_base = { 0x5f, 0x176 };         // 判定バーのY座標: ドラム画面かギター画面かで変わる値\r
+                                       int offset = 0x39;                                      // ドラム画面かギター画面かで変わる値\r
+\r
+                                       const int WailingWidth = 20;            // ウェイリングチップ画像の幅: 4種全て同じ値\r
+                                       const int WailingHeight = 50;           // ウェイリングチップ画像の高さ: 4種全て同じ値\r
+                                       const int baseTextureOffsetX = 268;     // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値\r
+                                       const int baseTextureOffsetY = 174;     // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値\r
+                                       const int drawX = 588;                          // ウェイリングチップ描画位置X座標: 4種全て異なる値\r
+\r
+                                       const int numA = 25;                            // 4種全て同じ値\r
+                                       int y = configIni.bReverse.Guitar ? ( y_base[1] - pChip.nバーからの距離dot.Guitar ) : ( y_base[0] + pChip.nバーからの距離dot.Guitar );\r
+                                       int numB = y - offset;                          // 4種全て同じ定義\r
+                                       int numC = 0;                                           // 4種全て同じ初期値\r
+                                       const int numD = 355;                           // ドラム画面かギター画面かで変わる値\r
+                                       if ( ( numB < ( numD + numA ) ) && ( numB > -numA ) )   // 以下のロジックは4種全て同じ\r
                                        {\r
-                                               int num18 = this.ctWailingチップ模様アニメ.n現在の値;\r
-                                               Rectangle rectangle5 = new Rectangle( 0x10c + ( num18 * 20 ), 0xae, 20, 50 );\r
-                                               if ( num16 < num14 )\r
+                                               int c = this.ctWailingチップ模様アニメ.n現在の値;\r
+                                               Rectangle rect = new Rectangle( baseTextureOffsetX + ( c * WailingWidth ), baseTextureOffsetY, WailingWidth, WailingHeight);\r
+                                               if ( numB < numA )\r
                                                {\r
-                                                       rectangle5.Y += num14 - num16;\r
-                                                       rectangle5.Height -= num14 - num16;\r
-                                                       num17 = num14 - num16;\r
+                                                       rect.Y += numA - numB;\r
+                                                       rect.Height -= numA - numB;\r
+                                                       numC = numA - numB;\r
                                                }\r
-                                               if ( num16 > ( 0x163 - num14 ) )\r
+                                               if ( numB > ( numD - numA ) )\r
                                                {\r
-                                                       rectangle5.Height -= num16 - ( 0x163 - num14 );\r
+                                                       rect.Height -= numB - ( numD - numA );\r
                                                }\r
-                                               if ( ( rectangle5.Bottom > rectangle5.Top ) && ( this.txチップ != null ) )\r
+                                               if ( ( rect.Bottom > rect.Top ) && ( this.txチップ != null ) )\r
                                                {\r
-                                                       this.txチップ.t2D描画( CDTXMania.app.Device, 0x24c, ( num15 - num14 ) + num17, rectangle5 );\r
+                                                       this.txチップ.t2D描画( CDTXMania.app.Device, drawX, ( y - numA ) + numC, rect );\r
                                                }\r
                                        }\r
                                }\r
@@ -2222,29 +2232,37 @@ namespace DTXMania
                                //\r
                                if ( !pChip.bHit && pChip.b可視 )\r
                                {\r
-                                       int[] y_base = { 0x5f, 0x176 };\r
-\r
-                                       const int num15 = 0x19;\r
-                                       int y = configIni.bReverse.Bass ? ( y_base[1] - pChip.nバーからの距離dot.Bass ) : ( y_base[0] + pChip.nバーからの距離dot.Bass );\r
-                                       int num17 = y - 0x39;\r
-                                       int num18 = 0;\r
-                                       if ( ( num17 < ( 0x163 + num15 ) ) && ( num17 > -num15 ) )\r
+                                       int[] y_base = { 0x5f, 0x176 };         // 判定バーのY座標: ドラム画面かギター画面かで変わる値\r
+                                       int offset = 0x39;                                      // ドラム画面かギター画面かで変わる値\r
+\r
+                                       const int WailingWidth = 20;            // ウェイリングチップ画像の幅: 4種全て同じ値\r
+                                       const int WailingHeight = 50;           // ウェイリングチップ画像の高さ: 4種全て同じ値\r
+                                       const int baseTextureOffsetX = 268;     // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値\r
+                                       const int baseTextureOffsetY = 174;     // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値\r
+                                       const int drawX = 479;                          // ウェイリングチップ描画位置X座標: 4種全て異なる値\r
+\r
+                                       const int numA = 25;                            // 4種全て同じ値\r
+                                       int y = configIni.bReverse.Bass ? ( y_base[ 1 ] - pChip.nバーからの距離dot.Bass ) : ( y_base[ 0 ] + pChip.nバーからの距離dot.Bass );\r
+                                       int numB = y - offset;                          // 4種全て同じ定義\r
+                                       int numC = 0;                                           // 4種全て同じ初期値\r
+                                       const int numD = 355;                           // ドラム画面かギター画面かで変わる値\r
+                                       if ( ( numB < ( numD + numA ) ) && ( numB > -numA ) )   // 以下のロジックは4種全て同じ\r
                                        {\r
                                                int c = this.ctWailingチップ模様アニメ.n現在の値;\r
-                                               Rectangle rectangle6 = new Rectangle( 0x10c + ( c * 20 ), 0xae, 20, 50 );\r
-                                               if ( num17 < num15 )\r
+                                               Rectangle rect = new Rectangle( baseTextureOffsetX + ( c * WailingWidth ), baseTextureOffsetY, WailingWidth, WailingHeight );\r
+                                               if ( numB < numA )\r
                                                {\r
-                                                       rectangle6.Y += num15 - num17;\r
-                                                       rectangle6.Height -= num15 - num17;\r
-                                                       num18 = num15 - num17;\r
+                                                       rect.Y += numA - numB;\r
+                                                       rect.Height -= numA - numB;\r
+                                                       numC = numA - numB;\r
                                                }\r
-                                               if ( num17 > ( 0x163 - num15 ) )\r
+                                               if ( numB > ( numD - numA ) )\r
                                                {\r
-                                                       rectangle6.Height -= num17 - ( 0x163 - num15 );\r
+                                                       rect.Height -= numB - ( numD - numA );\r
                                                }\r
-                                               if ( ( rectangle6.Bottom > rectangle6.Top ) && ( this.txチップ != null ) )\r
+                                               if ( ( rect.Bottom > rect.Top ) && ( this.txチップ != null ) )\r
                                                {\r
-                                                       this.txチップ.t2D描画( CDTXMania.app.Device, 0x1df, ( y - num15 ) + num18, rectangle6 );\r
+                                                       this.txチップ.t2D描画( CDTXMania.app.Device, drawX, ( y - numA ) + numC, rect );\r
                                                }\r
                                        }\r
                                }\r