Tip: When determining a time limit, remember that players won't be as familiar with the level as you are. If you normally complete the level with the timer around 100, others might run out of time on their first try.
When this code is used, the player can charge a jump by ducking for several frames, until the point they start to flash. While flashing, they can perform a higher jump. The configuration can be applied to all player characters, to a specific character or can be RAM flag dependent. Details and example on how to set and use the code are found all within the ASM file.
Defines to allow charging while riding Yoshi, charged jump/spinjump heights, SFX for charge ready and how long the player should duck to trigger the charge, as well as other options, are included.
An additional note. This code was meant to obsolete the SMB2 Hi-Jump patch and the Improved SMB2 Hi-Jump patch. For now, I have decided not to remove the patches because this code can't recreate their function. The first patch makes the player jump immediately after they stop ducking, while the second patch does not allow charged spin jumps, only normal jumps. I feel like both of those could be seen as intentional mechanics, so I'm not going to touch the patches unless this code is edited to support these functions.
This is a nice and functional effect. My only gripe with it is that it could be a little hard to use if you don't know how to work with library code. A potential improvement would be letting the user use it as direct level or gamemode code, not just library code.