summaryrefslogtreecommitdiff
path: root/soh/src/code
diff options
context:
space:
mode:
authorSirius902 <10891979+Sirius902@users.noreply.github.com>2022-04-26 16:50:24 -0700
committerGitHub <noreply@github.com>2022-04-26 19:50:24 -0400
commiteea5135d629fc4589c4a51680d42841ff189e542 (patch)
tree9a8330ee8603ac9fd03b3c2d43ac28c2112530e2 /soh/src/code
parent486f673df53fa63a96d6173991189084027ebd72 (diff)
Rumble cvar and fixes (#184)
* Rumble indefinitely until turned off * Add rumble cvar * Register CVar * Check if controller can rumble to insert rumble pak * Reduce verbosity of checks * Remove extraneous const_cast * Once again remove extraneous const_cast * Add per-controller settings * Add nice spacing * Only display controller entry if pad connected * Const some stuff
Diffstat (limited to 'soh/src/code')
-rw-r--r--soh/src/code/padmgr.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/soh/src/code/padmgr.c b/soh/src/code/padmgr.c
index 973c2b446..08c89869f 100644
--- a/soh/src/code/padmgr.c
+++ b/soh/src/code/padmgr.c
@@ -269,7 +269,7 @@ void PadMgr_ProcessInputs(PadMgr* padMgr) {
input->press.stick_y += (s8)(input->cur.stick_y - input->prev.stick_y);
}
- controllerCallback.rumble = padMgr->rumbleEnable[0] > 0 ? 1 : 0;
+ controllerCallback.rumble = CVar_GetS32("gRumbleEnabled", 0) && (padMgr->rumbleEnable[0] > 0);
if (HealthMeter_IsCritical()) {
controllerCallback.ledColor = 0;
@@ -303,6 +303,11 @@ void PadMgr_HandleRetraceMsg(PadMgr* padMgr) {
}
osRecvMesg(queue, NULL, OS_MESG_BLOCK);
osContGetReadData(padMgr->pads);
+
+ for (i = 0; i < __osMaxControllers; i++) {
+ padMgr->padStatus[i].status = CVar_GetS32("gRumbleEnabled", 0) && Controller_ShouldRumble(i);
+ }
+
if (padMgr->preNMIShutdown) {
memset(padMgr->pads, 0, sizeof(padMgr->pads));
}