OSDN Git Service

#36057 BackSleep,SleepPerFrame,PolyphonicSoundsをCONFIGURATIONで設定できるようにした。
[dtxmania/dtxmania.git] / DTXManiaプロジェクト / コード / ステージ / 07.演奏 / CStage演奏画面共通.cs
index 7b8e0a4..d4441fb 100644 (file)
@@ -373,13 +373,6 @@ namespace DTXMania
                                }\r
 \r
                                cInvisibleChip.Reset();\r
-                               string strLabel = CDTXMania.Instance.stage選曲.r確定された曲.ar難易度ラベル[CDTXMania.Instance.stage選曲.n確定された曲の難易度];\r
-                               string strPanel = CDTXMania.Instance.DTX.TITLE;\r
-                               if (!string.IsNullOrWhiteSpace(strLabel))\r
-                               {\r
-                                       strPanel += "(" + strLabel + ")";\r
-                               }\r
-                               this.actPanel.SetPanelString(strPanel);\r
                                actGauge.Init(CDTXMania.Instance.ConfigIni.nRisky);\r
                                // 効果音のストリームをミキサーから解除しておく\r
                                CDTXMania.Instance.Skin.tRemoveMixerAll();\r
@@ -417,7 +410,7 @@ namespace DTXMania
                                                        if (CDTXMania.Instance.DTX.listWAV.ContainsKey(pChip.n整数値_内部番号))\r
                                                        {\r
                                                                CDTX.CWAV wc = CDTXMania.Instance.DTX.listWAV[pChip.n整数値_内部番号];\r
-                                                               for (int i = 0; i < CDTXMania.Instance.ConfigIni.nPoliphonicSounds; i++)\r
+                                                               for (int i = 0; i < CDTXMania.Instance.ConfigIni.nPolyphonicSounds; i++)\r
                                                                {\r
                                                                        if (wc.rSound[i] != null)\r
                                                                        {\r
@@ -479,6 +472,19 @@ namespace DTXMania
                                }\r
 \r
                                base.On活性化();\r
+\r
+                               // PANELの設定は、base.On活性化()の後に(actPanelの活性化の後)行うこと。\r
+                               // さもないと、actPanelが活性化されていないため、パネル文字列の設定が機能しなくなる。\r
+                               string strLabel = CDTXMania.Instance.stage選曲.r確定された曲.ar難易度ラベル[ CDTXMania.Instance.stage選曲.n確定された曲の難易度 ];\r
+                               string strPanel = CDTXMania.Instance.DTX.TITLE;\r
+                               //string strSETDEFlabel = CDTXMania.Instance.stage選曲.r確定された曲.strタイトル;\r
+                               if ( !string.IsNullOrWhiteSpace( strLabel ) && !strPanel.Contains(strLabel)\r
+                               //      && (strPanel == strSETDEFlabel)\r
+                               )\r
+                               {\r
+                                       strPanel += " (" + strLabel + ")";\r
+                               }\r
+                               this.actPanel.SetPanelString( strPanel );\r
                        }\r
                }\r
                public override void On非活性化()\r
@@ -546,12 +552,12 @@ namespace DTXMania
                                        CDTXMania.Instance.Timer.tリセット();\r
                                        if (CDTXMania.Instance.ConfigIni.bDrums有効)\r
                                        {\r
-                                               ctチップ模様アニメ.Drums = new CCounter(0, 0x30, 10, CDTXMania.Instance.Timer);\r
+                                               ctチップ模様アニメ.Drums = new CCounter(0, 48, 10, CDTXMania.Instance.Timer);\r
                                        }\r
                                        if (CDTXMania.Instance.ConfigIni.bGuitar有効)\r
                                        {\r
-                                               ctチップ模様アニメ.Guitar = new CCounter(0, 0x17, 20, CDTXMania.Instance.Timer);\r
-                                               ctチップ模様アニメ.Bass = new CCounter(0, 0x17, 20, CDTXMania.Instance.Timer);\r
+                                               ctチップ模様アニメ.Guitar = new CCounter(0, 48, 20, CDTXMania.Instance.Timer);\r
+                                               ctチップ模様アニメ.Bass = new CCounter(0, 48, 20, CDTXMania.Instance.Timer);\r
                                                ctWailingチップ模様アニメ = new CCounter(0, 4, 50, CDTXMania.Instance.Timer);\r
                                        }\r
 \r
