From ff6c33a8d62067c975a38608d106babac065c98d Mon Sep 17 00:00:00 2001 From: zeromus Date: Fri, 7 Jun 2024 00:18:02 -0400 Subject: [PATCH] winport - reduce joystick digitalization threshold from 60% to a more normal 50%. With a too-high threshold, it's impossible to specify diagonals. This is preferable for games without diagonals (else you accidentally crouch when you just meant to walk to the side) instead of 8-way games, so we have to be pretty aggressive about the threshold. But 50 is the more normal choice. --- desmume/src/frontend/windows/inputdx.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/desmume/src/frontend/windows/inputdx.cpp b/desmume/src/frontend/windows/inputdx.cpp index c6a6b40a9..feb00300c 100644 --- a/desmume/src/frontend/windows/inputdx.cpp +++ b/desmume/src/frontend/windows/inputdx.cpp @@ -670,8 +670,12 @@ int FunkyNormalize(int cur, int min, int max) } - -#define S9X_JOY_NEUTRAL 60 +//60 is a poor choice for a threshold; the theoretical maximum you can get even at an exact 45 degree angle is 70 +//Sloshy sticks or slightly-off angles make it impossible to reach 60, as it's far too close to 70. +//Too-small values feel bad, too +//50 is a more normal choice +//#define S9X_JOY_NEUTRAL 60 +#define S9X_JOY_NEUTRAL 50 void CheckAxis (short joy, short control, int val, int min, int max,