Name: | Perfect Slippery Blocks v3.2.0 |
Author: | HammerBrother |
Added: | |
Version History: | View |
Act As: | Various |
Includes GFX: | No |
Description: | Unlike "Single Slippery Block", this one, you don't need an anti-slippery block placed above the slippery block for a workaround prevention. It also has proper slippery corners without making the whole level slippery. It requires Uberasm tool. 2023-09-13 update - supports both half and full slippery mode in one hack. Thus !Freeram_MarioSlip and !Freeram_SpriteSlip acts as a copy of RAM $86 (including $01-$7F being half-slippery and $80+ being fully slippery). 2023-05-07 update - supports LM override. |
Tags: | ice lorom physics sa-1 slippery |
Comments: | 29 (jump to comments) |
Rating: |
Download
64.67 KiB | 989 downloads
Comments (29)
- Lunar Magic v3.40
- SA-1 Pack v1.40
- GPS v1.4.4
- UberASM Tool 2.0
- BSNES v115
Renamed GM14.asm into a less generic name because of a reduction in naming conflicts and that UAT2.0 allows you to insert code for all levels as well as on multiple entries.It's a fairly minor update but it does what it does. The only major limitation is that it's a bit of a hack thanks to the fact that the underlying physics code is unchanged. To explain what I mean in detail, SMW uses separate flags for "water level" and "player is in water" and while the patch is kind of this, it's moreso in way which builds on top an existing system while also leaving the original code as untouched as possible.
I would actually prefer a more throughout solution (and this one also has the limitation that you're pretty much forced to use a Direct Page address for freeRAM) but it might also be out of scope for blocks (there also is the fact that in an ideal world, we'd also be able to set a custom interaction when the player blocked flags are set instead of using a preprocessor system and check for the whole block as a result).
It does mean that as a coder, you have to make sure to also set the override flag if you can toggle the slippery level flag midway throughout the level.
Wish granted. Made it an option (!Setting_AllowLMOverrideSlippery, on by default) so for hackers not using whole-level-slippery for their entire hack can save a byte of RAM (a new freeram is added, !Freeram_SlipLMOverride) by turning this off.
It works like this: During level init, it checks if $86 is set (by LM). If so, set a bit in !Freeram_SlipLMOverride, and will not touch $86 at all on the code that runs every frame. The patch for sprites will go "vanilla mode" (as if the patch isn't patched into the game).
- Lunar Magic v3.40
- SA-1 Pack v1.40
- GPS v1.4.4
- BSNES v115
Added description on how to use it with UberASM Tool 2.0 (which allows you to insert code for all levels), added updated information for slippery platforms, added another hijack to SlipperySprites.asm, added revert patch.A mostly simple update (beyond the few changes I added during moderation). I do wish you could set a level to be permanently slippery as these blocks override the level settings.
LM's slippery level still remains broken, so you'll need this code to mimic this.
I see, good to know! Definitely not a big deal for me as I might not make any level fully slippery anyway, but might as well ask anyway. Thanks for the solution as well!
LM's slippery level still remains broken, so you'll need this code to mimic this.
Then the slippery physics won't work in layer 2 levels. Therefore, you must change the '$72' to '$1471|!addr'. Also, BrownBuddy, I couldn't replicate the bug on my side. Not to mention, the vanilla slippery flag doesn't work when you turn it on in LM anyways. In that case, you can use 'GM14.asm' as level code.
The bug is: If Mario exits a slippery level via a pipe to a normal level and changes his player status (i.e gets hurt or gets a powerup) the normal level transforms into a slippery level.
Yes, I'm agree with Hayashi Neru, we need an update with SA-1 compatible, fix slippery level bug and new slippery platforms and ledges. It was 4 years without an update
The bug is: If Mario exits a slippery level via a pipe to a normal level and changes his player status (i.e gets hurt or gets a powerup) the normal level transforms into a slippery level.
1. SA-1 compatible
2. Two different slippery degrees
3. fix slippery level bug