@@ -804,9 +810,11 @@ namespace DTXMania
                                //Debug.WriteLine( "☆queueLength=" + queueMixerSound.Count );\r
                                DateTime dtnow = DateTime.Now;\r
                                TimeSpan ts = dtnow - dtLastQueueOperation;\r
-                               if (ts.Milliseconds > 7)\r
+                               int nInterval = ( CDTXMania.Instance.ConfigIni.bVSyncWait ) ? 7 : 1;\r
+                               int nMaxDequeueCount = ( CDTXMania.Instance.ConfigIni.bVSyncWait ) ? 2 : 1;\r
+                               if (ts.Milliseconds > nInterval)\r
                                {\r
-                                       for (int i = 0; i < 2 && queueMixerSound.Count > 0; i++)\r
+                                       for (int i = 0; i < nMaxDequeueCount && queueMixerSound.Count > 0; i++)\r
                                        {\r
                                                dtLastQueueOperation = dtnow;\r
                                                STMixer stm = queueMixerSound.Dequeue();\r
@@ -1221,18 +1229,21 @@ namespace DTXMania
                                        incrementCombo = true;\r
                                }\r
 \r
-                               switch (eJudgeResult)\r
-                               {\r
-                                       case EJudge.Perfect:\r
-                                       case EJudge.Great:\r
-                                       case EJudge.Good:\r
-                                               this.actCombo.dgbコンボ数[pChip.e楽器パート].IncrementCombo();\r
-                                               break;\r
+                if( incrementCombo == true )\r
+                {\r
+                    switch (eJudgeResult)\r
+                    {\r
+                        case EJudge.Perfect:\r
+                        case EJudge.Great:\r
+                        case EJudge.Good:\r
+                            this.actCombo.dgbコンボ数[pChip.e楽器パート].IncrementCombo();\r
+                            break;\r
 \r
-                                       default:\r
-                                               this.actCombo.dgbコンボ数[pChip.e楽器パート].ResetCombo();\r
-                                               break;\r
-                               }\r
+                        default:\r
+                            this.actCombo.dgbコンボ数[pChip.e楽器パート].ResetCombo();\r
+                            break;\r
+                    }\r
+                }\r
                        }\r
 \r
                        // スコア\r
@@ -3096,7 +3107,7 @@ namespace DTXMania
                                                CDTX.CWAV wc = CDTXMania.Instance.DTX.listWAV[pChip.n整数値_内部番号];\r
                                                //Debug.Write( "[AddMixer] BAR=" + pChip.n発声位置 / 384 + ", wav=" + Path.GetFileName( wc.strファイル名 ) + ", time=" + pChip.n発声時刻ms );\r
 \r
-                                               for (int i = 0; i < CDTXMania.Instance.ConfigIni.nPoliphonicSounds; i++)\r
+                                               for (int i = 0; i < CDTXMania.Instance.ConfigIni.nPolyphonicSounds; i++)\r
                                                {\r
                                                        if (wc.rSound[i] != null)\r
                                                        {\r
@@ -3123,7 +3134,7 @@ namespace DTXMania
                                        {\r
                                                CDTX.CWAV wc = CDTXMania.Instance.DTX.listWAV[pChip.n整数値_内部番号];\r
                                                //Debug.Write( "[DelMixer] BAR=" + pChip.n発声位置 / 384 +  ", wav=" + Path.GetFileName( wc.strファイル名 ) + ", time=" + pChip.n発声時刻ms );\r
-                                               for (int i = 0; i < CDTXMania.Instance.ConfigIni.nPoliphonicSounds; i++)\r
+                                               for (int i = 0; i < CDTXMania.Instance.ConfigIni.nPolyphonicSounds; i++)\r
                                                {\r
                                                        if (wc.rSound[i] != null)\r
                                                        {\r