Brock through walls: Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
Line 68: Line 68:


==Explanation==
==Explanation==
As mentioned above, the glitch works by tricking the game into loading an invalid path for the player to follow, which overwrites $CD3B.
As mentioned above, the glitch works by tricking the game into loading an invalid path (path pointer) for the player to follow. The path data is terminated by FF. If large enough, it will cause a buffer overflow and overwrite $CD3B.


The game never seems to intentionally set $CD3B to any nonzero value, but its effect is to allow certain joypad inputs to override scripted movement. It is very generous: As long as the player is holding down any of the specified buttons, the entire joypad input is accepted. For example, if the B button is able to override, then the player can simple hold down the B button to be able to walk in any direction or to stay put.
The game never seems to intentionally set $CD3B to any nonzero value, but its effect is to allow certain joypad inputs to override scripted movement. It is very generous: As long as the player is holding down any of the specified buttons, the entire joypad input is accepted. For example, if the B button is able to override, then the player can simple hold down the B button to be able to walk in any direction or to stay put.