Seen August 19th, 2018
Posted August 19th, 2018
1,312 posts
12.2 Years
(I think this warrants a second post)

1. First we're going to overwrite Animation #00 with a blank animation, but makes sure sprites work as normal in-battle. At 0x18080C, put in these bytes:
10 B5 02 48 E0 61 10 BC 01 BC 00 47 15 07 18 08
2. Now from 0x3299EC to 0x329B87, fill it with 00. This will make every Pokémon use animation number #00 as their front sprite animation.

3. Now at 0x308CC0, change the bytes there to 38 F5 2F 08.

4. Now starting at 0x309AAC and ending at 0x30A11B is a table. Change every pointer in that table to the bytes BC 8C 30 08. This will make every Pokémon only have one frame, just like in Ruby and FireRed.

5. At 0x06EE38, change the bytes to 00 00. This will disable the Pokémon's animation in the Summary screen. Even though we changed every Pokémon's animation to a blank one, this is still necessary because the blank animation code seems to function differently in the Summary screen, but as far as I know is the only way to have it work perfectly in-battle.

6. At 0x06ECC4, change the byte to 01. The reasoning for this is the same as above, except this is specifically to disable the Egg sprite's animation in the Summary screen. (It still works when hatching)

7. Starting at 0x60A8C8 to 0x60AA63, fill the bytes with 00. This will change all the Pokémon's back sprite animation to back animation #00.

8. As a failsafe, fill the bytes starting at 0x60ACE4 to 0x60AD2E with 00. This will ensure that Pokémon will always use the blank animation for back sprites.

There, that should do it. I might have missed something, as I wrote these steps after I modified my ROM. But either way if I missed something, I'll just upload a patch if anyone wants it.