![]() |
Adding New Overworlds into FireRed for Dummies
I wanted to write an as-simple-as-possible tutorial on inserting new sprites into the Fire Red rom because, well, I was having trouble with it and finally got it to work. :)
Special thanks to JPAN for helping me understand how to set up everything properly with his hacked engine, which is needed for this tutorial. Thanks to the following threads: http://www.pokecommunity.com/showthread.php?t=152021 - by *Poliwag* http://www.pokecommunity.com/showthread.php?t=142067 - by Darthatron http://www.pokecommunity.com/showthread.php?t=194695 - by mozzer0734 For which I wouldn't have been able to learn how to do this without. Also thanks to JPAN's Fire Red Hacked Engine. Hopefully this will help people who are not yet adept in Hex Editing. You will need: Fire Red Hacked Engine Hex Workshop (or any Hex Editor) Free Space Finder Overworld Editor - Rebirth Edition A-Map Firstly - back up your rom! Do not start this without having a backup of your Rom available. Step 1 - Applying the Fire Red Hacked Engine Spoiler:
Step 2 - Finding the Free Space Needed Spoiler:
Step 3 - Adding a New Table Pointer to the Existing OW Pointer Table Spoiler:
Step 4 - Adding New OW Pointer to the New OW Pointer Table Spoiler:
Step 5 - Adding New OW Data Spoiler:
Step 6 - Adding New OW's Frame Data Spoiler:
Step 7 - Editing your new OW in Overworld Editor Spoiler:
Step 8 - Adding the Sprite in A-Map Spoiler:
Lastly, about adding new additional OWs after you've added the first. Just make sure you search from your new offsets when looking for free space so you make sure you don't copy over any of your previous work. The sprite table is done, you just keep adding offsets after it, no biggie. Just do the same for everything else. When adding the data for your next OW, make sure it goes directly after the previous one's data and make sure you write down and remember that offset. I hope this tutorial has simplified this a bit. Criticism or suggestions for how to make it simpler and easier to understand are welcome. :) |
It is not very hard for the hacker who are hacking about a years or more but it is hard for the beginer hacker like me. By the way it is a good tutorial. I will try my best to learn it from your tutorial. Thank you for a nice Tutorial.
|
An error I spotted:
The offset 0x1A200 is wrong, that should be 0x1A2000. Otherwise, I see a very good tutorial here. :D |
I've been wondering so much on how to do this :D. Now I have a reason to use his engine! xD
Screen shots would significantly raise the quality of your tutorial. |
Quote:
Quote:
Quote:
|
I just inserted my first OW usinging this tutorial. It's great and easy to follow. Thumbs up!
|
Quote:
I added some pictures to the guide now. |
Well I inserted a sprite, but broke the game completely. I'm not sure what happened exactly, but I'll try it again after some sleep. I used the first sprite as a template. That means that the number increases by one each time instead of two, right?
EDIT: Nope... I did it again. Did everything the same except for using the first sprite and not the second. The game still doens't get past the intro. If anyone knows what may cause this, please help. |
Quote:
If you're using a 16x32 sprite, then the data for the first frame pointer should look like: Code:
Code:
Code:
Just tell me which offsets you used for all the tables. |
Quote:
Code:
Since I did all of that on a fresh ROM, I deleted it when it broke. There was nothing there to save. I've recently started editing Pokemon data on my new ROM, so I'll just try once more. If it doesn't work this time, I'll send it to you. I really appreciate the help. :) I'll increase by one this time, not two. EDIT: You probably won't hear from me again until tomorrow. I've been up for over twelve hours now, so I'm getting sleepy. I don't do things like Hex Editing while sleepy. |
Quote:
16x16 sprite = 80 00 00 00 16x32 sprite = 00 01 00 00 32x32 sprite = 00 02 00 00 if I'm not mistaken. |
I'm having some trouble in hex workshop.
I patched the file without any problems, but when i go into hex workshop and search 1A2000 with the hex button clicked, it doesn't show up. it goes from 001A1FF3 and then jumps to 001A2002. I tried getting a completely new ROM and then patching that, but the same results came up. Can you help? |
Quote:
You have to "go to" that offset, not search for that number. That offset will be in any rom, patches or unpatched. |
I clicked on "Go to" and then entered the offset and it always gives me the same results, in both patched and unpatched ROMS :S
I'm having a retard moment here... |
Quote:
http://img197.imageshack.us/img197/1669/1a20001.png In this picture, where the B0 is is offset 1A2000. Where the FD is, that is offset 1A2001, and where the 39 is, that's offset 1A2002, etc. What I'm guessing is that when you go to offset 1A2000, it is not lined up directly to the left, it's more in the middle. Do you see this data on the screen when you get there somewhere? Code:
If you're still having trouble, take a screen capture and post it here. |
This is an EXCELLENT tutorial, metapod! I am using Jpan's hacked engine in my hack as well, and I was confused about how to utilize this feature. Not anymore! haha
Next, I have to figure out how to get the custom wild pokemon feature to work. |
Thanks a bunch, Metapod!
I realised that the B0 FD 39 08 etc. started near the end of 001A1FF3 and ended half way through 001A2002. It's all there so I can get on with it again. Thanks a million. |
just a question, do the offsets get affected once i try to enter my own scripts? meaning like it will alter itself somehow due to incompatibility? sry, can't explain myself well as i'm bad in understanding scripting :p
|
Quote:
The only way you could do this is if you choose the offsets for your scripts yourself, and you pick an offset that is near the offset of the data you inserted, and your script would be long enough to overwrite the data that is already there - but that's not a good way to do it. That's also why I suggest starting the offsets at 0x900000 so that it's far away from where you might be inserting your new scripts at 0x800000. ^ Hope that answers your question, if I'm understanding it correctly. |
Wow thanks for the Tutorial metapod! Is not very hard..........anyways thanks for the excellent Tutorial,good luck if your making another tutorial and good luck with ashgray too.
|
WHY EVERYTIME I PATCH JAPAN ENGINE TO AN CLEAN FIRERED ROM IT MESSES THE MAPP UP???
|
This tutorial was extremely helpful, but i want to include emerald ow in my hack but i don't have enough palettes =/
|
Is there any way this could work with ruby? or an alternative?
|
Thanks alot man! I REALLY needed this!
|
Hey, I followed exactly what you did and a few things bugged up.
1) I could only edit the very first OW in the new table, then every time I tried to go to an Index above 0 I would get "Error 36 (Bad record number) in procedure Load Sprite Structure of frmOverworldEditor" and the Width and Height for the Index's above 0 are all -1. Not exactly sure what I did wrong. I did change the palette from the original one when I loaded my first OW, like I replaced the Palette that is used for the Hero with my own Palette with the option when you import a image. Does that matter? I literally copied everything you did with a new rom, so it's not like I already used up the space or anything. 2) When I try to click any Map in Advanced Map it freezes and closes. I never had this problem prior to trying to do this. I did keep a back up and try this again tomorrow, but help would be appreciated :p |
Quote:
|
hi, I have a question. I don´t really need a new Overworld. I need a new additional palette. Is there a person who can help/show me how I can make this? Ok, I need more than one new palette, but I don´t know how I can make this. I have read your tutorial in hope that I can find it. But your tutorial shows only new overworlds. But it must be possible. When you can add more and new Overworlds than you should be add more palettes, too. I hope there is a person who can help me.
|
Quote:
Now go to 0x800000 and place youre pallete data there. What I do is edit the pallete of an original one in NSE and copy down the hex data and paste it to the 0x800000. Code:
If anything is unclear say so, because I am kinda tired right now. Its also been months since I have done this. |
Error 63
It works, but I get and error message, it says: Error 63 (Bad record number) in procedure LoadSpriteStructure of frmOverworldEditor.
Should I ignore it, or do something? |
Quote:
|
Quote:
|
What do you mean the height isnt the same? And, if you havent inserted any sprites, youll get that error because there is no next sprite.
|
Woohoo thanks man this thing really worked for me... :D
|
Just a heads up, the data you quoted:
Code:
Code:
|
My sprite wont show up in AMap and I followed Step 8
correctly I will either get a hero or a little kid sprite in the game. |
Quote:
Quote:
|
Quote:
Like Sprite 153 is S.S. Anne Boat and Sprite 154 is the new sprite. I cant find Sprite 154 in the game |
Quote:
|
Quote:
It keeps showing the little kid lol |
Hello everyone, I tried to add ow sprite and I worked! But now, I has a problem, I want to add a 64x64 ow sprite, but I don't have the template of ow 64x64 ow sprite data ( ow sprite data for example like this one :FFFF001102110002100020001001000010373A089C373A0870343A08A0003A08FC1C2308 )
I don't have a 64x64 ow sprite data template, can everyone give me? Thanks. |
This is the data for the Overworld for the Seagallop Ferry, Overworld Sprite #152.
Code:
I found the data by multiplying 152 by 36, which gives you (dec) 5472. At 0x3A3BB0, I selected a block of (dec) 5472 bytes, which led me to the offset 0x3A5110. The code you see above are the first 36 bytes at 0x3A5110; the overworld data for the Seagallop Ferry. |
The #152 Seagallop Ferry overworld is only using 1 frame of original Fire Red Rom, If I using for a lugia 9 frame overworld it's no problem? Another question, can I add a bigger than 64x64 overworld sprite to the game? Like the #153 S.S. Anne overworld sprite.
Thanks. |
The tutorial does tell you how to add more frames, so there shouldn't be any problem there. If you want to use the SS Anne's size for Overworlds, in a Hex Editor go to 0x3A3BB0, select a block of (dec) 36 * 153, then select the next 36 bytes and use them.
|
I need help, I can't find some of the free spaces. I would search them on hex workshop, like 90000 and 910000, and wouldn't find them, if you have an answer please pm me, i would really appreciate it.
|
Scroll down to 900000 offset at hex workshop.
|
Use Ctrl+G instead of Ctrl+F
|
Thanks for this amazing tutorial! It was very informative and helped me understand some other things as well. Was able to successfully add my first new Overworld on my first attempt :). I'm surprised this tutorial has only reached two pages!
|
Okay, now I have ANOTHER problem. The sprites in the new table all load to the player's palette, which causes weird colour issues. How do I fix this?
|
Quote:
|
I don't get what i'm doing wrong! :( I followed your tutorial PERFECTLY except I wanted 20 OWs instead of 1, so at step 7, instead of putting a 1 in the SpriteCount, I put a 20.
My problem is when I go to OverworldEditor, I can only edit the first index, once I try to go to index 1,2,3,4 ... ect, I keep getting errors! I get an error that says: "Error 63 (Bad Record Number) in prodecure LoadSpriteStructure of frmOverworldEditor". Can someone please tell me what I am doing wrong!?! |
Quote:
Use NSE classic in professional view or whatever and turn off all boundarys. Remember to create and edit the ini file if necessary. Instructions for it are in the readme that goes with NSE. |
Quote:
|
Quote:
|
Thanks for the help but it still doesn't work! I don't know how to access the other sprites, i can only access the 151 OWs that fire red gives you :(
When I try to go to 152, it completely messes up and goes to a random height and width, and the image is a bunch of random colours. Is there any other way of making this work? I want to add more OWs but this game hates me. With this tutorial I can add 1, but I can't add anymore then that! I hate this part in ROM hacking, this is what turns me away form it. If they made adding OWs and Trainer Sprites easier, I would have a much better time! :( |
Quote:
|
Quote:
|
@Quickster and @karatekid522
Thanks alot, I think I get it now! :P You guys are both awesome, It's amazing to have people like you in TPC, it's what makes this website the bomb! Espically you karatekid522, you answer every question I have, thanks alot! |
I have a question, in my ROM 0x1A2000 is not like yours, it doesnt have all those 00000, not even the B0 FD 39 08 B0 FF 39 08 B0 FE 39 08 code is there anywhere, why does that happen?
|
Quote:
If you do not want to use JAPN's engine, or you are on RSE, you can try Darthatron's and my tutorial here. This is not as effective as JPAN's engine, as it only allows you to max out the OWs at 256 instead of ~65,000 but it is another option. |
Thanks, problem solved ^-^. I'll give it a look on the tutorials, im also interested on adding OWs in emerald
|
Umm, I have another problem, I succesfully inserted the same OW and did the same procedure as the tutorial (I edited as well and it was all fine) but after that when I opened my ROM an A-Map all the maps and tilesets where messed up, how can i fix this?
|
Quote:
|
The tlilest gets corrupted right when I insert the offset for the new OW ( FFFF001102110002100020001001000010373A089C373A0870343A08A0003A08FC1C2308 in this case), I downloaded the ROM from the net, how do I make sure I have a clean Rom, the obvius way or is it something else?
|
Quote:
|
No progress,I did the same on two ROMs that were V.1 but I had the same results, I did put the data right over the FFFFFFFFFFs but still...
|
I've successfully added several new OW sprites and I've been able to change the palette of each sprite by editing the 3rd byte of each offset on the new table starting at offset 910000. However, in game, when my hero enters the screen of any of these sprites, the palette of the hero is replaced by the palette of the OW sprite. When I warp, open up the bag, etc. the palette of the hero reverts back to it's correct palette. It occurs in the palette viewer of VBA as well. The first palette is replaced whenever I enter the screen of the OW sprite. It only happens with sprites on the new table. Does anyone know what is causing this?
|
Quote:
|
Quote:
|
So hi! im kinda new here. i wanted to add more OWs. so i followed this TUT and manage to make 2 OWs which are working perfectly... but the problem is when i made a 3rd and 4th.
You see... the tiles/line i put in the 3rd sprite has some weird bug. I cant see the OWs and they make the player sprite UNDER the said tiles/line. when i move outside of that line, i can see the player sprite as if nothings wrong. thanks in advance! EDIT: i wish i could provide you with screenies but the forum wont let me post links. so new here. haha |
Really a useful tutorial...but there are some mistakes in writing but the screenshots removes them.....easy to follow
|
Is there any way to implement this with Emerald? obviously we don't have the engine but man thats a lot of OWs ... lol. id pay for something like that. anyways just trying to see if its even possible to do such a thing in emerald before i start looking into it
|
Quote:
Edit: Sorry, he edited the routines for a filler byte. However download his hack and read the source code! I assume it could be portable. |
Quote:
|
Nice tutorial...easy to follow ..there are some mistakes but ya the screen shots removes it..
|
I followed these steps, and successfully inserted one overworld - however the second sprite in my new table won't show, it does the 'invisible' thing Metapod mentions.
My picture number is "1" and my unknown is "00 01" - have I done something obviously wrong? My sprite appears fine in the OW Editor. /// ARGH. Turned out one of my pointers was wonky. Make sure to check yo stuff, Magic *hits*. |
This is a really cool tutorial.. I feel like it was directly pointed to beginners like me :D
|
can anybody here help me, I'm having a problem with the palette number, I had expanded the palette numbers, it is Pal18, I inserted 18 in palette slot, and whenever I try to insert any unused byte on the 3rd Palette information, it doesn't load the actual palette.
Code:
|
Can you give me a new link for the Fire Red Hacked Engine? the link is not working
|
Quote:
Spoiler:
|
Oh, sorry i did'nt no that was the second link and i thought you need to download all of that😅 tnx👍
|
| 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.