BugMania
The Bug Master
- 32
- Posts
- 11
- Years
- Seen Nov 4, 2016
Last edited:
Well... There would be no problem doing this with RUBY too.Ok. But someone found adreses for Pokemon Ruby about Behaviour Data?
According to this thread, someone already achieved that four years ago.Hey, do you think we could do this for trainer sprites in battle as well?
Hey, do you think we could do this for trainer sprites in battle as well?
According to this thread, someone already achieved that four years ago.
https://www.youtube.com/watch?v=Avn538l96qA
We all know that from Emerald the Pokemon were animated. However, what if this was possible in Ruby and FireRed?
Well, it is.
The offset 1E7C64 in Ruby (2349BC in FireRed) is the pointer to the data that tells us how the sprites behave when they appear. So, first of all, simply repoint it to another offset. Simply take your desired offset (I'll be using 0xB00000) and split it into segments.
Then, swap the first two digits (B0) with the last two (00), and then add 08 to the end. So now we have this:Code:B0 00 00
Now, we must go to the offset it was repointed to, and then we need the animation data.Code:00 00 B0 08
The first byte is the frame number.
The second byte does nothing.
The third byte is how long the image is displayed.
The fourth byte, again, does nothing.
To end the animation you must add
So, here is an example of it all in action:Code:FF FF 00 00
Of course you can make this code longer if you want, and even add more frames.Code:00 00 0F 00 01 00 0F 00 00 00 0F 00 01 00 0F 00 00 00 0F 00 FF FF 00 00
Now, all sprites will have a second frame, so now just insert the two frames for every sprite. A good, efficient way to do this is to insert a blank 128x64 image over every Pokemon in Unl-Z GBA, and then use Advanced Sprite Editor to insert all of the individual frames. You must do this for EVERY Pokemon and their Backsprite, otherwise there are a lot of bugs. Like turning into the Hero.
There are, however, a few bugs with using this. For instance, as I stated previously, if you don't insert two frames for a Pokemon, it will turn into the player's backsprite. When you exit the bag, or Pokemon menu during a battle, the Pokemon's sprite will move again. Also, if you make the animation data short, then you might not see it during wild battles, and if you make it too long then it will take a while before it does its thing in Trainer battles and the stats screen and such. I think that's it. :\
Is it possible to do it with selected Pokémons only? Say for instance, I will do it to all except Castform...
I've done this once, it requires modifying the routine which assigns the animation to the Pokemon sprite to load them from a table, like trainer animations do. Don't think I have the source to that anywhere though...
I gave this patch a try but I don't really know how to implement the 2nd Frame of a Pokemon.
his hack uses 3 frames but is easily editable as well, the subsequent frames are to be implemented exactly as you thought but manually replacing the image in like unLZ.gba or something, so you'll have two images: front sprite normal, and then back sprite shiny,I gave this patch a try but I don't really know how to implement the 2nd Frame of a Pokemon.
I thought that maybe a 256x128 sheet could work for some reason, but it doesn't.
Is it even possible to make Advanced Series recognize that the Pokémon can have a 2nd Frame even though it's FireRed?
i mean, go for it ahahaI want to do it!