With disassembly projects making rapid progress, editing tile animations will surely become easier than ever before! To bridge the gap and cover the basics until then, I hope this tutorial is useful to some, as the question of how to edit animations seems to pop up often.
Attached are copies of Lu-Ho's tools "Animation Editor" and "Door Animation Editor", with the ini's fixed to be friendlier to EM than the original versions. You should grab those, a ROM of your choice, and a hex editor (I like HxD) - optional, but useful. These tools are handy because they let you view a proper preview of how your animation will look in-game.
Thanks to NarutoActor who wrote an animation editing tutorial that introduced me to creating my own animated tiles many moons ago, and of course to Lu-Ho for creating user-friendly tools to make the job easier. I'd also like to give thanks to Tainted for the heads-up about 16x16 doors in EM! Please note that this tutorial only covers how to edit existing animations and not add new ones for the moment, although that might come later if it's necessary.
Open up your ROM in Door Animation Editor and you'll see the same interface as the above image - simple enough, right? You can scroll through each door in any tileset using the clearly named buttons, and see how the animation will look in-game. You can edit each door frame by hand if you choose to - alternatively, if you already have your desired frames in the correct palette you can use the "Load Image" option to import them.
If you hit the "Apply Changes" button in the tool, you might have an error like the one shown above when trying to change the door's palette. I'll draw your attention to this offset circled in red in the image below:
Open your ROM in your hex editor and jump to this offset. As you can see, the palette here is 01, the number of our door's palette. Change this to your desired palette number (in hex!) and save. I'll use palette 3 for tutorial purposes.
After saving the changes you made, if you did everything correctly you should see your door with its new palette when you open your ROM in Door Anim Editor again.
I personally prefer to use Lu-Ho's animation editor to draw the images first as it lets you see the animated frames in action. If you already have frames of the correct palette ready to insert, you could just jump to the offset and import through NSE, but this way is the most beginner-friendly.
FireRed's doors have dimensions of 16x16 - Emerald differs from this in that its doors are twice as tall at 16x32. This means you either have to have tall cathedral-worthy doors, or have the top part of your door be part of a roof if you like the look of a 16x24 door.
But what if you wanted a 16x16 square door in your Emerald hack, just like FR has? Here is where your hex editor will come in handy.
Open your rom in your hex editor and navigate to 08A4FC, then paste write(not paste insert!) 00 00 00 00. Do the same at 08A508, and save. Let's look at our door animations now...
... There we go! 16x16 door animations a la FireRed in Emerald. Edit to your heart's content. =)
Unfortunately, our Animation Editor requires an ASM routine to run. Use the tool's internal free space finder to choose an appropriate offset with enough free space. Once you've done this, you'll be able to view most animations - some, such as the tall grass, are not present here, but we'll cover those later!
"Speed" is self-explanatory.
"StartTile" is the number of the 8x8 block on the tileset where the animation is contained.
"Steps Amount" is also self-explanatory - it's the number of frames the animation has.
"Tile Amount" is how many 8x8 blocks the animation set consists of.
All you have to do once you've made the changes you want is hit "Save Animations" and you're done.
I personally haven't messed with the other parts of this tool such as adding animations or using its other features, but if you have I'd be happy to hear from you so we can add it here!
Great tutorial. I only just asked in the question section about this very question little more than a day ago. I was surprised how hard this information was to find considering how frequently it is used. I was thankfully helped by a kind user.
This will surely prevent prospective rom hackers from having the same issue as I in the future.
When I've changed animations for tileset 0 & 1, and then I close out of the program and reload the rom, it seems that the tool can only read tileset 3 - 64. Has anyone else encountered this problem? Both the AnimEditor and DoorAnimEditor loads tileset 0 as tileset 3. Thus, tileset 67 becomes tileset 64.