Summary: | Double Key Jump Fix |
Description: | This mitigates a very niche glitch that prevents Mario from jumping when interacting with the top of two keys at the same time. More detailed explanation: When $1471 is set to #$02, it will force a specific behavior used by the Portable Springboard and Pea Bouncer sprites, which lets the player stand but be unable to jump. This is because those sprites are intended to "release" Mario automatically. When Mario steps on a Key/P-Switch, it doesn't force $1471 to a static value of #$01 like other rideable sprites; it increments the value instead. So if two Keys are simultaneously touching Mario, the value is set to #$02 instead and locking Mario's jump. These modifications force the behavior to apply to negative values of $1471 instead, and then forces the Portable Springboard and Pea Bouncer to write a value of #$FF instead of #$02 to $1471. This may require some tweaks to disassemblies or sprites based upon the Springboard/Pea Bouncer sprites. If you wish to detect this hijack within custom resources: Code if read2($00D60E) == $0E30 ;; hijack detected endif |
Tags: | bugfix double key |
Code: | org $00D60E : BMI $0E : NOP #2 org $01E67F : db $FF org $02CFCA : db $FF |
Submitted: | by Sonikku |
Double Key Jump Fix
SMW Tweaks → Double Key Jump Fix