From 9cec4208a469cce4f1d1e1167e9a18e16f4d0f68 Mon Sep 17 00:00:00 2001 From: Mariotaku Lee Date: Mon, 19 Apr 2021 15:41:53 +0900 Subject: [PATCH] Fixed trigger left/right range Added .ignore for common build dir --- .gitignore | 1 + src/input/sdl.c | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..567609b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build/ diff --git a/src/input/sdl.c b/src/input/sdl.c index 3e18483..911cf56 100644 --- a/src/input/sdl.c +++ b/src/input/sdl.c @@ -186,19 +186,19 @@ int sdlinput_handle_event(SDL_Event* event) { gamepad->leftStickX = event->caxis.value; break; case SDL_CONTROLLER_AXIS_LEFTY: - gamepad->leftStickY = -event->caxis.value - 1; + gamepad->leftStickY = -SDL_max(event->caxis.value, (short)-32767); break; case SDL_CONTROLLER_AXIS_RIGHTX: gamepad->rightStickX = event->caxis.value; break; case SDL_CONTROLLER_AXIS_RIGHTY: - gamepad->rightStickY = -event->caxis.value - 1; + gamepad->rightStickY = -SDL_max(event->caxis.value, (short)-32767); break; case SDL_CONTROLLER_AXIS_TRIGGERLEFT: - gamepad->leftTrigger = (event->caxis.value >> 8) + 127; + gamepad->leftTrigger = (unsigned char)(event->caxis.value * 255UL / 32767); break; case SDL_CONTROLLER_AXIS_TRIGGERRIGHT: - gamepad->rightTrigger = (event->caxis.value >> 8) + 127; + gamepad->rightTrigger = (unsigned char)(event->caxis.value * 255UL / 32767); break; default: return SDL_NOTHING;