06-28-2023, 04:27 AM
The game assigns a fixed speed flag to jump pad variants 3 and 4 (MG ramp and MG mushroom) and sets a trigger flag for MG mushrooms specifically. When the jump pad state ends, the game only unsets the fixed speed flag if the mushroom trigger flag is set. If it's not, this leads to the offroad glitch. This solution generically unsets the flag when the jump pad state ends.
PAL
C258267C 00000003
90030004 8003000C
54000314 9003000C
60000000 00000000
NTSC-U
C257BE18 00000003
90030004 8003000C
54000314 9003000C
60000000 00000000
NTSC-J
C2581FFC 00000003
90030004 8003000C
54000314 9003000C
60000000 00000000
NTSC-K
C25706D4 00000003
90030004 8003000C
54000314 9003000C
60000000 00000000
PAL
C258267C 00000003
90030004 8003000C
54000314 9003000C
60000000 00000000
NTSC-U
C257BE18 00000003
90030004 8003000C
54000314 9003000C
60000000 00000000
NTSC-J
C2581FFC 00000003
90030004 8003000C
54000314 9003000C
60000000 00000000
NTSC-K
C25706D4 00000003
90030004 8003000C
54000314 9003000C
60000000 00000000
Code:
# 8058267C - RMCP
# 8057BE18 - RMCE
# 80581FFC - RMCJ
# 805706D4 - RMCK
stw r0,0x4(r3) # original instruction
lwz r0,0xc(r3)
rlwinm r0,r0,0,0xc,0xa
stw r0,0xc(r3)