OSDN Git Service

#35417 FLIP状態での演奏時に、演奏設定(LEFTなど)も入れ替えるよう修正。
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Tue, 18 Aug 2015 16:16:25 +0000 (16:16 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Tue, 18 Aug 2015 16:16:25 +0000 (16:16 +0000)
git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@842 16f42ceb-6dc6-49c8-ba94-f2d53467949d

DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs
DTXManiaプロジェクト/コード/全体/CConfigIni.cs
DTXManiaプロジェクト/コード/全体/CDTXMania.cs
実行時フォルダ/DTXManiaGR.exe
実行時フォルダ/dll/FDK.dll

index 61de4d4..09c6c04 100644 (file)
@@ -364,6 +364,7 @@ namespace DTXMania
                        if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.24 yyagi Gt/Bsの譜面情報入れ替え\r
                        {\r
                                CDTXMania.DTX.SwapGuitarBassInfos();\r
+                               CDTXMania.ConfigIni.SwapGuitarBassInfos_PlaySettings();\r
                        }\r
                        this.sw = new Stopwatch();\r
                        this.sw2 = new Stopwatch();\r
@@ -1674,8 +1675,6 @@ namespace DTXMania
                                this.b演奏にマウスを使った[ (int) part ] = true;\r
                        }\r
                }\r
-\r
-\r
                protected abstract void t進行描画_AVI();\r
                protected void t進行描画_AVI(int x, int y)\r
                {\r
index ea91ad6..37ef050 100644 (file)
@@ -665,6 +665,12 @@ namespace DTXMania
                    get;\r
                    set;\r
                }\r
+               public bool bIsSwappedGuitarBass_PlaySettingsAreSwapped // #35417 2015.8.18 yyagi FLIP中にalt-f4終了で、演奏設定がswapした状態でconfig.iniが出力されてしまうことを避けるためのフラグ\r
+               {\r
+                   get;\r
+                   set;\r
+               }\r
+\r
                public STAUTOPLAY bAutoPlay;\r
                public int nSoundDeviceType;                            // #24820 2012.12.23 yyagi 出力サウンドデバイス(0=ACM(にしたいが設計がきつそうならDirectShow), 1=ASIO, 2=WASAPI)\r
                public int nWASAPIBufferSizeMs;                         // #24820 2013.1.15 yyagi WASAPIのバッファサイズ\r
@@ -1027,7 +1033,31 @@ namespace DTXMania
 \r
                        CDTXMania.ConfigIni.bIsSwappedGuitarBass_AutoFlagsAreSwapped = !CDTXMania.ConfigIni.bIsSwappedGuitarBass_AutoFlagsAreSwapped;\r
                }\r
-               \r
+               public void SwapGuitarBassInfos_PlaySettings()                  // #35417 2015.8.18 yyagi: 演奏設定のFLIP機能を追加\r
+               {\r
+                       bool b;\r
+                       b = bGraph.Bass;        bGraph.Bass = bGraph.Guitar;    bGraph.Guitar = b;\r
+                       b = bHidden.Bass;       bHidden.Bass = bHidden.Guitar;  bHidden.Guitar = b;\r
+                       b = bLeft.Bass;         bLeft.Bass = bLeft.Guitar;              bLeft.Guitar = b;\r
+                       b = bLight.Bass;        bLight.Bass = bLight.Guitar;    bLight.Guitar = b;\r
+                       b = bReverse.Bass;      bReverse.Bass = bReverse.Guitar;        bReverse.Guitar = b;\r
+                       b = bSudden.Bass;       bSudden.Bass = bSudden.Guitar;  bSudden.Guitar = b;\r
+\r
+                       EInvisible ei;\r
+                       ei = eInvisible.Bass;   eInvisible.Bass = eInvisible.Guitar;    eInvisible.Guitar = ei;\r
+                       Eランダムモード er;\r
+                       er = eRandom.Bass;      eRandom.Bass = eRandom.Guitar; eRandom.Guitar = er;\r
+                       E判定文字表示位置 ej;\r
+                       ej = 判定文字表示位置.Bass; 判定文字表示位置.Bass = 判定文字表示位置.Guitar;    判定文字表示位置.Guitar = ej;\r
+                       int n;\r
+                       n = n表示可能な最小コンボ数.Bass; n表示可能な最小コンボ数.Bass = n表示可能な最小コンボ数.Guitar; n表示可能な最小コンボ数.Guitar = n;\r
+\r
+                       // 譜面スクロール速度の変更だけは、On活性化()で行うこと。そうしないと、演奏開始直後にスクロール速度が変化して見苦しい。\r
+                       n = n譜面スクロール速度.Bass; n譜面スクロール速度.Bass = n譜面スクロール速度.Guitar; n譜面スクロール速度.Guitar = n;\r
+\r
+                       CDTXMania.ConfigIni.bIsSwappedGuitarBass_PlaySettingsAreSwapped = !CDTXMania.ConfigIni.bIsSwappedGuitarBass_PlaySettingsAreSwapped;\r
+\r
+               }\r
                // コンストラクタ\r
 \r
                public CConfigIni()\r
