mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
remove some devmode fullscreen checks since it works perfectly in windowed mode now
This commit is contained in:
parent
4cf4e55b87
commit
3b94b2f1d9
82
src/main.c
82
src/main.c
@ -517,55 +517,52 @@ HRESULT __stdcall ddraw_SetDisplayMode(IDirectDrawImpl *This, DWORD width, DWORD
|
|||||||
|
|
||||||
BOOL maintas = ddraw->maintas;
|
BOOL maintas = ddraw->maintas;
|
||||||
|
|
||||||
if(!This->windowed)
|
if (!This->windowed)
|
||||||
{
|
{
|
||||||
// Making sure the chosen resolution is valid
|
// Making sure the chosen resolution is valid
|
||||||
if(!This->devmode)
|
int oldWidth = This->render.width;
|
||||||
|
int oldHeight = This->render.height;
|
||||||
|
|
||||||
|
if (ChangeDisplaySettings(&This->render.mode, CDS_TEST) != DISP_CHANGE_SUCCESSFUL)
|
||||||
{
|
{
|
||||||
int oldWidth = This->render.width;
|
// fail... compare resolutions
|
||||||
int oldHeight = This->render.height;
|
if (This->render.width > This->mode.dmPelsWidth || This->render.height > This->mode.dmPelsHeight)
|
||||||
|
|
||||||
if (ChangeDisplaySettings(&This->render.mode, CDS_TEST) != DISP_CHANGE_SUCCESSFUL)
|
|
||||||
{
|
{
|
||||||
// fail... compare resolutions
|
// chosen game resolution higher than current resolution, use window mode for this case
|
||||||
if (This->render.width > This->mode.dmPelsWidth || This->render.height > This->mode.dmPelsHeight)
|
This->windowed = TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Try 2x scaling
|
||||||
|
This->render.width *= 2;
|
||||||
|
This->render.height *= 2;
|
||||||
|
|
||||||
|
This->render.mode.dmPelsWidth = This->render.width;
|
||||||
|
This->render.mode.dmPelsHeight = This->render.height;
|
||||||
|
|
||||||
|
if ((This->render.width > This->mode.dmPelsWidth || This->render.height > This->mode.dmPelsHeight) ||
|
||||||
|
ChangeDisplaySettings(&This->render.mode, CDS_TEST) != DISP_CHANGE_SUCCESSFUL)
|
||||||
{
|
{
|
||||||
// chosen game resolution higher than current resolution, use window mode for this case
|
// try current display settings
|
||||||
This->windowed = TRUE;
|
This->render.width = This->mode.dmPelsWidth;
|
||||||
}
|
This->render.height = This->mode.dmPelsHeight;
|
||||||
else
|
|
||||||
{
|
|
||||||
// Try 2x scaling
|
|
||||||
This->render.width *= 2;
|
|
||||||
This->render.height *= 2;
|
|
||||||
|
|
||||||
This->render.mode.dmPelsWidth = This->render.width;
|
This->render.mode.dmPelsWidth = This->render.width;
|
||||||
This->render.mode.dmPelsHeight = This->render.height;
|
This->render.mode.dmPelsHeight = This->render.height;
|
||||||
|
|
||||||
if ((This->render.width > This->mode.dmPelsWidth || This->render.height > This->mode.dmPelsHeight) ||
|
if (ChangeDisplaySettings(&This->render.mode, CDS_TEST) != DISP_CHANGE_SUCCESSFUL)
|
||||||
ChangeDisplaySettings(&This->render.mode, CDS_TEST) != DISP_CHANGE_SUCCESSFUL)
|
|
||||||
{
|
{
|
||||||
// try current display settings
|
// everything failed, use window mode instead
|
||||||
This->render.width = This->mode.dmPelsWidth;
|
This->render.width = oldWidth;
|
||||||
This->render.height = This->mode.dmPelsHeight;
|
This->render.height = oldHeight;
|
||||||
|
|
||||||
This->render.mode.dmPelsWidth = This->render.width;
|
This->render.mode.dmPelsWidth = This->render.width;
|
||||||
This->render.mode.dmPelsHeight = This->render.height;
|
This->render.mode.dmPelsHeight = This->render.height;
|
||||||
|
|
||||||
if (ChangeDisplaySettings(&This->render.mode, CDS_TEST) != DISP_CHANGE_SUCCESSFUL)
|
This->windowed = TRUE;
|
||||||
{
|
|
||||||
// everything failed, use window mode instead
|
|
||||||
This->render.width = oldWidth;
|
|
||||||
This->render.height = oldHeight;
|
|
||||||
|
|
||||||
This->render.mode.dmPelsWidth = This->render.width;
|
|
||||||
This->render.mode.dmPelsHeight = This->render.height;
|
|
||||||
|
|
||||||
This->windowed = TRUE;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
maintas = TRUE;
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
maintas = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -653,13 +650,10 @@ HRESULT __stdcall ddraw_SetDisplayMode(IDirectDrawImpl *This, DWORD width, DWORD
|
|||||||
if (This->renderer == render_d3d9_main)
|
if (This->renderer == render_d3d9_main)
|
||||||
InitDirect3D9();
|
InitDirect3D9();
|
||||||
|
|
||||||
if(!This->devmode)
|
if (!Direct3D9Active && ChangeDisplaySettings(&This->render.mode, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL)
|
||||||
{
|
{
|
||||||
if (!Direct3D9Active && ChangeDisplaySettings(&This->render.mode, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL)
|
This->render.run = FALSE;
|
||||||
{
|
return DDERR_INVALIDMODE;
|
||||||
This->render.run = FALSE;
|
|
||||||
return DDERR_INVALIDMODE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ddraw->wine)
|
if (ddraw->wine)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user