• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[ASM & Hex] Dive ASM Sprite Problems

U.Flame

Maker of Short Games
1,326
Posts
15
Years
I recently implement Spherical Ice's and Sqeetz's Dive in Firered ASM seen in this thread: https://www.pokecommunity.com/showthread.php?t=257723

It all seemed to work nicely until I noticed the palette for the female dive sprite was a bit off. After going into a menu or battle, returning the the overworld shows that the sprite has completely glitched. Then going into a menu or battle again and returning shows the sprite in it's default non-dive version. This includes behavior as the sprite no longer bobs, and can run underwater, essentially undoing the dive state.

After testing this with the male player, I noticed that the palette is very slightly different, similar but not as noticeable as the female player. But unlike the female player, the sprite remains functional and even has the palette corrected.

So what's causing the female version to break like this? Why are their palettes off until entering and leaving a menu? Did I do something wrong or is the problem in the asm itself? Here is the code as I implemented it. The only changes made were in the "Change these" section, listing the free space offset and the dive sprite number. The free 0x400 bytes of free space and dive flag didn't need to be changed as the code takes up 0x244 bytes and the badge flag is unchanged. I followed the instructions as listed. Changed the file from .asm to .s as the assembly command lists it. Either file format seems to have no difference when opening in Notepad++. Then I assembled it with Windows command line, created an IPS patch using the base file included in the original post and the newly output file generated from the assembly. Then patched that to my ROM.

Spoiler:


One more thing I noticed that's less about the changes made and more about how Firered handles the underwater weather in general. The fog appears as normal, but it's not until a menu/battle is entered then exited do bubbles appear. Is there any way to correct that as well so the underwater bubbles appear by default? Not as big a priority though, first I just want the female player sprite to not break.

Just tested on vanilla Firered as well. The results were the same, the female sprite becomes un-dived in both appearence and behavior.
 
Last edited:
Back
Top