A pack of doors which recreates SMW's own doors. Unlike standard teleport doors which are just teleport doors (no approximity check, checks for all hitpoints instead of Mario's neck, doesn't use pipe animation for teleport). This includes all the jank.
It currently contains normal doors, switch doors (by default blue p-switch) and locked doors.
Tested with: LM 3.04, SA-1 1.32, GPS 1.4.1, Snes9x 1.60.
Really nice blocks that work as intended, and could definitely be used as a substitute for the normal SMW doors with the new features they add. Also they're easy to setup thanks to the included gps list, map16 and test level files.
Only one thing that I don't think is mentioned in the readme: if you want a door to teleport you to the midway entrance of a specific level, you'll need to enable the "Use separate settings for midway entrance" option in the target level.
I looked everywhere on the disassembly and found that the door code doesn’t check $8F, it probably sets a ram flag, and later in the code when processing is done with blocks checks $77/$72 before it was cleared.
And that RAM is $8F ‒ look at the case in $00EC06 and tell me what that is.
I was surprised too but if you consider that $77 and $72 needs to be cleared every frame so that the game doesn't count Mario as being blocked/in the air even if he actually isn't but also needs to check the blocked state, SMW needs to back it up somewhere.
I looked everywhere on the disassembly and found that the door code doesn’t check $8F, it probably sets a ram flag, and later in the code when processing is done with blocks checks $77/$72 before it was cleared.
WHAT? Using $8F instead of $77/$72? I was making my own door blocks (then later scrapped) after finding out that my $77 backup patch (used by my screen scrolling pipes, screen scrolling doors). The problem with that is the frame after the player jumps, the freeram containing the backup of $77 is a frame behind, causing the first frame being in the air to be able to enter doors.
$72 have problems if you are using a layer 2 level as blocks register as if the player is in the air, even when standing on layer 1.
I was surprised too but if you consider that $77 and $72 needs to be cleared every frame so that the game doesn't count Mario as being blocked/in the air even if he actually isn't but also needs to check the blocked state, SMW needs to back it up somewhere.
WHAT? Using $8F instead of $77/$72? I was making my own door blocks (then later scrapped) after finding out that my $77 backup patch (used by my screen scrolling pipes, screen scrolling doors). The problem with that is the frame after the player jumps, the freeram containing the backup of $77 is a frame behind, causing the first frame being in the air to be able to enter doors.
$72 have problems if you are using a layer 2 level as blocks register as if the player is in the air, even when standing on layer 1.
Follow Us On