From f5bc0146d7233c4f2221ed1fc95ca25e34bccf60 Mon Sep 17 00:00:00 2001 From: Alex Rowe Date: Sun, 12 Feb 2017 15:33:25 -0600 Subject: [PATCH] Added Clamping to Joystick Values Added Clamp function to general.c Now clamps all final joystick values to be from 0 - 32767 (2^15 - 1). Output from the 3ds was giving a strange range on the values, even though the code expected it to be in the range -128 to 128. Was more like -146 to 146 on the c-stick, and -170 to 170 on the circle pad. This may remove some of the resolution of the sticks, but increase compatability with programs. --- PC/3DSController.exe | Bin 95776 -> 83950 bytes PC/include/general.h | 2 ++ PC/source/general.c | 20 ++++++++++++++++---- PC/source/main.c | 36 ++++++++++++++++++------------------ 4 files changed, 36 insertions(+), 22 deletions(-) diff --git a/PC/3DSController.exe b/PC/3DSController.exe index e60e4c6a8f3264484b2f8706b825dbf3823f236f..5b54716913795ecdd3c203bcd198cbb498398623 100644 GIT binary patch literal 83950 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 M+}UlPSabD%0Zn6@ApigX literal 95776 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Ÿ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�r5ZZmew{`(D_oWz`F)R9VY3tHHG(s=8f_ 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 UETR!Hsz9I?SMx_XvBK~F03v${{Qv*} diff --git a/PC/include/general.h b/PC/include/general.h index 2b7622f..39f4d5f 100644 --- a/PC/include/general.h +++ b/PC/include/general.h @@ -3,3 +3,5 @@ #include void error(const char *functionName); + +int clamp(int val, int min, int max); diff --git a/PC/source/general.c b/PC/source/general.c index bf7e137..402acdc 100644 --- a/PC/source/general.c +++ b/PC/source/general.c @@ -5,14 +5,26 @@ void error(const char *functionName) { char errorMsg[92]; ZeroMemory(errorMsg, 92); - + sprintf(errorMsg, "Call to %s returned error %d!", (char *)functionName, WSAGetLastError()); - + MessageBox(NULL, errorMsg, "socketIndication", MB_OK); - + closesocket(client); closesocket(listener); WSACleanup(); - + exit(0); } + +int clamp (int val, int min, int max) { + if (val < min) { + return min; + } + + if (val > max) { + return max; + } + + return val; +} diff --git a/PC/source/main.c b/PC/source/main.c index 54504b3..959c375 100644 --- a/PC/source/main.c +++ b/PC/source/main.c @@ -200,51 +200,51 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmd, int nShow) joyX = 16383; //Halfway between the x joyY = 16383; //Halfway between the y } - + else if(settings.touch == joystick2) { joyRX = 16383; //Halfway between the rx joyRY = 16383; //Halfway between the ry } } - + if(settings.circlePad == mouse) { if(abs(circlePad.x) < settings.mouseSpeed * 3) circlePad.x = 0; if(abs(circlePad.y) < settings.mouseSpeed * 3) circlePad.y = 0; - + POINT p; GetCursorPos(&p); SetCursorPos(p.x + (circlePad.x * settings.mouseSpeed) / 32, p.y - (circlePad.y * settings.mouseSpeed) / 32); } else if(settings.circlePad == joystick1) { - joyX = (circlePad.x + 128) * 128; - joyY = (128 - circlePad.y) * 128; + joyX = clamp((circlePad.x + 128) * 128, 0, 32767); + joyY = clamp((128 - circlePad.y) * 128, 0, 32767); } - + else if(settings.circlePad == joystick2) { - joyRX = (circlePad.x + 128) * 128; - joyRY = (128 - circlePad.y) * 128; + joyRX = clamp((circlePad.x + 128) * 128, 0, 32767); + joyRY = clamp((128 - circlePad.y) * 128, 0, 32767); } - + if(settings.cStick == mouse) { if(abs(cStick.x) < settings.mouseSpeed * 3) cStick.x = 0; if(abs(cStick.y) < settings.mouseSpeed * 3) cStick.y = 0; - + POINT p; GetCursorPos(&p); SetCursorPos(p.x + (cStick.x * settings.mouseSpeed) / 32, p.y - (cStick.y * settings.mouseSpeed) / 32); } - + else if(settings.cStick == joystick1) { - joyX = (cStick.x + 128) * 128; - joyY = (128 - cStick.y) * 128; + joyX = clamp((cStick.x + 128) * 128, 0, 32767); + joyY = clamp((128 - cStick.y) * 128, 0, 32767); } - + else if(settings.cStick == joystick2) { - joyRX = (cStick.x + 128) * 128; - joyRY = (128 - cStick.y) * 128; + joyRX = clamp((cStick.x + 128) * 128, 0, 32767); + joyRY = clamp((128 - cStick.y) * 128, 0, 32767); } - - + + if(settings.dPad == cPov) { if((currentKeys & KEY_DUP) && !(currentKeys & KEY_DLEFT)) { if((currentKeys & KEY_DRIGHT)) {