This patch will insert a "decrease coin flag" kinda like the opposite of $13CC. You can use it in your shop blocks to slowly drain coins instead of them subtracting coins at once. By default, the RAM address used is $0E85. It's not defined as free RAM inside the demo block, so take caution if editing it.
Changes the original coin counter into a 3-digit one that counts up to 999 and stops without giving 1-ups. Comes with 3 test blocks for you to play with and use as bases for your own blocks to utilize this patch! Patch with Xkas.
I tweaked the flutter jump already in the patches section a bit to be more like the one in A_Yoshi's hack... I needed the flutter jump for my own hack, so I might as well release it so that I might help others with the same problem.
Uses LR Hook. An UberASM version can be found here.
tl;dr: This patch allows you to have separate graphics for Luigi in the overworld. Check the readme for more info. --- This patch rewrites the entirety of the code that handles the drawing of the player's/Yoshi's sprite in the overworld, making them dynamic sprites. It also adds the functionality of adding separate graphics for Luigi. Requires freespace, though it also frees more than 1000 bytes in bank 4 for whatever you want. This patch is an overhaul of the C3 version, which was really buggy. Now Yoshi has proper priority depending on whether he's on land on water, and tile priority is assigned with active->inactive instead of Mario->Luigi, which fixes a lot of oddities. Doesn't include graphics for player 2, the bin is just the default Mario. Sorry about that!
Tested with Asar v1.71, SNES9x v1.58, higan v093, in both normal and SA-1 ROMs.
Some things demand revision:
> Setting !EnableYoshi to 0 gives an error in Asar and so the patch ends up not being inserted.
> Asar v1.71 also complains about a print syntax, refusing to insert the patch:
print "| Free space in bank 4: ", dec(0x048D74-EndPatch), " bytes. |"
It's easily fixable though - just change 'dec(0x048D74-EndPatch)' to 'dec($048D74-EndPatch)'.
> Lastly, this is an emulator/SA-1 specific issue (happened only on SNES9x v1.58), but whenever the lives exchanger is prompted, this happens:
By the way, I'll also link the most recent removal. It contains another issue that causes flickering on screen whenever one of the two players has a Yoshi, which didn't happen in this version. Worth mentioning for reference anyways.
Maarfy Administrator and SMW ASM Manager
Also I noticed Mario on OW border also takes spaceship inputs into account, pressing right or left makes him move as normal, pressing up will make him always look up. And combined makes for glitchy animation. You probably want to check for gamemode value.
Lastly, touching sides of solid sprites don't actually kill mario, unlike normal wall tiles.
Also, not necessary, but I have a suggestion for proper diagonal movement, pressing both Up and Right for example'll make mario move Up-right instead of ether up or right depending on which check is first.
Basically like the sprite version but in patch version. What it does is if mario is at the bottom of the screen, it'll make his X Speed be 00 and either hurt or kill him. Since i don't like wasting like 20 bytes of freespace for such a small patch, i decided to use a Empty part of the rom for this patch so it does not require freespace whatsoever.
Tested with Asar v1.71, SNES9x v1.58, in a normal ROM.
Deprecated by this uberASM code. By the way, the patch also had an issue related to going offscreen from above which led to weird behavior, preventing the player to move horizontally like if they were below the screen. This was because the patch only considered the low byte of the player's Y-pos within the screen. High byte was completely ignored.