add hack for c1 lowres
This commit is contained in:
parent
f54a3ec171
commit
dfd3776081
3 changed files with 15 additions and 3 deletions
|
@ -104,6 +104,7 @@ typedef struct CNCDDRAWCONFIG
|
||||||
BOOL mgs_hack;
|
BOOL mgs_hack;
|
||||||
BOOL tlc_hack;
|
BOOL tlc_hack;
|
||||||
BOOL homm_hack;
|
BOOL homm_hack;
|
||||||
|
BOOL carma95_hack;
|
||||||
|
|
||||||
} CNCDDRAWCONFIG;
|
} CNCDDRAWCONFIG;
|
||||||
|
|
||||||
|
|
|
@ -114,6 +114,7 @@ void cfg_load()
|
||||||
GET_BOOL(g_config.mgs_hack, "mgs_hack", FALSE);
|
GET_BOOL(g_config.mgs_hack, "mgs_hack", FALSE);
|
||||||
GET_BOOL(g_config.tlc_hack, "tlc_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, "homm_hack", FALSE);
|
||||||
|
GET_BOOL(g_config.homm_hack, "carma95_hack", FALSE);
|
||||||
|
|
||||||
GameHandlesClose = GameHandlesClose || g_config.infantryhack;
|
GameHandlesClose = GameHandlesClose || g_config.infantryhack;
|
||||||
|
|
||||||
|
@ -510,11 +511,13 @@ static void cfg_create_ini()
|
||||||
"[CARMA95]\n"
|
"[CARMA95]\n"
|
||||||
"noactivateapp=true\n"
|
"noactivateapp=true\n"
|
||||||
"flipclear=true\n"
|
"flipclear=true\n"
|
||||||
|
"carma95_hack=true\n"
|
||||||
"\n"
|
"\n"
|
||||||
"; Carmageddon\n"
|
"; Carmageddon\n"
|
||||||
"[CARM95]\n"
|
"[CARM95]\n"
|
||||||
"noactivateapp=true\n"
|
"noactivateapp=true\n"
|
||||||
"flipclear=true\n"
|
"flipclear=true\n"
|
||||||
|
"carma95_hack=true\n"
|
||||||
"\n"
|
"\n"
|
||||||
"; Carmageddon 2\n"
|
"; Carmageddon 2\n"
|
||||||
"[Carma2_SW]\n"
|
"[Carma2_SW]\n"
|
||||||
|
|
|
@ -755,8 +755,16 @@ HRESULT dds_EnumAttachedSurfaces(
|
||||||
|
|
||||||
if (This->backbuffer)
|
if (This->backbuffer)
|
||||||
{
|
{
|
||||||
dds_GetSurfaceDesc(This->backbuffer, (LPDDSURFACEDESC)&desc);
|
if (g_config.carma95_hack && g_ddraw.height == 200)
|
||||||
lpEnumSurfacesCallback((LPDIRECTDRAWSURFACE)This->backbuffer, (LPDDSURFACEDESC)&desc, lpContext);
|
{
|
||||||
|
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;
|
return DD_OK;
|
||||||
|
@ -766,7 +774,7 @@ HRESULT dds_Flip(IDirectDrawSurfaceImpl* This, IDirectDrawSurfaceImpl* lpDDSurfa
|
||||||
{
|
{
|
||||||
dbg_dump_dds_flip_flags(dwFlags);
|
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);
|
EnterCriticalSection(&g_ddraw.cs);
|
||||||
IDirectDrawSurfaceImpl* backbuffer = lpDDSurfaceTargetOverride ? lpDDSurfaceTargetOverride : This->backbuffer;
|
IDirectDrawSurfaceImpl* backbuffer = lpDDSurfaceTargetOverride ? lpDDSurfaceTargetOverride : This->backbuffer;
|
||||||
|
|
Loading…
Reference in a new issue