mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
update SetDIBitsToDevice hook
This commit is contained in:
parent
66a31e2282
commit
056c0750b2
@ -1120,7 +1120,22 @@ int WINAPI fake_SetDIBitsToDevice(
|
|||||||
{
|
{
|
||||||
HWND hwnd = WindowFromDC(hdc);
|
HWND hwnd = WindowFromDC(hdc);
|
||||||
|
|
||||||
if (g_ddraw.ref && g_ddraw.hwnd && hwnd == g_ddraw.hwnd)
|
char class_name[MAX_PATH] = { 0 };
|
||||||
|
|
||||||
|
if (g_ddraw.ref && g_ddraw.hwnd && hwnd && hwnd != g_ddraw.hwnd)
|
||||||
|
{
|
||||||
|
GetClassNameA(hwnd, class_name, sizeof(class_name) - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (g_ddraw.ref && g_ddraw.hwnd &&
|
||||||
|
(hwnd == g_ddraw.hwnd ||
|
||||||
|
(g_config.fixchilds && IsChild(g_ddraw.hwnd, hwnd) &&
|
||||||
|
(g_config.fixchilds == FIX_CHILDS_DETECT_HIDE ||
|
||||||
|
strcmp(class_name, "VideoRenderer") == 0 ||
|
||||||
|
strcmp(class_name, "AVI Window") == 0 ||
|
||||||
|
strcmp(class_name, "MCIAVI") == 0 ||
|
||||||
|
strcmp(class_name, "AVIWnd32") == 0 ||
|
||||||
|
strcmp(class_name, "MCIWndClass") == 0))))
|
||||||
{
|
{
|
||||||
if (g_ddraw.primary && (g_ddraw.primary->bpp == 16 || g_ddraw.primary->bpp == 32 || g_ddraw.primary->palette))
|
if (g_ddraw.primary && (g_ddraw.primary->bpp == 16 || g_ddraw.primary->bpp == 32 || g_ddraw.primary->palette))
|
||||||
{
|
{
|
||||||
@ -1129,19 +1144,22 @@ int WINAPI fake_SetDIBitsToDevice(
|
|||||||
|
|
||||||
if (primary_dc)
|
if (primary_dc)
|
||||||
{
|
{
|
||||||
|
POINT pt = { 0 };
|
||||||
|
real_MapWindowPoints(hwnd, g_ddraw.hwnd, &pt, 1);
|
||||||
|
|
||||||
int result =
|
int result =
|
||||||
real_SetDIBitsToDevice(
|
real_SetDIBitsToDevice(
|
||||||
primary_dc,
|
primary_dc,
|
||||||
xDest,
|
xDest + pt.x,
|
||||||
yDest,
|
yDest + pt.y,
|
||||||
w,
|
w,
|
||||||
h,
|
h,
|
||||||
xSrc,
|
xSrc,
|
||||||
ySrc,
|
ySrc,
|
||||||
StartScan,
|
StartScan,
|
||||||
cLines,
|
cLines,
|
||||||
lpvBits,
|
lpvBits,
|
||||||
lpbmi,
|
lpbmi,
|
||||||
ColorUse);
|
ColorUse);
|
||||||
|
|
||||||
dds_ReleaseDC(g_ddraw.primary, primary_dc);
|
dds_ReleaseDC(g_ddraw.primary, primary_dc);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user