mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-16 06:18:53 +01:00
tweak StretchBlt hook
This commit is contained in:
parent
c9262a5ee9
commit
5595dbeff7
@ -1001,7 +1001,7 @@ static void cfg_create_ini()
|
|||||||
"nonexclusive=true\n"
|
"nonexclusive=true\n"
|
||||||
"maxgameticks=60\n"
|
"maxgameticks=60\n"
|
||||||
"adjmouse=true\n"
|
"adjmouse=true\n"
|
||||||
"fixchilds=1\n"
|
"fixchilds=2\n"
|
||||||
"maintas=false\n"
|
"maintas=false\n"
|
||||||
"boxing=false\n"
|
"boxing=false\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -559,18 +559,37 @@ BOOL WINAPI fake_StretchBlt(
|
|||||||
int hSrc,
|
int hSrc,
|
||||||
DWORD rop)
|
DWORD rop)
|
||||||
{
|
{
|
||||||
if (g_ddraw && g_ddraw->primary && WindowFromDC(hdcDest) == g_ddraw->hwnd)
|
if (g_ddraw && WindowFromDC(hdcDest) == g_ddraw->hwnd)
|
||||||
{
|
{
|
||||||
HDC primary_dc;
|
if (g_ddraw->primary)
|
||||||
dds_GetDC(g_ddraw->primary, &primary_dc);
|
|
||||||
|
|
||||||
if (primary_dc)
|
|
||||||
{
|
{
|
||||||
BOOL result = real_StretchBlt(primary_dc, xDest, yDest, wDest, hDest, hdcSrc, xSrc, ySrc, wSrc, hSrc, rop);
|
HDC primary_dc;
|
||||||
|
dds_GetDC(g_ddraw->primary, &primary_dc);
|
||||||
|
|
||||||
dds_ReleaseDC(g_ddraw->primary, primary_dc);
|
if (primary_dc)
|
||||||
|
{
|
||||||
|
BOOL result =
|
||||||
|
real_StretchBlt(primary_dc, xDest, yDest, wDest, hDest, hdcSrc, xSrc, ySrc, wSrc, hSrc, rop);
|
||||||
|
|
||||||
return result;
|
dds_ReleaseDC(g_ddraw->primary, primary_dc);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (g_ddraw->width > 0)
|
||||||
|
{
|
||||||
|
return real_StretchBlt(
|
||||||
|
hdcDest,
|
||||||
|
xDest + g_ddraw->render.viewport.x,
|
||||||
|
yDest + g_ddraw->render.viewport.y,
|
||||||
|
wDest * g_ddraw->render.scale_w,
|
||||||
|
hDest * g_ddraw->render.scale_h,
|
||||||
|
hdcSrc,
|
||||||
|
xSrc,
|
||||||
|
ySrc,
|
||||||
|
wSrc,
|
||||||
|
hSrc,
|
||||||
|
rop);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user