OSDN Git Service

#24820 branchの内容をtrunkにマージ。 Release096
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Mon, 11 Feb 2013 13:32:45 +0000 (13:32 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Mon, 11 Feb 2013 13:32:45 +0000 (13:32 +0000)
#xxxxx Config.iniのTight設定部の注釈文字を修正。
#xxxxx タイトル画面の年号表示を修正。

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

1  2 
DTXManiaプロジェクト/DTXManiaプロジェクト.csproj
DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs
DTXManiaプロジェクト/コード/全体/CConfigIni.cs
DTXManiaプロジェクト/コード/全体/CDTXMania.cs
FDK17プロジェクト/FDK19.csproj
FDK17プロジェクト/コード/02.入力/CInputKeyboard.cs
FDK17プロジェクト/コード/04.グラフィック/CTexture.cs
実行時フォルダ/DTXManiaGR.exe
実行時フォルダ/FDK.dll
実行時フォルダ/System/Default/Graphics/ScreenTitle background.jpg

@@@ -549,8 -613,29 +613,29 @@@ namespace DTXMani
  \r
                protected Stopwatch sw;         // 2011.6.13 最適化検討用のストップウォッチ\r
                protected Stopwatch sw2;\r
 -              protected GCLatencyMode gclatencymode;\r
 +//            protected GCLatencyMode gclatencymode;\r
  \r
+               public void AddMixer( CSound cs )\r
+               {\r
+                       stmixer stm = new stmixer()\r
+                       {\r
+                               bIsAdd = true,\r
+                               csound = cs\r
+                       };\r
+                       queueMixerSound.Enqueue( stm );\r
+ //            Debug.WriteLine( "★Queue: add " + Path.GetFileName( stm.csound.strファイル名 ));\r
+               }\r
+               public void RemoveMixer( CSound cs )\r
+               {\r
+                       stmixer stm = new stmixer()\r
+                       {\r
+                               bIsAdd = false,\r
+                               csound = cs\r
+                       };\r
+                       queueMixerSound.Enqueue( stm );\r
+ //            Debug.WriteLine( "★Queue: remove " + Path.GetFileName( stm.csound.strファイル名 ));\r
+               }\r
\r
                protected E判定 e指定時刻からChipのJUDGEを返す( long nTime, CDTX.CChip pChip, int nInputAdjustTime )\r
                {\r
                        if ( pChip != null )\r
@@@ -646,10 -656,16 +656,16 @@@ namespace DTXMani
                }\r
                public bool bIsSwappedGuitarBass_AutoFlagsAreSwapped    // #24415 2011.2.21 yyagi FLIP中にalt-f4終了で、AUTOフラグがswapした状態でconfig.iniが出力されてしまうことを避けるためのフラグ\r
                {\r
 -                      get;\r
 -                      set;\r
 +                  get;\r
 +                  set;\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
+               public int nASIOBufferSizeMs;                           // #24820 2012.12.28 yyagi ASIOのバッファサイズ\r
+               public int nASIODevice;                                         // #24820 2013.1.17 yyagi ASIOデバイス\r
+               public bool bDynamicBassMixerManagement;        // #24820\r
\r
  #if false\r
                [StructLayout( LayoutKind.Sequential )]\r
                public struct STAUTOPLAY                                                                // C定数のEレーンとindexを一致させること\r
                        sw.WriteLine( "; RISKY mode. 0=OFF, 1-10 is the times of misses to be Failed." );       //\r
                        sw.WriteLine( "Risky={0}", this.nRisky );                       //\r
                        sw.WriteLine();\r
-             sw.WriteLine( "; TIGHTモード(0:OFF, 1:ON)" );                                                                  // #29500 2012.9.11 kairera0467\r
-                       sw.WriteLine( ": TIGHT mode. 0=OFF, 1=ON " );\r
-                       sw.WriteLine( "DrumsTight={0}", this.bTight ? 1 : 0 );                                                                  //\r
-             sw.WriteLine();\r
+                       sw.WriteLine( "; TIGHTモード(0:OFF, 1:ON)" );                                                                        // #29500 2012.9.11 kairera0467\r
 -                      sw.WriteLine( ": TIGHT mode. 0=OFF, 1=ON " );\r
++                      sw.WriteLine( "; TIGHT mode. 0=OFF, 1=ON " );\r
+                       sw.WriteLine( "DrumsTight={0}", this.bTight ? 1 : 0 );\r
+                       sw.WriteLine();\r
                        sw.WriteLine( "; ドラム判定文字表示位置(0:レーン上,1:判定ライン上,2:表示OFF)" );\r
                        sw.WriteLine( "DrumsPosition={0}", (int) this.判定文字表示位置.Drums );\r
                        sw.WriteLine();\r
                                                                                        {\r
                                                                                                this.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x5f5e0ff, this.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms );\r
                                                                                        }\r
+                                                                                       #endregion\r
                                                                                        else if( str3.Equals( "AdjustWaves" ) )\r
                                                                                        {\r
 -                                                                                          this.bWave再生位置自動調整機能有効 = C変換.bONorOFF( str4[ 0 ] );\r
 +                                                                                              this.bWave再生位置自動調整機能有効 = C変換.bONorOFF( str4[ 0 ] );\r
                                                                                        }\r
+                                                                                       #region [ BGM/ドラムのヒット音 ]\r
                                                                                        else if( str3.Equals( "BGMSound" ) )\r
                                                                                        {\r
                                                                                                this.bBGM音を発声する = C変換.bONorOFF( str4[ 0 ] );\r
@@@ -308,11 -320,37 +320,37 @@@ namespace DTXMani
                                        ConfigIni.nウインドウheight = this.Window.ClientSize.Height;\r
                                }\r
                                base.GraphicsDeviceManager.ChangeDevice( settings );\r
-                               if (ConfigIni.bウィンドウモード == true)        // #23510 2010.10.27 yyagi: to resume window size from backuped value\r
+                               if ( ConfigIni.bウィンドウモード == true )      // #23510 2010.10.27 yyagi: to resume window size from backuped value\r
                                {\r
+                                                                                                                       // #30666 2013.2.2 yyagi Don't use Fullscreen mode becasue NVIDIA GeForce is\r
+                                                                                                                       // tend to delay drawing on Fullscreen mode. So DTXMania uses Maximized window\r
+                                                                                                                       // in spite of using fullscreen mode.\r
+                                       //app.Window.WindowState = FormWindowState.Normal;\r
+                                       //app.Window.FormBorderStyle = FormBorderStyle.Sizable;\r
+                                       //app.Window.WindowState = FormWindowState.Normal;\r
\r
                                        base.Window.ClientSize =\r
-                                               new Size(currentClientSize.Width, currentClientSize.Height);\r
-                               }                                       \r
+                                               new Size( currentClientSize.Width, currentClientSize.Height );\r
 -                              }\r
