From e119a66788674a9066d1340366b2a8d479112951 Mon Sep 17 00:00:00 2001 From: Brent Hickey Date: Sun, 3 Dec 2023 00:11:10 -0800 Subject: [PATCH] [jak2] Support STICK_DEADZONE (#3239) fixes #3235 --- goal_src/jak2/engine/ps2/pad.gc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/goal_src/jak2/engine/ps2/pad.gc b/goal_src/jak2/engine/ps2/pad.gc index 8bc8c66e5..2d9a496b6 100644 --- a/goal_src/jak2/engine/ps2/pad.gc +++ b/goal_src/jak2/engine/ps2/pad.gc @@ -316,6 +316,11 @@ The cpad-set-buzz! function can be used for vibration. ;; weird leftover debug thing, enabling overrides the x position of both sticks on both controllers. (define *cpad-debug* #f) +(#if PC_PORT + (defconstant STICK_DEADZONE (-> *pc-settings* stick-deadzone)) + (defconstant STICK_DEADZONE 0.3) + ) + (defun service-cpads () "Read from cpads and update vibration" (let ((pads *cpad-list*)) @@ -526,7 +531,7 @@ The cpad-set-buzz! function can be used for vibration. (set! (-> pad stick0-dir) (atan (- f30-0) f28-0)) (set! (-> pad stick0-speed) (fmin 1.0 (sqrtf (+ (* f30-0 f30-0) (* f28-0 f28-0))))) ) - (if (< (-> pad stick0-speed) 0.3) + (if (< (-> pad stick0-speed) STICK_DEADZONE) (set! (-> pad stick0-speed) 0.0) ) ) @@ -540,7 +545,7 @@ The cpad-set-buzz! function can be used for vibration. ) ) (if (or (!= (-> pad button0-abs 0) (-> pad button0-abs 1)) - (or (< 0.3 (-> pad stick0-speed)) (zero? (-> pad change-time))) + (or (< STICK_DEADZONE (-> pad stick0-speed)) (zero? (-> pad change-time))) ) (set! (-> pad change-time) (get-current-time)) )