Adding New Custom Animation Backgrounds
So, with the help of Chaos Rush's thread I managed to extend the battle animation background. That means I can insert custom Backgrounds with their custom palletes and custom tilemaps.
So here's what we need:
1. FireRed Rom
2. Hex Editor (I'll be using HxD)
4. Custom Background (Background must be divisible by 8 and indexed), and Tilemap.
6. Free Space Finder (Optional if you know how to things right)
Ok, so first let's get it down with the table offsets.
The table starts at 0x3ADE18, and ends at 0x3ADF5B. The table are all pointers so we'll just to have put pointers for our image, pallete, and tilemap. It goes like this.
[XX XX XX 08] [YY YY YY 08] [ZZ ZZ ZZ 08]
XX = pointer to graphics
YY = pointer to palette
ZZ = pointer to tilemap
A small tutorial about pointers
So let's get it down to extending it.
Step 1) Open your FireRed Rom in a Hex Editor
Step 2) Goto offset 0x3ADE18
Step 3) Find some free-space that can hold 0x144 bytes so to make things easier I'll be using 0xA00000. So goto 0xA00000.
Step 4) Repointing the location of our table.
Ok, so originally there are 0x1A or 26 backgrounds in the game. So with that small amount we can insert many custom backgrounds as we want.
Step 5) So now we'll be inserting our new background. So for it to be easy I'm gonna use the Waterfall Animation in DP. I'll be putting out a download link for the Waterfall so you can try it out.
Step 6) Now will be placing the new pointers in our table.
Step 7) Testing time
Related threads that can help you out with battle animations.
Chaos Rush's thread:
Wow, this is an awesome tutorial.
and will help a lot of people.
now i can finally have a judgement Arceus!!!
Can we create animated BGs yet using these?
Very helpful! heh. I'll give it a try *sniffs*
By the way, I believe the Ruby Background table offset is 37F374 (Pointer 74 F3 37 08). Can someone help me verify this? Also, is there a limiter byte in Ruby that prevents the loading of any backgrounds beyond 0x1B? Because if I place the pointers at the end of the table and use command 14 1B 17 the game freezes, but if I overwrite background 0x1 with my custom background pointers it works.
Re-upload of the attachment in the main thread as the forum was hacked:
|All times are GMT -8. The time now is 6:27 AM.|
© 2002 - 2015 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2015.