diff --git a/src/dd.c b/src/dd.c index d85c507..3907a4c 100644 --- a/src/dd.c +++ b/src/dd.c @@ -864,17 +864,19 @@ HRESULT dd_SetCooperativeLevel(HWND hwnd, DWORD dwFlags) { static BOOL windowed; - if (!(dwFlags & DDSCL_FULLSCREEN)) + if (dwFlags & DDSCL_FULLSCREEN) + { + g_ddraw->windowed = windowed; + } + else if (dwFlags & DDSCL_NOWINDOWCHANGES) { windowed = g_ddraw->windowed; - g_ddraw->windowed = TRUE; + if (GetMenu(g_ddraw->hwnd) != NULL) + g_ddraw->windowed = TRUE; + dd_SetDisplayMode(640, 480, 16, SDM_MODE_SET_BY_GAME); } - else - { - g_ddraw->windowed = windowed; - } } return DD_OK;