1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-15 06:04:49 +01:00

Force mouse clip when using vhack

This commit is contained in:
Toni Spets 2011-03-24 19:42:36 +02:00
parent c073805db3
commit e048df42d7
3 changed files with 22 additions and 4 deletions

2
main.h
View File

@ -70,7 +70,7 @@ typedef struct IDirectDrawImpl
LRESULT CALLBACK (*WndProc)(HWND, UINT, WPARAM, LPARAM);
struct { float x; float y; } cursor;
POINT center;
RECT cursorclip;
struct { int width; int height; } cursorclip;
BOOL locked;
BOOL adjmouse;
BOOL mhack;

View File

@ -59,15 +59,15 @@ BOOL WINAPI fake_GetCursorPos(LPPOINT lpPoint)
if(ddraw->cursor.x < 0) ddraw->cursor.x = 0;
if(ddraw->cursor.y < 0) ddraw->cursor.y = 0;
if(ddraw->cursor.x > ddraw->width-1) ddraw->cursor.x = ddraw->width-1;
if(ddraw->cursor.x > ddraw->cursorclip.width-1) ddraw->cursor.x = ddraw->cursorclip.width-1;
if(real_height)
if(real_height > 0 && real_height < ddraw->cursorclip.height)
{
if(ddraw->cursor.y > real_height-1) ddraw->cursor.y = real_height-1;
}
else
{
if(ddraw->cursor.y > ddraw->height-1) ddraw->cursor.y = ddraw->height-1;
if(ddraw->cursor.y > ddraw->cursorclip.height-1) ddraw->cursor.y = ddraw->cursorclip.height-1;
}
if(pt.x != ddraw->center.x || pt.y != ddraw->center.y)

View File

@ -102,6 +102,24 @@ DWORD WINAPI render_main(void)
{
scale_w *= 640.0f / ddraw->width;
scale_h *= 400.0f / ddraw->height;
if (ddraw->cursorclip.width != 640 || ddraw->cursorclip.height != 400)
{
ddraw->cursorclip.width = 640;
ddraw->cursorclip.height = 400;
ddraw->cursor.x = 320;
ddraw->cursor.y = 200;
}
}
else
{
if (ddraw->cursorclip.width != ddraw->width || ddraw->cursorclip.height != ddraw->height)
{
ddraw->cursorclip.width = ddraw->width;
ddraw->cursorclip.height = ddraw->height;
ddraw->cursor.x = ddraw->width / 2;
ddraw->cursor.y = ddraw->height / 2;
}
}
for(i=0; i<ddraw->height; i++)