diff --git a/ddraw.rc b/ddraw.rc index 475393c..e5737c6 100644 --- a/ddraw.rc +++ b/ddraw.rc @@ -4,7 +4,7 @@ #define VERSION_MAJOR 1 #define VERSION_MINOR 3 #define VERSION_BUILD 6 -#define VERSION_REVISION 0 +#define VERSION_REVISION 1 #define VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD, VERSION_REVISION #define VERSION_STRING ver_str(VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD, VERSION_REVISION) diff --git a/inc/main.h b/inc/main.h index b245998..5080845 100644 --- a/inc/main.h +++ b/inc/main.h @@ -131,7 +131,7 @@ typedef struct IDirectDrawImpl BOOL hidecursor; BOOL accurateTimers; BOOL resizable; - BOOL ddrawrefcount0; + BOOL tm2hack; BOOL sierrahack; BOOL bnetActive; BOOL bnetWasFullscreen; diff --git a/src/main.c b/src/main.c index bb29ac2..36c7911 100644 --- a/src/main.c +++ b/src/main.c @@ -1837,10 +1837,11 @@ ULONG __stdcall ddraw_Release(IDirectDrawImpl *This) } else { - This->lpVtbl->SetDisplayMode1 = ddraw_SetDisplayMode; + if (!This->tm2hack) + This->lpVtbl->SetDisplayMode1 = ddraw_SetDisplayMode; } - if (This->ddrawrefcount0) + if (This->tm2hack) return 0; return This->Ref; diff --git a/src/settings.c b/src/settings.c index b04f439..ce0d2fc 100644 --- a/src/settings.c +++ b/src/settings.c @@ -43,7 +43,7 @@ void Settings_Load() ddraw->vhack = GetBool("vhack", FALSE); ddraw->accurateTimers = GetBool("accuratetimers", FALSE); ddraw->resizable = GetBool("resizable", TRUE); - ddraw->ddrawrefcount0 = GetBool("ddrawrefcount0", FALSE); // Twisted Metal 2 DirectDraw Error hack + ddraw->tm2hack = GetBool("tm2hack", FALSE); // Twisted Metal 2 hack ddraw->sierrahack = GetBool("sierrahack", FALSE); // Sierra Caesar III, Pharaoh, and Zeus hack WindowRect.right = GetInt("width", 0); @@ -452,7 +452,7 @@ static void CreateSettingsIni() "renderer=gdi\n" "maxgameticks=60\n" "handlemouse=false\n" - "ddrawrefcount0=true\n" + "tm2hack=true\n" "\n" "; Caesar III\n" "[c3]\n"