Skip to content

Commit 93319d4

Browse files
committed
add support for limiting game speed of GDI games
1 parent 90fadd3 commit 93319d4

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/winapi_hooks.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,6 +1032,11 @@ BOOL WINAPI fake_StretchBlt(
10321032
{
10331033
HWND hwnd = WindowFromDC(hdcDest);
10341034

1035+
if (g_ddraw.ref && g_ddraw.hwnd && hwnd == g_ddraw.hwnd && !g_ddraw.primary)
1036+
{
1037+
InterlockedExchange(&g_ddraw.render.screen_updated, TRUE);
1038+
}
1039+
10351040
char class_name[MAX_PATH] = { 0 };
10361041

10371042
if (g_ddraw.ref && g_ddraw.hwnd && hwnd && hwnd != g_ddraw.hwnd)
@@ -1140,6 +1145,11 @@ BOOL WINAPI fake_BitBlt(
11401145
{
11411146
HWND hwnd = WindowFromDC(hdc);
11421147

1148+
if (g_ddraw.ref && g_ddraw.hwnd && hwnd == g_ddraw.hwnd && !g_ddraw.primary)
1149+
{
1150+
InterlockedExchange(&g_ddraw.render.screen_updated, TRUE);
1151+
}
1152+
11431153
char class_name[MAX_PATH] = { 0 };
11441154

11451155
if (g_ddraw.ref && g_ddraw.hwnd && hwnd && hwnd != g_ddraw.hwnd)
@@ -1236,6 +1246,11 @@ int WINAPI fake_SetDIBitsToDevice(
12361246
{
12371247
HWND hwnd = WindowFromDC(hdc);
12381248

1249+
if (g_ddraw.ref && g_ddraw.hwnd && hwnd == g_ddraw.hwnd && !g_ddraw.primary)
1250+
{
1251+
InterlockedExchange(&g_ddraw.render.screen_updated, TRUE);
1252+
}
1253+
12391254
char class_name[MAX_PATH] = { 0 };
12401255

12411256
if (g_ddraw.ref && g_ddraw.hwnd && hwnd && hwnd != g_ddraw.hwnd)
@@ -1326,6 +1341,11 @@ int WINAPI fake_StretchDIBits(
13261341
{
13271342
HWND hwnd = WindowFromDC(hdc);
13281343

1344+
if (g_ddraw.ref && g_ddraw.hwnd && hwnd == g_ddraw.hwnd && !g_ddraw.primary)
1345+
{
1346+
InterlockedExchange(&g_ddraw.render.screen_updated, TRUE);
1347+
}
1348+
13291349
char class_name[MAX_PATH] = { 0 };
13301350

13311351
if (g_ddraw.ref && g_ddraw.hwnd && hwnd && hwnd != g_ddraw.hwnd)

0 commit comments

Comments
 (0)