Name: | Update Player Animation During Overworld Load |
Authors: | Kevin, zuccha |
Added: | |
Type: | Game Mode |
Includes GFX: | No |
Includes Hijack: | No |
Featured: | No |
Description: | Update the current player animation while loading the overworld. In practice, this code fixes an issue where if Mario is placed on a water level tile on the overworld as his starting position, he has the walking animation instead of the swimming animation right after starting a new game (you need to move to start using the correct animation). This UberASM checks if the current tile the player is standing on is water, in which case we set the swimming animation, otherwise we set the walking animation. Known issue: in two-players mode, Luigi's animation will only be updated after he enters and exits a level. |
Tags: | animation bug fix game mode 0d lorom overworld sa-1 swim |
Comments: | 5 (jump to comments) |
Rating: |
Download
2.24 KiB | 86 downloads
Comments (5)
- Lunar Magic 3.40
- UberASMTool 1.6
- SA-1 Pack 1.40 (also tested without)
- Snes9x v1.60, bsnes-plus v05
The known issue is minor enough to where I don't think it warrants a rejection (though it would obviously be nice to have it be fixed in the future). Due to the original bug (incorrect animation) being minor as it is as well as the issue only appearing in a mode that rarely gets usage, I believe this is fine as is to accept.
I will update the submission in a couple of days when I find the time.
I still need to learn how to deal with different banks and invoking (jumping to?) original routines. From what I understand, instead of invoking $04862E (which ends with RTS, so you cannot JSL), you jump long to it? But it's still obscure to me how the routine actually returns to your code, does the entire bank setup you did serves that purpose? I don't actually expect an answer, since I suspect it's quite complex. I will read the ASM workshop document an hope to find my answers ;)