index 65cb0c6..bc320ee 100644 (file)
@@ -1254,6 +1254,11 @@ for (int i = 0; i < 3; i++) {
                                                                #region [ 演奏キャンセル ]\r
                                                                //-----------------------------\r
                                                                scoreIni = this.tScoreIniへBGMAdjustとHistoryとPlayCountを更新( "Play canceled" );\r
+                                                               if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass )         // #35417 2015.8.18 yyagi Gt/Bsを入れ替えていたなら、演奏設定を元に戻す\r
+                                                               {\r
+                                                                       //CDTXMania.DTX.SwapGuitarBassInfos();                                          // 譜面情報も元に戻す (現在は再演奏機能なしのため、元に戻す必要はない)\r
+                                                                       CDTXMania.ConfigIni.SwapGuitarBassInfos_PlaySettings();         // 演奏設定も元に戻す\r
+                                                               }\r
 \r
                                                                //int lastd = 0;\r
                                                                //int f = 0;\r
@@ -1395,6 +1400,9 @@ for (int i = 0; i < 3; i++) {
                                                                        c演奏記録_Bass = t;\r
 \r
                                                                        CDTXMania.DTX.SwapGuitarBassInfos();                    // 譜面情報も元に戻す\r
+                                                                       CDTXMania.ConfigIni.SwapGuitarBassInfos_PlaySettings();         // 演奏設定も元に戻す\r
+                                                                       // #35417 2015.8.18 yyagi: AUTO系のフラグ入れ替えは削除可能!?。以後AUTOフラグに全くアクセスしておらず、意味がないため。\r
+                                                                       // (直下でb全AUTOである にアクセスしているが、既に計算済みのクラスへのアクセスであり、ここでの交換対象ではない)\r
                                                                        CDTXMania.ConfigIni.SwapGuitarBassInfos_AutoFlags();    // #24415 2011.2.27 yyagi\r
                                                                                                                                                                        // リザルト集計時のみ、Auto系のフラグも元に戻す。\r
                                                                                                                                                                        // これを戻すのは、リザルト集計後。\r
@@ -1498,6 +1506,7 @@ for (int i = 0; i < 3; i++) {
                                                //-----------------------------\r
                                                if( this.n進行描画の戻り値 != 0 )\r
                                                {\r
+                                                       // #35417 2015.8.18 yyagi: AUTO系のフラグ入れ替えは削除可能!?。以後AUTOフラグに全くアクセスしておらず、意味がないため。\r
                                                        if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass )         // #24415 2011.2.27 yyagi Gt/Bsを入れ替えていたなら、Auto状態をリザルト画面終了後に元に戻す\r
                                                        {\r
                                                                CDTXMania.ConfigIni.SwapGuitarBassInfos_AutoFlags();    // Auto入れ替え\r
@@ -2623,6 +2632,10 @@ for (int i = 0; i < 3; i++) {
                                {\r
                                    ConfigIni.SwapGuitarBassInfos_AutoFlags();\r
                                }\r
+                               if ( ConfigIni.bIsSwappedGuitarBass_PlaySettingsAreSwapped)     // #35417 2015/8/18 yyagi FLIP中かつ演奏中にalt-f4で終了したときは、演奏設定のフラグをswapして戻す\r
+                               {\r
+                                       ConfigIni.SwapGuitarBassInfos_PlaySettings();\r
+                               }\r
                                string str = strEXEのあるフォルダ + "Config.ini";\r
                                Trace.Indent();\r
                                try\r
index 4ad8714..db8d0c8 100644 (file)
Binary files a/実行時フォルダ/DTXManiaGR.exe and b/実行時フォルダ/DTXManiaGR.exe differ
index 2e908ca..c069437 100644 (file)
Binary files a/実行時フォルダ/dll/FDK.dll and b/実行時フォルダ/dll/FDK.dll differ