From 857e054912365eaa7e0032927eddab24644793f1 Mon Sep 17 00:00:00 2001
From:  <jodaman@cegt201.bradley.edu>
Date: Fri, 12 Nov 1999 03:23:50 +0000
Subject: [PATCH] Fixed joystick scaling.

---
 dlls/winmm/joystick.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/winmm/joystick.c b/dlls/winmm/joystick.c
index e863412d45c..8c00cf036ca 100644
--- a/dlls/winmm/joystick.c
+++ b/dlls/winmm/joystick.c
@@ -107,8 +107,8 @@ void joySendMessages(void)
 		if (joyOpenDriver(joy) == FALSE) continue;
                 dev_stat = read(joy_dev[joy], &js, sizeof(js));
                 if (dev_stat == sizeof(js)) {
-                        js.x = js.x*37;
-                        js.y = js.y*37;
+                        js.x = js.x<<8;
+                        js.y = js.y<<8;
                         if ((joyCapData[joy].wXpos != js.x) || (joyCapData[joy].wYpos != js.y)) {
                                 SendMessageA(CaptureWnd[joy], MM_JOY1MOVE + joy, js.buttons, MAKELONG(js.x, js.y));
                                 joyCapData[joy].wXpos = js.x;
@@ -318,8 +318,8 @@ MMRESULT16 WINAPI joyGetPos16(UINT16 wID, LPJOYINFO16 lpInfo)
 		return JOYERR_UNPLUGGED; /* FIXME: perhaps wrong, but what should I return else ? */
 	}
 	count_use[wID] = 0;
-	js.x = js.x*37;
-	js.y = js.y*37;
+	js.x = js.x<<8;
+	js.y = js.y<<8;
 	lpInfo->wXpos = js.x;   /* FIXME: perhaps multiply it somehow ? */
 	lpInfo->wYpos = js.y;
 	lpInfo->wZpos = 0; /* FIXME: Don't know what to do with this value as joystick driver doesn't provide a Z value */
-- 
GitLab