++                      }\r
+                               else \r
+                               {\r
+                                       //app.Window.WindowState = FormWindowState.Normal;\r
+                                       //app.Window.FormBorderStyle = FormBorderStyle.None;\r
+                                       //app.Window.WindowState = FormWindowState.Maximized;\r
 -                              }\r
++              }\r
+                               //if ( ConfigIni.bウィンドウモード )\r
+                               //{\r
+                               //    if ( !this.bマウスカーソル表示中 )\r
+                               //    {\r
+                               //        Cursor.Show();\r
+                               //        this.bマウスカーソル表示中 = true;\r
+                               //    }\r
+                               //}\r
+                               //else if ( this.bマウスカーソル表示中 )\r
+                               //{\r
+                               //    Cursor.Hide();\r
+                               //    this.bマウスカーソル表示中 = false;\r
+                               //}\r
                        }\r
                }\r
  \r
@@@ -1467,15 -1511,16 +1511,20 @@@ for (int i = 0; i < 3; i++) 
  \r
                        #region [ ウィンドウ初期化 ]\r
                        //---------------------\r
-                       base.Window.Text = "DTXMania .NET style release " + VERSION;\r
+                       this.strWindowTitle = "DTXMania .NET style release " + VERSION;\r
\r
+                       base.Window.StartPosition = FormStartPosition.Manual;                                                       // #30675 2013.02.04 ikanick add\r
+                       base.Window.Location = new Point( ConfigIni.n初期ウィンドウ開始位置X, ConfigIni.n初期ウィンドウ開始位置Y );   // #30675 2013.02.04 ikanick add\r
\r
+                       base.Window.Text = this.strWindowTitle;\r
 +\r
 +                      base.Window.StartPosition = FormStartPosition.Manual;                                                       // #30675 2013.02.04 ikanick add\r
 +            base.Window.Location = new Point(ConfigIni.n初期ウィンドウ開始位置X, ConfigIni.n初期ウィンドウ開始位置Y);   // #30675 2013.02.04 ikanick add\r
 +\r
                        base.Window.ClientSize = new Size(ConfigIni.nウインドウwidth, ConfigIni.nウインドウheight);   // #34510 yyagi 2010.10.31 to change window size got from Config.ini\r
                        if (!ConfigIni.bウィンドウモード)                                               // #23510 2010.11.02 yyagi: add; to recover window size in case bootup with fullscreen mode\r
