fix cursor position issues with downscaling

This commit is contained in:
FunkyFr3sh 2023-09-14 16:47:28 +02:00
parent 597cdd9b48
commit accc47e377
5 changed files with 32 additions and 22 deletions

View file

@ -817,11 +817,16 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
g_ddraw->render.unscale_w = ((float)g_ddraw->width / g_ddraw->render.viewport.width);
g_ddraw->render.unscale_h = ((float)g_ddraw->height / g_ddraw->render.viewport.height);
g_ddraw->mouse.scale_x = ((float)(g_ddraw->render.viewport.width - 1) / (g_ddraw->width - 1));
g_ddraw->mouse.scale_y = ((float)(g_ddraw->render.viewport.height - 1) / (g_ddraw->height - 1));
g_ddraw->mouse.unscale_x = ((float)(g_ddraw->width - 1) / (g_ddraw->render.viewport.width - 1));
g_ddraw->mouse.unscale_y = ((float)(g_ddraw->height - 1) / (g_ddraw->render.viewport.height - 1));
g_ddraw->mouse.x_adjust = g_ddraw->render.viewport.x;
g_ddraw->mouse.y_adjust = g_ddraw->render.viewport.y;
g_ddraw->mouse.rc.left = g_ddraw->mouse.x_adjust;;
g_ddraw->mouse.rc.top = g_ddraw->mouse.y_adjust;;
g_ddraw->mouse.rc.left = g_ddraw->mouse.x_adjust;
g_ddraw->mouse.rc.top = g_ddraw->mouse.y_adjust;
g_ddraw->mouse.rc.right = g_ddraw->width + g_ddraw->mouse.x_adjust;
g_ddraw->mouse.rc.bottom = g_ddraw->height + g_ddraw->mouse.y_adjust;