#313 Add partial support for American Girls Dress Designer (Fullscreen only, no upscaling)
This commit is contained in:
parent
504c2eb1c5
commit
0cf0533654
4 changed files with 27 additions and 3 deletions
|
@ -17,6 +17,7 @@ void util_toggle_maximize();
|
||||||
void util_toggle_fullscreen();
|
void util_toggle_fullscreen();
|
||||||
BOOL util_unadjust_window_rect(LPRECT prc, DWORD dwStyle, BOOL fMenu, DWORD dwExStyle);
|
BOOL util_unadjust_window_rect(LPRECT prc, DWORD dwStyle, BOOL fMenu, DWORD dwExStyle);
|
||||||
void util_set_window_rect(int x, int y, int width, int height, UINT flags);
|
void util_set_window_rect(int x, int y, int width, int height, UINT flags);
|
||||||
|
BOOL CALLBACK util_enum_thread_wnd_proc(HWND hwnd, LPARAM lParam);
|
||||||
BOOL CALLBACK util_enum_child_proc(HWND hwnd, LPARAM lParam);
|
BOOL CALLBACK util_enum_child_proc(HWND hwnd, LPARAM lParam);
|
||||||
BOOL util_detect_low_res_screen();
|
BOOL util_detect_low_res_screen();
|
||||||
|
|
||||||
|
|
|
@ -387,6 +387,10 @@ static void cfg_create_ini()
|
||||||
"guard_lines=300\n"
|
"guard_lines=300\n"
|
||||||
"minfps=-2\n"
|
"minfps=-2\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
"; American Girls Dress Designer\n"
|
||||||
|
"[Dress Designer]\n"
|
||||||
|
"fake_mode=640x480x32\n"
|
||||||
|
"\n"
|
||||||
"; Age of Wonders 2\n"
|
"; Age of Wonders 2\n"
|
||||||
"[AoW2]\n"
|
"[AoW2]\n"
|
||||||
"resolutions=2\n"
|
"resolutions=2\n"
|
||||||
|
|
17
src/dd.c
17
src/dd.c
|
@ -1166,12 +1166,23 @@ HRESULT dd_SetCooperativeLevel(HWND hwnd, DWORD dwFlags)
|
||||||
{
|
{
|
||||||
dbg_dump_scl_flags(dwFlags);
|
dbg_dump_scl_flags(dwFlags);
|
||||||
|
|
||||||
if (hwnd == NULL)
|
if (!hwnd)
|
||||||
{
|
{
|
||||||
return DD_OK;
|
if (!g_ddraw.hwnd && g_config.fake_mode[0])
|
||||||
|
{
|
||||||
|
EnumThreadWindows(GetCurrentThreadId(), (WNDENUMPROC)util_enum_thread_wnd_proc, 0);
|
||||||
|
hwnd = g_ddraw.hwnd;
|
||||||
|
|
||||||
|
if (!hwnd)
|
||||||
|
return DD_OK;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return DD_OK;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_ddraw.hwnd == NULL)
|
if (!g_ddraw.hwnd)
|
||||||
{
|
{
|
||||||
g_ddraw.hwnd = hwnd;
|
g_ddraw.hwnd = hwnd;
|
||||||
}
|
}
|
||||||
|
|
|
@ -551,6 +551,14 @@ void util_set_window_rect(int x, int y, int width, int height, UINT flags)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL CALLBACK util_enum_thread_wnd_proc(HWND hwnd, LPARAM lParam)
|
||||||
|
{
|
||||||
|
if (!g_ddraw.hwnd)
|
||||||
|
g_ddraw.hwnd = hwnd;
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
BOOL CALLBACK util_enum_child_proc(HWND hwnd, LPARAM lparam)
|
BOOL CALLBACK util_enum_child_proc(HWND hwnd, LPARAM lparam)
|
||||||
{
|
{
|
||||||
IDirectDrawSurfaceImpl* this = (IDirectDrawSurfaceImpl*)lparam;
|
IDirectDrawSurfaceImpl* this = (IDirectDrawSurfaceImpl*)lparam;
|
||||||
|
|
Loading…
Reference in a new issue