I've worked on some patches the last few days/weeks/months...
Patches:
Circular Fade-in:
Video link
Replaces the default mosaic fade-in with a circle that zooms in on Mario's position. The patch is completely customizable. Modify !frames to be the number of frames that the fade-in should take, and modify the radii table to be of length !frames+1, and to change the radii of the fade-in circles. Included is an SA-1 version, by VitorVilela.
Download
Fireball Bounce Limit:
Limits the number of bounces that each fireball can take. This patch requires 10 bytes of free RAM, but no free space.
Download
Reverse Gravity:
Adds a subroutine that reverses Mario's gravity. This is a more complete version of the one that is used in SMWCP2; it adds Yoshi support, swimming support, and note block support. This patch requires 1 byte of free RAM and free space.
The patch works by reversing Mario's interaction points and reversing Mario's Y position changes. This causes, in blocks, above interaction to trigger bottom interaction, and vice versa. This means that, for example, normal ledges will not work with upside-down Mario, since hitting the ledge while reversed will trigger the bottom interaction code, which is to act like air. Thus, a custom ledge block is needed. This does not work with upside-down slopes at all.
Also, interaction with normal sprites will almost always fail or look weird, as they were never intended to interact with a reversed Mario. It'd be wise to modify your custom sprites to take into account the reversed gravity of Mario.
Upon insertion of the patch, asar will print "flip_gravity is located at: $address". Open defines.asm and replace the !flip_gravity define with $address. To flip Mario's gravity, be sure that you are incsrc'ing "defines.asm", and use
Download
...and I've also realized that I never released many of the sprites that I created.
Sprites:
Crystal King:
Video link
This is a recoded crystal king. He has a few attacks: he is able to swallow and spit crystal bits at you, shoot an extremely fast ice beam at you, turn invisible and constantly teleport to your X position. He is also able to heal himself for 1 HP, which is a somewhat rare move.
In order to deal damage to the boss, you must pick up a crystal bit and throw it at him. Each crystal bit has a random chance of being dropped intact when it hits the wall, ceiling, or ground.
Download
Propeller Block:
Video link
This is the propeller block from NSMBWii. It's a carryable item which allows you to spin up by pressing the A button while in midair and crash down into the ground by pressing down. All of the speeds and accelerations are customizable in the .asm file.
Download
Patches:
Circular Fade-in:
Video link
Replaces the default mosaic fade-in with a circle that zooms in on Mario's position. The patch is completely customizable. Modify !frames to be the number of frames that the fade-in should take, and modify the radii table to be of length !frames+1, and to change the radii of the fade-in circles. Included is an SA-1 version, by VitorVilela.
Download
Fireball Bounce Limit:
Limits the number of bounces that each fireball can take. This patch requires 10 bytes of free RAM, but no free space.
Download
Reverse Gravity:
Adds a subroutine that reverses Mario's gravity. This is a more complete version of the one that is used in SMWCP2; it adds Yoshi support, swimming support, and note block support. This patch requires 1 byte of free RAM and free space.
The patch works by reversing Mario's interaction points and reversing Mario's Y position changes. This causes, in blocks, above interaction to trigger bottom interaction, and vice versa. This means that, for example, normal ledges will not work with upside-down Mario, since hitting the ledge while reversed will trigger the bottom interaction code, which is to act like air. Thus, a custom ledge block is needed. This does not work with upside-down slopes at all.
Also, interaction with normal sprites will almost always fail or look weird, as they were never intended to interact with a reversed Mario. It'd be wise to modify your custom sprites to take into account the reversed gravity of Mario.
Upon insertion of the patch, asar will print "flip_gravity is located at: $address". Open defines.asm and replace the !flip_gravity define with $address. To flip Mario's gravity, be sure that you are incsrc'ing "defines.asm", and use
Code
Simply reversing the !upside_down flag is not sufficient, because Mario's position must be offset when the gravity is flipped.JSL !flip_gravity
Download
...and I've also realized that I never released many of the sprites that I created.
Sprites:
Crystal King:
Video link
This is a recoded crystal king. He has a few attacks: he is able to swallow and spit crystal bits at you, shoot an extremely fast ice beam at you, turn invisible and constantly teleport to your X position. He is also able to heal himself for 1 HP, which is a somewhat rare move.
In order to deal damage to the boss, you must pick up a crystal bit and throw it at him. Each crystal bit has a random chance of being dropped intact when it hits the wall, ceiling, or ground.
Download
Propeller Block:
Video link
This is the propeller block from NSMBWii. It's a carryable item which allows you to spin up by pressing the A button while in midair and crash down into the ground by pressing down. All of the speeds and accelerations are customizable in the .asm file.
Download