-                       {\r
-                               currentClientSize = new Size(ConfigIni.nウインドウwidth, ConfigIni.nウインドウheight);\r
+                       {                                                                                                               // #30666 2013.02.02 yyagi: currentClientSize should be always made\r
+                               currentClientSize = new Size( ConfigIni.nウインドウwidth, ConfigIni.nウインドウheight );\r
                        }\r
                        base.Window.MaximizeBox = true;                                                 // #23510 2010.11.04 yyagi: to support maximizing window\r
                        base.Window.FormBorderStyle = FormBorderStyle.Sizable;  // #23510 2010.10.27 yyagi: changed from FixedDialog to Sizable, to support window resize\r
                        #endregion\r
                        #region [ Sound管理 の初期化 ]\r
                        //---------------------\r
-                       Trace.TraceInformation( "DirectSound の初期化を行います。" );\r
+                       Trace.TraceInformation( "サウンドデバイスの初期化を行います。" );\r
                        Trace.Indent();\r
                        try\r
 -                              {\r
+                       {                               \r
+                               ESoundDeviceType soundDeviceType;\r
+                               switch ( CDTXMania.ConfigIni.nSoundDeviceType )\r
-                               Sound管理 = new CSound管理( base.Window.Handle );\r
-                               Trace.TraceInformation( "DirectSound の初期化を完了しました。" );\r
 +                      {\r
 -                              }\r
+                                       case 0:\r
+                                               soundDeviceType = ESoundDeviceType.DirectSound;\r
+                                               break;\r
+                                       case 1:\r
+                                               soundDeviceType = ESoundDeviceType.ASIO;\r
+                                               break;\r
+                                       case 2:\r
+                                               soundDeviceType = ESoundDeviceType.ExclusiveWASAPI;\r
+                                               break;\r
+                                       default:\r
+                                               soundDeviceType = ESoundDeviceType.Unknown;\r
+                                               break;\r
-                       catch\r
 +                      }\r
+                               Sound管理 = new CSound管理( base.Window.Handle,\r
+                                                                                       soundDeviceType,\r
+                                                                                       CDTXMania.ConfigIni.nWASAPIBufferSizeMs,\r
+                                                                                       CDTXMania.ConfigIni.nASIOBufferSizeMs,\r
+                                                                                       CDTXMania.ConfigIni.nASIODevice\r
+                               );\r
+                               AddSoundTypeToWindowTitle();\r
+                               Trace.TraceInformation( "サウンドデバイスの初期化を完了しました。" );\r
+                       }\r
+                       catch (Exception e)\r
                        {\r
-                               Trace.TraceError( "DirectSound の初期化に失敗しました。" );\r
+                               Trace.TraceError( e.Message );\r
                                throw;\r
                        }\r
                        finally\r
                //        }\r
                //    }\r
                //}\r
\r
 -              \r
 +      \r
-               \r
                //-----------------\r
                #endregion\r
        }\r
Simple merge
@@@ -238,8 -242,7 +242,8 @@@ namespace FD
                private bool[] bKeyPushDown = new bool[ 0x100 ];\r
                private bool[] bKeyState = new bool[ 0x100 ];\r
                private Keyboard devKeyboard;\r
-               private CTimer timer;\r
+               //private CTimer timer;\r
 +              //private CTimer ct;\r
                //-----------------\r
                #endregion\r
        }\r
index c506a42,c24b9ec..84e15b7
Binary files differ
index 7fa71d5,8c27cab..a099c3d
Binary files differ