add hack for c1 lowres

This commit is contained in:
FunkyFr3sh 2024-07-03 04:24:27 +02:00
parent f54a3ec171
commit dfd3776081
3 changed files with 15 additions and 3 deletions

View file

@ -104,6 +104,7 @@ typedef struct CNCDDRAWCONFIG
BOOL mgs_hack;
BOOL tlc_hack;
BOOL homm_hack;
BOOL carma95_hack;
} CNCDDRAWCONFIG;

View file

@ -114,6 +114,7 @@ void cfg_load()
GET_BOOL(g_config.mgs_hack, "mgs_hack", FALSE);
GET_BOOL(g_config.tlc_hack, "tlc_hack", FALSE);
GET_BOOL(g_config.homm_hack, "homm_hack", FALSE);
GET_BOOL(g_config.homm_hack, "carma95_hack", FALSE);
GameHandlesClose = GameHandlesClose || g_config.infantryhack;
@ -510,11 +511,13 @@ static void cfg_create_ini()
"[CARMA95]\n"
"noactivateapp=true\n"
"flipclear=true\n"
"carma95_hack=true\n"
"\n"
"; Carmageddon\n"
"[CARM95]\n"
"noactivateapp=true\n"
"flipclear=true\n"
"carma95_hack=true\n"
"\n"
"; Carmageddon 2\n"
"[Carma2_SW]\n"

View file

@ -755,8 +755,16 @@ HRESULT dds_EnumAttachedSurfaces(
if (This->backbuffer)
{
dds_GetSurfaceDesc(This->backbuffer, (LPDDSURFACEDESC)&desc);
lpEnumSurfacesCallback((LPDIRECTDRAWSURFACE)This->backbuffer, (LPDDSURFACEDESC)&desc, lpContext);
if (g_config.carma95_hack && g_ddraw.height == 200)
{
dds_GetSurfaceDesc(This, (LPDDSURFACEDESC)&desc);
lpEnumSurfacesCallback((LPDIRECTDRAWSURFACE)This, (LPDDSURFACEDESC)&desc, lpContext);
}
else
{
dds_GetSurfaceDesc(This->backbuffer, (LPDDSURFACEDESC)&desc);
lpEnumSurfacesCallback((LPDIRECTDRAWSURFACE)This->backbuffer, (LPDDSURFACEDESC)&desc, lpContext);
}
}
return DD_OK;
@ -766,7 +774,7 @@ HRESULT dds_Flip(IDirectDrawSurfaceImpl* This, IDirectDrawSurfaceImpl* lpDDSurfa
{
dbg_dump_dds_flip_flags(dwFlags);
if (This->backbuffer && !This->skip_flip)
if (This->backbuffer && !This->skip_flip && !(g_config.carma95_hack && g_ddraw.height == 200))
{
EnterCriticalSection(&g_ddraw.cs);
IDirectDrawSurfaceImpl* backbuffer = lpDDSurfaceTargetOverride ? lpDDSurfaceTargetOverride : This->backbuffer;