mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-15 06:04:49 +01:00
run lobby in fullscreen with opengl/gdi renderer
This commit is contained in:
parent
483a64c7e3
commit
2e23e4309c
1
inc/dd.h
1
inc/dd.h
@ -155,6 +155,7 @@ typedef struct CNCDDRAW
|
||||
BOOL bnet_was_fullscreen;
|
||||
BOOL bnet_was_upscaled;
|
||||
RECT bnet_win_rect;
|
||||
DEVMODE bnet_mode;
|
||||
POINT bnet_pos;
|
||||
void* last_freed_palette; /* Dungeon Keeper hack */
|
||||
BOOL child_window_exists;
|
||||
|
24
src/config.c
24
src/config.c
@ -40,7 +40,7 @@ void cfg_load()
|
||||
g_ddraw->vhack = cfg_get_bool("vhack", FALSE);
|
||||
g_ddraw->accurate_timers = cfg_get_bool("accuratetimers", FALSE);
|
||||
g_ddraw->resizable = cfg_get_bool("resizable", TRUE);
|
||||
g_ddraw->nonexclusive = cfg_get_bool("nonexclusive", FALSE);
|
||||
g_ddraw->nonexclusive = TRUE;// cfg_get_bool("nonexclusive", FALSE);
|
||||
g_ddraw->fixpitch = cfg_get_bool("fixpitch", FALSE);
|
||||
g_ddraw->fixchilds = cfg_get_int("fixchilds", FIX_CHILDS_DETECT_PAINT);
|
||||
g_ddraw->fixwndprochook = cfg_get_bool("fixwndprochook", FALSE);
|
||||
@ -149,11 +149,7 @@ void cfg_load()
|
||||
{
|
||||
g_ddraw->renderer = gdi_render_main;
|
||||
}
|
||||
else if (tolower(tmp[0]) == 'd') /* direct3d9 */
|
||||
{
|
||||
g_ddraw->renderer = d3d9_render_main;
|
||||
}
|
||||
else if (tolower(tmp[0]) == 'o') /* opengl */
|
||||
else /* opengl */
|
||||
{
|
||||
if (oglu_load_dll())
|
||||
{
|
||||
@ -165,22 +161,6 @@ void cfg_load()
|
||||
g_ddraw->renderer = gdi_render_main;
|
||||
}
|
||||
}
|
||||
else /* auto */
|
||||
{
|
||||
if (!g_ddraw->wine && d3d9_is_available())
|
||||
{
|
||||
g_ddraw->renderer = d3d9_render_main;
|
||||
}
|
||||
else if (oglu_load_dll())
|
||||
{
|
||||
g_ddraw->renderer = ogl_render_main;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_ddraw->show_driver_warning = TRUE;
|
||||
g_ddraw->renderer = gdi_render_main;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void cfg_save()
|
||||
|
@ -617,13 +617,13 @@ BOOL WINAPI fake_DestroyWindow(HWND hWnd)
|
||||
dst_height,
|
||||
flags);
|
||||
}
|
||||
|
||||
g_ddraw->fullscreen = g_ddraw->bnet_was_upscaled;
|
||||
|
||||
SetTimer(g_ddraw->hwnd, IDT_TIMER_LEAVE_BNET, 1000, (TIMERPROC)NULL);
|
||||
|
||||
g_ddraw->resizable = TRUE;
|
||||
}
|
||||
|
||||
g_ddraw->fullscreen = g_ddraw->bnet_was_upscaled;
|
||||
|
||||
SetTimer(g_ddraw->hwnd, IDT_TIMER_LEAVE_BNET, 1000, (TIMERPROC)NULL);
|
||||
|
||||
g_ddraw->resizable = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
@ -649,9 +649,12 @@ HWND WINAPI fake_CreateWindowExA(
|
||||
|
||||
if (!g_ddraw->windowed && !g_ddraw->bnet_was_fullscreen)
|
||||
{
|
||||
int ws = g_config.window_state;
|
||||
util_toggle_fullscreen();
|
||||
g_config.window_state = ws;
|
||||
memcpy(&g_ddraw->bnet_mode, &g_ddraw->render.mode, sizeof(DEVMODE));
|
||||
|
||||
g_ddraw->render.mode.dmPelsWidth = 640;
|
||||
g_ddraw->render.mode.dmPelsHeight = 480;
|
||||
ChangeDisplaySettings(&g_ddraw->render.mode, CDS_FULLSCREEN);
|
||||
|
||||
g_ddraw->bnet_was_fullscreen = TRUE;
|
||||
}
|
||||
|
||||
@ -684,8 +687,8 @@ HWND WINAPI fake_CreateWindowExA(
|
||||
int align_y = added_height > 0 ? added_height / 2 : 0;
|
||||
int align_x = added_width > 0 ? added_width / 2 : 0;
|
||||
|
||||
X += pt.x + align_x;
|
||||
Y += pt.y + align_y;
|
||||
X += pt.x;// +align_x;
|
||||
Y += pt.y;// +align_y;
|
||||
|
||||
dwStyle |= WS_CLIPCHILDREN;
|
||||
}
|
||||
|
@ -145,16 +145,12 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
|
||||
{
|
||||
KillTimer(g_ddraw->hwnd, IDT_TIMER_LEAVE_BNET);
|
||||
|
||||
if (!g_ddraw->windowed)
|
||||
g_ddraw->bnet_was_fullscreen = FALSE;
|
||||
|
||||
if (!g_ddraw->bnet_active)
|
||||
{
|
||||
if (g_ddraw->bnet_was_fullscreen)
|
||||
{
|
||||
int ws = g_config.window_state;
|
||||
util_toggle_fullscreen();
|
||||
g_config.window_state = ws;
|
||||
memcpy(&g_ddraw->render.mode, &g_ddraw->bnet_mode, sizeof(DEVMODE));
|
||||
dd_SetDisplayMode(g_ddraw->width, g_ddraw->height, g_ddraw->bpp, 0);
|
||||
g_ddraw->bnet_was_fullscreen = FALSE;
|
||||
}
|
||||
else if (g_ddraw->bnet_was_upscaled)
|
||||
|
Loading…
x
Reference in New Issue
Block a user