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

Manual sensitivity scaling option to ini

This commit is contained in:
Toni Spets 2010-11-18 17:23:01 +02:00
parent 8a3f17a18e
commit 57e7ddf3fc
3 changed files with 13 additions and 2 deletions

7
main.c
View File

@ -520,8 +520,10 @@ HRESULT WINAPI DirectDrawCreate(GUID FAR* lpGUID, LPDIRECTDRAW FAR* lplpDD, IUnk
"vsync=false\n"
"; scaling filter, nearest = sharp, linear = smooth\n"
"filter=nearest\n"
"; mouse sensitivity scaling\n"
"; automatic mouse sensitivity scaling\n"
"adjmouse=false\n"
"; manual sensitivity scaling, 0 = disabled, 0.5 = half, 1.0 = normal\n"
"sensitivity=0.0\n"
"; enable C&C/RA mouse hack\n"
"mhack=true\n"
, fh);
@ -607,6 +609,9 @@ HRESULT WINAPI DirectDrawCreate(GUID FAR* lpGUID, LPDIRECTDRAW FAR* lplpDD, IUnk
This->vsync = FALSE;
}
GetPrivateProfileStringA("ddraw", "sensitivity", "0", tmp, sizeof(tmp), ini_path);
This->sensitivity = strtof(tmp, NULL);
This->Ref = 0;
ddraw_AddRef(This);

1
main.h
View File

@ -74,6 +74,7 @@ typedef struct IDirectDrawImpl
BOOL mhack;
BOOL devmode;
BOOL vsync;
float sensitivity;
} IDirectDrawImpl;

View File

@ -40,7 +40,12 @@ BOOL WINAPI fake_GetCursorPos(LPPOINT lpPoint)
{
GetCursorPos(&pt);
if(ddraw->adjmouse)
if(ddraw->sensitivity > 0 && ddraw->sensitivity < 10)
{
ddraw->cursor.x += (pt.x - ddraw->center.x) * ddraw->sensitivity;
ddraw->cursor.y += (pt.y - ddraw->center.y) * ddraw->sensitivity;
}
else if(ddraw->adjmouse)
{
ddraw->cursor.x += (pt.x - ddraw->center.x) * ((float)ddraw->width / ddraw->render.width);
ddraw->cursor.y += (pt.y - ddraw->center.y) * ((float)ddraw->height / ddraw->render.height);