![]() |
Advanced Over World Sprite Editing
Okay, in this tutorial I will teach you how to repoint, resize and increase the amount of OWS (Over World Sprites) in Pokemon FireRed. Sounds fun, right? :P
I haven't tested this in the other Advance Gen Games, but I'm sure it will work just the same. :) For this Tutorial you will need...
Lesson 01: Understanding the Data. Ok, let's take a quick look at the Layout of the Sprite Data, before we go any further. Here is what the first Sprites Data will look like in FireRed: Code:
Code:
Code:
Code:
Code:
Lesson 02: Resizing an Over World Sprite. Right, so if you remember correctly, before we looked at the Sprite Data, and it had the "Height" and "Width" Bytes stored there, so... Let's just change them, and see what happens. Why don't we make it a 32 x 32 Sprite now? Code:
Code:
http://i307.photobucket.com/albums/nn295/darthatron/0.png Oh dear! Frame 0 and 1 seemed to have melded together! This means we have to repoint the Frames, YAY! :) Ok, so all you have to do is follow the "Sprite Pointer", which is "A0003A08", or "0x003A00A0" when it's flipped. SO now, goto the offset "0x003A00A0" in your Hex Editor and look at the data. It should look something like this: Code:
Code:
Code:
*Searches* Ok, I found the Space I need at the offset: "0x00720A00" Lucky me. Now, I'm going to start Repointing all the Pointers. :) Back to the Offset "0x003A00A0" in your Hex Editor and it's time to start the fun! Alright, so replace the First Pointer with "000A7208", which now lead to the Free Space we found earlier. Now, view that Frame and Sprite in your OWE. And see how it turns out. http://i307.photobucket.com/albums/nn295/darthatron/1.png Great! We now have a clear Sprite! Next we are going to want to do the same for every frame, so back at the Offset "0x003A00A0" we are going to move 8 more Bytes into the File and Repoint this Frame aswell! So with the Free Space we found earlier, which was "0x00720A00", we want to add 128 Bytes, because that is the Value of the Sum we did before: Code:
And the new Pointer will be: "800A7208" So, what we want to do it replace the Pointer at the Offset "0x003A00A0" with our new pointer, in my case: "800A7208". Great! The second Frame is now clear as well! Do that for the other 18 Frames, and then you can start painting your new OWS! YAY! Lesson 03: Adding for OWS to the game. Finally, we can learn how to repoint the OWS and add more into out game! YAY! *Cheers* Ok, what we are going to do it open our ROM in our Hex Editor... *Opens ROM* Right, now Goto the offset: "0x0039FDB0" And you will see a whole bunch of Pointers, right? They should look something... like... this: Code:
Code:
Now, in your Hex Editor we are going to goto the location that points to this Table, and change it. So, goto this location: "0x0005F2F4", this should have a pointer to the table we just looked at, correct? Ok, now open up your ROM in your FSF and search for this number of bytes: Code:
So.... In my FSF I will search for.... Code:
Now, we have copy/paste the Table at the Location "0x0039FDB0", ONLY THE FIRST 151 POINTERS (604 Bytes), to the Location we just found, in my case "0x00801000". Now, if you did everything correctly, there should be at least 4 Free Bytes after the table has been pasted. With this free space we are going to add a new pointer to some free space where we will put our new Sprite Data... Once again, open up FSF and search for some free space, this time search for 36 Bytes. Once again, due my huge amount of laziness, I will be using the offset "0x00802000". Back at the 4 Bytes that we have free after pasting the Pointer Table, we are going to add out new pointer. In my case: "00208008". Now, in your Hex Editor we are going to look at the Hero's Sprite Data, located at "0x003A3BB0", and we are going to copy it all (36 Bytes). Then we will go back to our new free space, in my case "0x00802000", and we are going to paste the data we just stole from the Hero's Sprite Data. Open your ROM up in a Map Editor and make a Sprite with the Picture Number of "151" and you will notice that the Map Editor doesn't appear to show any Sprite. However, opening the ROM in your emulator and looking at the Sprite it will look like the Hero. Alright, now you just have to follow Lesson 02, using this Sprite Data instead of the First, and all should be fine. I think... I kind of lost track of where I was up to. :D If for whatever reason it doesn't work, post and I'll see if I missed anything... xD |
wow, this is a good tutorial.. I'll try it..!^^
|
Well, if only one person cares about this then there is really no point on posting the rest...
Thanks for caring X-Buster. :) |
It's really good but time consuming though :P, I'm glad you got it in english :)
|
wow man, this is ftw!
i vote post the rest |
Hey, Darth, since you are trying to make a tutorial about this, then perhaps you'll manage to see what's the problem I have when I'm increasing the ammount of OWs.
Yeah, according to the guide at WAH (by Peyi), you can increase the ammount, and, while OWE recognizes them (till a certain limit...), apparently, neither Advance Map nor the rom itself recognizes the overworlds beyond the original limit, it just uses the hero sprite (or was it one of those small kids OW?) for anything beyond that limit. Can you try to see if you can increase the ammount and show a screenshot of the extra overworld in both AMap and the game? Thanks ^^ |
Quote:
I don't done much with the OW in fire red, but I gues, that maybe Advancemap don't read the amount of OW's from the rom, but it's just in the program? You tryed to inset the OW number through hex? |
Quote:
|
could you make an english one for ruby for expaning the size cuz i dont know how and that is one of the messed up parts in my hack.
|
Quote:
|
Nice one!
Looks good darthaton!! Tee why .
ily |
Everyone who is interested, my method works in the game, unlike the WAH one. However, due to OWE and AM current way of reading the Data, they do not support it. Here is a lazy proof of it working in game, not in AM. I got lazy and just pointed to the Hero's data. xD
http://i307.photobucket.com/albums/nn295/darthatron/151.png On another note, I lost what I had done so far, when my niece decided it would be fun to restart the computer, without saving anything that was open... I hate children... Anyway, should be up in a few days. :) |
Quote:
I think the link to the proof is broken cause there's just a red cross there instead of the image XD And, yah little kids, can be really annoying sometimes o_O //44tim44 EDIT: Hmm, it seems my computer lagged or somethn' cause now the pic works... |
The link isn't broken, I can see it.. Try to refresh the page a few times
|
oh wow thx, i really needed this!
|
Some of your data is wrong. I'll find more on the parts tommmorow.
FFFF = Starter Byte 00 = Palette Number 11 02 11 = Sprite validation. 0200 = Not sure. 0010 = Width 0020 = Height 0110 and 0000 = oam data. Do not modify! [email protected] 10373A08 = Points to @3. [email protected] 9C373A08 = Void pointer\ unsure. [email protected] 70343A08 = A pointer to @5 lol. [email protected] A0003A08 = Sprite Pointer [email protected] FC1C2308 = Pointer to pointers which point to code that loads the sprite through the ewram into the sprite block of the vram and its data into the oam. Have you considered the reason why the game assumes the sprite is the hero is because you copied the hero's data and maybe just changed the pointers? Why not make new ones? |
Quote:
In other news, I'm about half way through the Adding OWS guide. EDIT: Finished my uber leet guide. Getting some people to test it, then I will post it. |
Hey, this is great... but i think ill stick to the easier way.
Keep up the good work ! |
For anyone who hadn't noticed yet, I've posted the "Adding Over World" guide to the first post.
On another note, the sprites will show up in AMap, you just have to close it, and reload after you edit the amount. :) |
There is a program called OverWorldChanger 4.0.1 that resizes OW sprites. You can download it on WAH. Maybe change the name to: Hex Editing OW Size
|
Hello!!!
Really that tuto helped a lot to me... They put something that I don't know what is happening causes!! In the first 5 times that I followed the tutorial worked perfectly... but when I turned off and later I tied PC didn't work more.... I already tried to redo all of the steps and he/she always gives that same mistake! http://img353.imageshack.us/img353/4262/imagemlg3.png PS: I put the same MINIS in the spaces 151 and in the 152 The rom just recognizes the 151 minis... all the other ones after the 151 appear as in the image... What do I make!? |
Quote:
Here's a 6 step tutorial... 1. Close advance map 2. Go to your kitchen.. 3. Pick some thing up to eat 4. eat it 5. go back 6. start Advance map editor (This might could be done faster, but then it would be long enough to I could claim it a toturial...) |
Great! And I'm still waiting for how to add new trainers (Not only a picture but the new data for the pokemon and moves...) and pokemon out of 386...Keep researching!
|
Quote:
Hum.... unhappily it didn't work... I already tried more times and it is always the same mistake... Any mini after the 151 is accepted by the rom.... just for AMAP. All of the minis that I put in the new spaces appear the child's mini.... I don't know more than to do.... Help me please!! @. @ |
Quote:
|
| All times are GMT -8. The time now is 8:58 AM. |
![]()
© 2002 - 2018 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 - 2016 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.
Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2023.