Game game;\r
bool ignoreSizeChanges;\r
bool deviceLost;\r
- bool doNotStoreBufferSize;\r
- bool renderingOccluded;\r
+// bool doNotStoreBufferSize;\r
+// bool renderingOccluded;\r
\r
int fullscreenWindowWidth;\r
int fullscreenWindowHeight;\r
{\r
EnsureD3D9();\r
\r
-#if TEST_Direct3D9Ex // 2011.4.26 yyagi\r
- DisplayModeEx fullScreenDisplayMode = new DisplayModeEx();\r
+#if TEST_Direct3D9Ex\r
+ // 2011.4.26 yyagi\r
+ // Direct3D9.DeviceExを呼ぶ際(IDirect3D9Ex::CreateDeviceExを呼ぶ際)、\r
+ // フルスクリーンモードで初期化する場合はDisplayModeEx(D3DDISPLAYMODEEX *pFullscreenDisplayMode)に\r
+ // 適切な値を設定する必要あり。\r
+ // 一方、ウインドウモードで初期化する場合は、D3DDISPLAYMODEEXをNULLにする必要があるが、\r
+ // DisplayModeExがNULL不可と定義されているため、DeviceExのoverloadの中でDisplayModeExを引数に取らないものを\r
+ // 使う。(DeviceEx側でD3DDISPLAYMODEEXをNULLにしてくれる)\r
+ // 結局、DeviceExの呼び出しの際に、フルスクリーンかどうかで場合分けが必要となる。\r
if ( CurrentSettings.Direct3D9.PresentParameters.Windowed == false )\r
{\r
+ DisplayModeEx fullScreenDisplayMode = new DisplayModeEx();\r
fullScreenDisplayMode.Width = CurrentSettings.Direct3D9.PresentParameters.BackBufferWidth;\r
fullScreenDisplayMode.Height = CurrentSettings.Direct3D9.PresentParameters.BackBufferHeight;\r
fullScreenDisplayMode.RefreshRate = CurrentSettings.Direct3D9.PresentParameters.FullScreenRefreshRateInHertz;\r
fullScreenDisplayMode.Format = CurrentSettings.Direct3D9.PresentParameters.BackBufferFormat;\r
+\r
+ Direct3D9.Device = new SlimDX.Direct3D9.DeviceEx( Direct3D9Object, CurrentSettings.Direct3D9.AdapterOrdinal,\r
+ CurrentSettings.Direct3D9.DeviceType, game.Window.Handle,\r
+ CurrentSettings.Direct3D9.CreationFlags, CurrentSettings.Direct3D9.PresentParameters, fullScreenDisplayMode );\r
+ }\r
+ else\r
+ {\r
+ Direct3D9.Device = new SlimDX.Direct3D9.DeviceEx( Direct3D9Object, CurrentSettings.Direct3D9.AdapterOrdinal,\r
+ CurrentSettings.Direct3D9.DeviceType, game.Window.Handle,\r
+ CurrentSettings.Direct3D9.CreationFlags, CurrentSettings.Direct3D9.PresentParameters );\r
}\r
- Direct3D9.Device = new SlimDX.Direct3D9.DeviceEx( Direct3D9Object, CurrentSettings.Direct3D9.AdapterOrdinal,\r
- CurrentSettings.Direct3D9.DeviceType, game.Window.Handle,\r
- CurrentSettings.Direct3D9.CreationFlags, CurrentSettings.Direct3D9.PresentParameters, fullScreenDisplayMode );\r
- // yyagi\r
#else\r
Direct3D9.Device = new SlimDX.Direct3D9.Device( Direct3D9Object, CurrentSettings.Direct3D9.AdapterOrdinal,\r
CurrentSettings.Direct3D9.DeviceType, game.Window.Handle,\r