mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
#29 Fix Sierra City Building series scrolling bugs
This commit is contained in:
parent
3aed2239ab
commit
5231054096
@ -132,7 +132,7 @@ typedef struct IDirectDrawImpl
|
|||||||
BOOL accurateTimers;
|
BOOL accurateTimers;
|
||||||
BOOL resizable;
|
BOOL resizable;
|
||||||
BOOL ddrawrefcount0;
|
BOOL ddrawrefcount0;
|
||||||
BOOL forcewmmove;
|
BOOL sierrahack;
|
||||||
BOOL bnetActive;
|
BOOL bnetActive;
|
||||||
BOOL bnetWasFullscreen;
|
BOOL bnetWasFullscreen;
|
||||||
BOOL bnetWasUpscaled;
|
BOOL bnetWasUpscaled;
|
||||||
|
@ -957,8 +957,11 @@ HRESULT __stdcall ddraw_SetDisplayMode(IDirectDrawImpl *This, DWORD width, DWORD
|
|||||||
This->render.thread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)This->renderer, NULL, 0, NULL);
|
This->render.thread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)This->renderer, NULL, 0, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ddraw->forcewmmove)
|
if (ddraw->sierrahack)
|
||||||
|
{
|
||||||
PostMessageA(ddraw->hWnd, WM_MOVE, 0, MAKELPARAM(-32000, -32000));
|
PostMessageA(ddraw->hWnd, WM_MOVE, 0, MAKELPARAM(-32000, -32000));
|
||||||
|
PostMessageA(ddraw->hWnd, WM_DISPLAYCHANGE, ddraw->bpp, MAKELPARAM(ddraw->width, ddraw->height));
|
||||||
|
}
|
||||||
|
|
||||||
return DD_OK;
|
return DD_OK;
|
||||||
}
|
}
|
||||||
@ -1379,7 +1382,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||||||
if (!ddraw->handlemouse)
|
if (!ddraw->handlemouse)
|
||||||
RedrawWindow(hWnd, NULL, NULL, RDW_INVALIDATE | RDW_ALLCHILDREN);
|
RedrawWindow(hWnd, NULL, NULL, RDW_INVALIDATE | RDW_ALLCHILDREN);
|
||||||
|
|
||||||
if (ddraw->forcewmmove)
|
if (ddraw->sierrahack)
|
||||||
{
|
{
|
||||||
lParam = 0;
|
lParam = 0;
|
||||||
break;
|
break;
|
||||||
|
@ -44,7 +44,7 @@ void Settings_Load()
|
|||||||
ddraw->accurateTimers = GetBool("accuratetimers", FALSE);
|
ddraw->accurateTimers = GetBool("accuratetimers", FALSE);
|
||||||
ddraw->resizable = GetBool("resizable", TRUE);
|
ddraw->resizable = GetBool("resizable", TRUE);
|
||||||
ddraw->ddrawrefcount0 = GetBool("ddrawrefcount0", FALSE); // Twisted Metal 2 DirectDraw Error hack
|
ddraw->ddrawrefcount0 = GetBool("ddrawrefcount0", FALSE); // Twisted Metal 2 DirectDraw Error hack
|
||||||
ddraw->forcewmmove = GetBool("forcewmmove", FALSE); // Sierra Caesar III, Pharaoh, and Zeus hack
|
ddraw->sierrahack = GetBool("sierrahack", FALSE); // Sierra Caesar III, Pharaoh, and Zeus hack
|
||||||
|
|
||||||
WindowRect.right = GetInt("width", 0);
|
WindowRect.right = GetInt("width", 0);
|
||||||
WindowRect.bottom = GetInt("height", 0);
|
WindowRect.bottom = GetInt("height", 0);
|
||||||
@ -450,17 +450,17 @@ static void CreateSettingsIni()
|
|||||||
"; Caesar III\n"
|
"; Caesar III\n"
|
||||||
"[c3]\n"
|
"[c3]\n"
|
||||||
"handlemouse=false\n"
|
"handlemouse=false\n"
|
||||||
"forcewmmove=true\n"
|
"sierrahack=true\n"
|
||||||
"\n"
|
"\n"
|
||||||
"; Pharaoh\n"
|
"; Pharaoh\n"
|
||||||
"[Pharaoh]\n"
|
"[Pharaoh]\n"
|
||||||
"handlemouse=false\n"
|
"handlemouse=false\n"
|
||||||
"forcewmmove=true\n"
|
"sierrahack=true\n"
|
||||||
"\n"
|
"\n"
|
||||||
"; Master of Olympus - Zeus\n"
|
"; Master of Olympus - Zeus\n"
|
||||||
"[Zeus]\n"
|
"[Zeus]\n"
|
||||||
"handlemouse=false\n"
|
"handlemouse=false\n"
|
||||||
"forcewmmove=true\n"
|
"sierrahack=true\n"
|
||||||
"renderer=gdi\n"
|
"renderer=gdi\n"
|
||||||
"hook=2\n"
|
"hook=2\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user