Anonymous user
Escape sprite handling glitch: Difference between revisions
A word.
>Bbbbbbbbba (Added explanation.) |
old->Bbbbbbbbba (A word.) |
||
Line 10:
To display the Start menu, the game needs to load the tileset used for text, which overwrites half of the tileset used for overworld sprites. Specifically, the "walking" frames of sprites are overwritten. NPCs respond to this by reverting to the "standing" state whenever the tileset for text is loaded. The player sprite does not check the tileset, but normally it's impossible to open the Start menu (or display any sort of text) in the middle of a player step, so it's not a problem.
The problem comes from the code that handles the animation of the escape item. The player is supposed to first spin in place for a while, then start to move up while
However, for the second part of the animation, hl is erroneously left pointing to somewhere else, namely, wPlayerSpinWhileMovingUpOrDownAnimFrameDelay. This value is explicitly set to 2 on SGB, and 3 otherwise. Therefore, SpinPlayerSprite would futilely shift wFacingDirectionList around, while setting the player's facing byte to $02 or $03 depending on the platform.
|