sm_practice_hack
sm_practice_hack copied to clipboard
Door bonk tool
When you bonk a door, displays the number of frames before the door would have finished opening. This is displayed to the left of the lag counter (and only if the minimap is disabled).

When the game zeroes Samus's X speed after a horizontal collision, we add a hijack that does the following:
- Check to see if the collided tile was an opening door
- Loop over all PLMs, until we find a door PLM that has drawn to the collided tile
- Loop over that PLM's remaining draw instructions before it makes the door non-solid, adding up the animation delays.
Does not take into account the fact that the middle of the door opens before the bottom.
TODO:
- [ ] PAL support
- [ ] Ceres support (probably just needs a couple changes to constants, but I haven't looked into this fully)
- [ ] Support for vertical doors (already supported by the routine, so it should just need some hijacks in the right spots)
Resolves #108