OSDN Git Service

#39698 099fで起動時に例外が出る問題を修正。
[dtxmania/dtxmania.git] / DTXManiaプロジェクト / コード / 全体 / CDTXMania.cs
index 7aab6ef..be07237 100644 (file)
@@ -20,7 +20,7 @@ namespace DTXMania
        {\r
                // プロパティ\r
                #region [ properties ]\r
-               public static readonly string VERSION = "100(140801)";\r
+               public static readonly string VERSION = "099g(191022)";\r
                public static readonly string SLIMDXDLL = "c_net20x86_Jun2010";\r
                public static readonly string D3DXDLL = "d3dx9_43.dll";         // June 2010\r
         //public static readonly string D3DXDLL = "d3dx9_42.dll";      // February 2010\r
@@ -510,6 +510,10 @@ namespace DTXMania
                }\r
                protected override void Draw( GameTime gameTime )\r
                {\r
+                       if (Sound管理 == null)\r
+                       {\r
+                               return;\r
+                       }\r
                        Sound管理.t再生中の処理をする();\r
 \r
                        if( Timer != null )\r
@@ -1602,7 +1606,6 @@ for (int i = 0; i < 3; i++) {
 \r
                #region [ 汎用ヘルパー ]\r
                //-----------------\r
-               #region [ tテクスチャの生成 ]\r
                public static CTexture tテクスチャの生成( string fileName )\r
                {\r
                        return tテクスチャの生成( fileName, false );\r
@@ -1628,39 +1631,11 @@ for (int i = 0; i < 3; i++) {
                                return null;\r
                        }\r
                }\r
-               public static CTextureAf tテクスチャの生成Af( string fileName )\r
-               {\r
-                       return tテクスチャの生成Af( fileName, false );\r
-               }\r
-               public static CTextureAf tテクスチャの生成Af( string fileName, bool b黒を透過する )\r
-               {\r
-                       if ( app == null )\r
-                       {\r
-                               return null;\r
-                       }\r
-                       try\r
-                       {\r
-                               return new CTextureAf( app.Device, fileName, TextureFormat, b黒を透過する );\r
-                       }\r
-                       catch ( CTextureCreateFailedException )\r
-                       {\r
-                               Trace.TraceError( "テクスチャの生成に失敗しました。({0})", fileName );\r
-                               return null;\r
-                       }\r
-                       catch ( FileNotFoundException )\r
-                       {\r
-                               Trace.TraceError( "テクスチャファイルが見つかりませんでした。({0})", fileName );\r
-                               return null;\r
-                       }\r
-               }\r
                public static void tテクスチャの解放( ref CTexture tx )\r
                {\r
                        CDTXMania.t安全にDisposeする( ref tx );\r
                }\r
-               public static void tテクスチャの解放( ref CTextureAf tx )\r
-               {\r
-                       CDTXMania.t安全にDisposeする( ref tx );\r
-               }\r
+\r
                public static CTexture tテクスチャの生成( byte[] txData )\r
                {\r
                        return tテクスチャの生成( txData, false );\r
@@ -1671,11 +1646,6 @@ for (int i = 0; i < 3; i++) {
                        {\r
                                return null;\r
                        }\r
-                       if ( txData == null )\r
-                       {\r
-                               Trace.TraceError( "テクスチャの生成に失敗しました。(txData==null)" );\r
-                               return null;\r
-                       }\r
                        try\r
                        {\r
                                return new CTexture( app.Device, txData, TextureFormat, b黒を透過する );\r
@@ -1697,22 +1667,16 @@ for (int i = 0; i < 3; i++) {
                        {\r
                                return null;\r
                        }\r
-                       if ( bitmap == null )\r
-                       {\r
-                               Trace.TraceError( "テクスチャの生成に失敗しました。(bitmap==null)" );\r
-                               return null;\r
-                       }\r
                        try\r
                        {\r
                                return new CTexture( app.Device, bitmap, TextureFormat, b黒を透過する );\r
                        }\r
                        catch ( CTextureCreateFailedException )\r
                        {\r
-                               Trace.TraceError( "テクスチャの生成に失敗しました。(bitmap)" );\r
+                               Trace.TraceError( "テクスチャの生成に失敗しました。(txData)" );\r
                                return null;\r
                        }\r
                }\r
-               #endregion\r
 \r
                /// <summary>プロパティ、インデクサには ref は使用できないので注意。</summary>\r
                public static void t安全にDisposeする<T>( ref T obj )\r
@@ -1858,6 +1822,7 @@ for (int i = 0; i < 3; i++) {
                                        }\r
                                }\r
                                DTXVmode.ParseArguments( arg );\r
+                               \r
                                if ( DTXVmode.Enabled )\r
                                {\r
                                        DTXVmode.Refreshed = false;                                                             // 初回起動時は再読み込みに走らせない\r
@@ -1880,11 +1845,6 @@ for (int i = 0; i < 3; i++) {
                                        CDTXMania.ConfigIni.bTimeStretch = DTXVmode.TimeStretch;\r
                                        CDTXMania.ConfigIni.bDrums有効 = !DTXVmode.GRmode;\r
                                        CDTXMania.ConfigIni.bGuitar有効 = true;\r
-\r
-                                       CDTXMania.ConfigIni.nウインドウwidth = CDTXMania.ConfigIni.nViewerウインドウwidth;\r
-                                       CDTXMania.ConfigIni.nウインドウheight = CDTXMania.ConfigIni.nViewerウインドウheight;\r
-                                       CDTXMania.ConfigIni.n初期ウィンドウ開始位置X = CDTXMania.ConfigIni.nViewer初期ウィンドウ開始位置X;\r
-                                       CDTXMania.ConfigIni.n初期ウィンドウ開始位置Y = CDTXMania.ConfigIni.nViewer初期ウィンドウ開始位置Y;\r
                                }\r
                                else                                                                                                            // 通常のコンパクトモード\r
                                {\r
@@ -1929,18 +1889,6 @@ for (int i = 0; i < 3; i++) {
                        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
-                       if ( ConfigIni.nウインドウwidth <= 0 && ConfigIni.nウインドウheight <= 0 )            // #34069 2014.7.24 yyagi 初回起動時は1280x720にする\r
-                       {\r
-                               ConfigIni.nウインドウwidth  = 1280;\r
-                               ConfigIni.nウインドウheight = 720;\r
-                               //w = this.Window.Screen.WorkingArea.Width;\r
-                               //h = this.Window.Screen.WorkingArea.Height;\r
-                               //w = base.Window.Screen.Bounds.Width;\r
-                               //h = base.Window.Screen.Bounds.Height;\r
-                               //ConfigIni.nウインドウwidth = SampleFramework.GameWindowSize.Width;\r
-                               //ConfigIni.nウインドウheight = SampleFramework.GameWindowSize.Height;\r
-                       }\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 !WindowedFullscreen\r
                        if (!ConfigIni.bウィンドウモード)                                               // #23510 2010.11.02 yyagi: add; to recover window size in case bootup with fullscreen mode\r
@@ -2179,7 +2127,8 @@ for (int i = 0; i < 3; i++) {
                                Sound管理 = new CSound管理( base.Window.Handle,\r
                                                                                        soundDeviceType,\r
                                                                                        CDTXMania.ConfigIni.nWASAPIBufferSizeMs,\r
-                                                                               // CDTXMania.ConfigIni.nASIOBufferSizeMs,\r
+                                                                                       // 0,\r
+                                       // CDTXMania.ConfigIni.nASIOBufferSizeMs,\r
                                                                                        0,\r
                                                                                        CDTXMania.ConfigIni.nASIODevice,\r
                                                                                        CDTXMania.ConfigIni.bUseOSTimer\r
@@ -2754,6 +2703,10 @@ for (int i = 0; i < 3; i++) {
                        string[] strDLLs = System.IO.Directory.GetFiles( strプラグインフォルダパス, "*.dll" );\r
                        foreach( string dllName in strDLLs )\r
                        {\r
+                               if (Path.GetExtension(dllName).ToLower() != ".dll")\r
+                               {\r
+                                       continue;\r
+                               }\r
                                try\r
                                {\r
                                        // (1-1) dll をアセンブリとして読み込む。\r