You know how enemies just fall through platforms and springs instead of actually walking on them?
This patch 'fixes' that, letting every sprite experience the joys of springboards and spinning in circles on a chain platform, just like they do in Super Mario Maker and probably should have done all along!
Also, all sprites now treat block-type platforms -- like Message Boxes and Castle Blocks -- just like any other wall, meaning Chucks will jump over them and other sprites won't just walk through them, kicked/thrown shells, keys etc. will even activate Message Boxes, Light Switches and knock Hammer Bros. off their rides.
Drawback of the whole ordeal is that platform sprites are now quite heavy on the processing, meaning the game can and likely will lag with many platforms of any kind loaded at once.
However, thanks to Vitor Vilela, this patch is fully compatible with the SA-1 Pack, which I highly recommend using with this, as it completely mitigates any lag even with a screen plastered full of platforms!
Includes a few options to turn off solidness for Keys, P-Switches and Springs, as those could easily bust your already designed puzzles, which is no fun for anyone.
The patch should work just fine for custom sprites, as long as they use the vanilla clipping system, which the majority of custom sprites do!
PM me, leod, for any bugs you find using this patch, I'll do my best to fix them as soon as possible.
If you're coding your own stuff and want to make a platform, refer to the JSLs asar outputs for you; although you won't need to do that if you use SMW's built-in 'invisible solid block' routine, that is hijacked and runs the new code by itself.
Update: Fixed an SA-1 oversight and a problem with carriable sprites while sprites were locked ($9D is set), thanks to GreenHammerBro for finding that.
Update 2: Added an option that tries to fix sprites looking like they sink into platforms, might not be perfect but beats the previous look by far.
Update 3: Fixed the blinking sprites falling from the item box getting stuck on platforms, potentially causing a softlock with the wall springs.
Update 4: Fixed Mega Mole bugs (didn't use springs properly and didn't properly carry sprites if it was on a sprite itself), also made springs not play the boing sound when off-screen, due to constant noise if there was an off-screen processing sprite on a springboard.
Update 5: Fixed Flying ? Blocks and Dolphin's interactions with Mario.
Update 6: Fixed Dino Rhinos falling through all floor.
Update 7: Included an optional fix for the bug where Shell-Less Koopas fall even while $9D is set, such as during powerup/hurt animations, or when scrolling the screen with R/L.
If your hack makes use of this glitch, you can disable it easily (this is mostly for puzzle/kaizo hackers).
Update 8 (by Vitor Vilela): Fixed custom platform sprites displaying unexpected behavior due to tweaker table corruption. In practical terms, it fixes the bug where some platforms hurt the player or do not let the player ride them properly.
I'm really liking this patch, and would like to report two bugs I've found.
1. When standing on top of a boo buddy brick, mario vibrates constantly and button presses are only registered 50% of the time. I believe this is because it appears that mario is in a constant state of jumping when he is supposed to be resting on top of the boo block.
2. I've noticed that when the grey rotating platform is just appearing on screen, while the screen is also scrolling up (Vertical Scroll at Will), the platform will also rise up from it's placed position. If you let it go off screen and return, it will be located where it belongs.
I've also noticed that this patch breaks some of my levels because the red '?' light box is now solid to sprites, specifically p-switches. Even when I turn off solid p-switches I couldn't get one to pass through the red light box.
I'd be great if these bugs could be fixed, and perhaps a workaround for the red ? switch. Thanks for this patch.
From my testing stuff like randomly hurting platforms (which was the main issue with the latest version) was actually fixed. There are no game crashes I found or stuff, but since this is a pretty bulky patch I'd still backup before patching in a heavily modified ROM.