Hey everyone, after taking a nice break from making Pokemon Citrine I'm back to ROM hacking. I began seriously looking into the Emerald ROM since there is little to no information about it posted around here(or just about anywhere!). After some research I’m back to share my methods for editing the Pokemon Emerald Title Screen!
Not many have been able to fully modify the Emerald Title Screen (at least of what I've seen). So I took it upon myself to explore through the unLZ jungle of offsets and a hex editor to find the appropriate Tile Sets and Palettes for the Rayquaza background, the Pokemon banner, and the Emerald Version banner, and I'm here to share them with the community!
First we will need some tools, preferably the latest releases, and these offsets.
Rayquaza Titlescreen Offset: 53F058 unLZ # 152 (16 Colors)
Rayquaza Titlescreen Palette: DDE418 unLZ # - Not LZ'd
Pokemon Logo Offset: DDE690 unLZ # 2611 (256 Colors)
Pokemon Logo Palette: DDE258 unLZ # - Not LZ'd
Emerald Version Offset: DDFD94 unLZ # 2612 (256 Colors)
Emerald Version Palette: DDE438 unLZ # - Not LZ'd
First we are going to need a make a Tile Set of the Title Screen you would like to make. Take a look at the original Tile Set for the Rayquaza Title Screen to get an idea what I mean.
As you can see, it is a simple 128x128 image in 16 colors with all the repeating tiles deleted. Unlike Ruby, which has a rather large contiguous space that you can paste a sprite or similar, this tile map as little to no open space because a great deal of the tiles repeat or are reflected(like Rayquaza's face), so we will have to redesign it completely. To begin, design an image of what you want your full screen to look like, then condense it to the specifications above.
Here is the Tile Set for my Title Screen.
A Raikou sprite, with the Thunder attack animation and clouds, and a hand drawn rocks. Just a simple thing I put together for the tutorial. I'm no artist so it's not by any means pretty, but it works for a quick demo.
Next we are going to make sure our Tile Set is ready for our ROM. I’m going to use IfranView to condense my image to 16 colors.
So open your image in IfranView and click Image -> Decrease Color Depth…
A dialog will appear that allows you to modify the amount of colors in your image. Click 16 colors, then click OK.
After that we will export the new palette of the image. Click Image -> Palette -> Export Palette…
Name it the same as your Tile Set so you don’t mix it up with your other files.
Now that the Tile Set is ready, we are going to make our image appear the way we want. So open NTME and load your new Tile Set. After its open, go to the bottom right drop-down box and choose “E TS”
The new canvas is going to look strange, it’s large, too large actually but it’s necessary to get the Title Screen to show up right. Emerald only displays a (30,20) map size on the main screen, so that is all we are going to fill. Locate (29,19) on the Tile Map, this will be the bottom right corner of our Title Screen.
Use the tiles from the Tile Set you created to make your Title Screen to look how you want. You can use the Tile Selection buttons on the right to select bigger blocks, as well as flipping tiles in Block Settings to make building the Tile Map easier.
After that’s done, we need to take care of one last thing. At the bottom, click “PaletteMap” and then click the “E” out of the selection to the right. Use that to fill over the “0’s” to change them to “E’s”.
Finally, we will save our new Tile Map as a .RAW file. Name it the same as your Tile Set as well.
Now that our Tile Set and Tile Map is done we will import them back into unLZ. So bring unLZ back up and click “Import”.
A dialog will appear, Check Export Image and Automatically fix pointer, and make sure to leave Export Palette UNCHECKED since we will be editing the appropriate palette in APE later on.
After clicking OK, you should get this message, although the size will be most likely different for you.
Next, open up FSF, load your ROM, and click “Search from the beginning of the ROM”. Then in the bottom corner under Dec/Hex type in the Hex offset you received from unLZ. The number on top will be converted to Decimal. Take that and put it in the Needed Bytes box, click Find, Then click Copy.
This is the area of free space in your ROM that can fit your Tile Set, so we will go back to unLZ with this offset and paste it into the Image Offset box. Then click OK.
It should give you confirmation that the data was re-pointed correctly.
Next is the Tile Map, click the Next button to go to unLZ #153. This messy image is the RAW Tile Map data.
Click File -> Load RAW… then select the .RAW file you saved earlier from NTME. Then click Write to ROM and do the same procedure as before. If you get an error then your Tile Map is bigger than the original, so you have to repoint it. If you don’t get an error, then it was smaller than the original so it will fit. You will most likely have to repoint, which is safer since you aren’t overwriting original data.
Next, load up your ROM and VBA and take a look at your new Title Screen.
As you can see it is a miss-colored mess. That is because it is using the original palette that Rayquaza used. So let’s change that. Open up your ROM in APE and load the Offset DDE418 and then click Load.
On the Changed Palette area, click the palette with the blue arrow pointing to the left. Click the dropdown box and select Paintshop (.pal) then open the .pal file you saved from IfranView.
After it is loaded, click Replace and then Load to verify that it was changed correctly.
Now reload your ROM in VBA to take a look at your masterpiece.
One thing to note that I’m still working on, the transparent tiles glow yellow like the lines along Rayquaza’s back. I’m still looking on how to change that color so it can glow other colors or not glow at all. I’m also looking into the clouds that float up the screen as well. Hopefully those will come in a future update to this tutorial.
The "Version" Banner:
Spoiler:
Next we will tackle the Emerald Version Banner, so go back to unLZ and navigate to #2612, click 256 Color Mode and click the + until the image is shown below.
This one slightly more complex in a way, it is a 64x64 tile map that is displayed as a 128x32 image in 256 colors. So when you build your Banner, start with a 128x32 image and then “split it” to 64x64 with the right 64x32 pixels moved below to leftmost 64x32 pixels making it a 64x64 image.
Here’s mine
I’m no graphic artist, but I had to play with the font size and coloring. The black pixels in this image will be transparent when loaded into the game. This can change if you use more colors, when you load APE to change the banner palette, whatever color that is in the first bank will be transparent.
Moving on, run your image through IfranView again, except this image will be decreased to 256 colors instead of 16 colors. Then Save the new palette like before.
Back into unLZ, click Import and load your image. Then click Write to ROM. The dialog will open and you will do the same as before, check Export Image and automatically fix pointers, and keep Export Palette unchecked.
You will most likely need to re-point the image like before, so take the number through your calculator, and FSF again to find some free space. Then write your changes to the ROM.
Next we will change the palette to the Emerald Version Banner. So open your ROM in APE and cruise to the offset DDE438.
Same as before load the .pal file you saved in IfranView.
Click Replace then Load to verify the changes.
Then load up your ROM in VBA once again to view the finished product.
Here you can see how the banner is positioned, if it is not to your liking, you can just readjust the original Tile Set.
I’m not going to go over replacing the Pokemon banner because most people won’t want to replace it anyway. But if you want to replace the banner, the offset is DDE690, and the unLZ # to the picture is 2611 (256 Colors). Then the offset to change the palette in APE is DDE258. Just repeat the above steps replacing the offsets.
Closing:
Well that's just about all the information you will need to modify the Emerald Title Screen. There are only a few things left to look at which I'm still working on. I posted this in a hurry to get the information out there, so I'll be revising it sometime soon, maybe add more pics to the banner part. If you get lost feel free to ask questions and I'll try and help.
Special Thanks:
HackMew
D-Trogh
All of you guys for your support.
The one thing im curious about when it comes to title screen hacks is how you incorporate animations into the flat image. For example, the offset for the raikou background, is the thunder and the clouds animated? and if not is there a specific way to go about doing that?
This is a good tutorial.
I didn't read all of it.
Just got the programs and impornant info.
special POKeBUNNY
The Pokemon Game Developer
If you are wondering why I'm taking long to make Pokemon Hot Red and Cold Blue... It's because I barely get computer time. Be patient (I'm not!.
this confuzles me.....though i did come from trying to insert Zekrom's cry into the game. I don't see any of this on my stuffs....my head hurtz!
idk how to make cool ones everyone has.
Please support pokemon: dark soul and please
if you can script, sprite, or design, we need you.
And if you could make a cool looking signature band would be good too :P
like this one
please support us
by making our first support band
Hey, I'm trying to change the pokemon logo and I'm having a few issues. The image is showing up perfectly fine apart from the palettes not correctly displaying for some reason. I have loaded the correct palettes in APE but it hasn't changed the palette. Any ideas on what's going wrong?
when i try to import my .pal file to ape it says invalid palette loaded....plz help me
Hello guyz is there any one who knows how to change the tiles????? M thinking of changing the tiles and starting from vry beginning if any one knows how to change tiles and make a title screen plz contact me......and yeah the route will look same as the screenshot only tiles and ow's will be different :) anyways thx in advance
:P i dont knw how to do it...plz can u teach me???? i tried to turn it into .pal by irfanview bt still same...
I usually use Photoshop when it comes to palettes. Feel free to send me your palette file (including the image) via private message so I can look over it.
i hav loaded act file and clicked replace bt it doesnt change in rom...what to do???
Hello guyz is there any one who knows how to change the tiles????? M thinking of changing the tiles and starting from vry beginning if any one knows how to change tiles and make a title screen plz contact me......and yeah the route will look same as the screenshot only tiles and ow's will be different :) anyways thx in advance
If you are getting error then keep redoing the same thing until you get a Type Mismatch.
Don't press OK YET!
Now you slide aside the prompt window and click the original APE window. Now press Alt + Prnt Sc | Sys Rq. And then open a new Paint folder and press Ctrl + V.
You will see that the original window of APE has some colours in the changed pallete section. Now open an APE WIndow again and load your ROM.
Go to the offset again.
Now see the Paint file and copy the exact codes on it into the changed palette section.
I need help when i open ape and load my rom and the original pal and then click the new pal thing i open the one i want and then it freaks out saying invalid pal then if i do it again it says runtime mismatch error.
Hey first post..... lol, anyway I just found out how to take out the clouds, just I have yet to figure out how to take out the stupid flashing... :( anyway for the clouds its easy just got to unLZ go to #155 then save as go to paint or whatever program you use then just make the clouds the same color as the background after the BG is saved import the new saved version then go check it out the clouds should be gone now... this is what I got up to now I wanted just a quick, easy and sleek design although it still needs work but anyway here it is .... like I said earlier though idk how to take out the stupid flashing so it still flashes yellow so I gotta see how to take that out but anyway hope this helps for the clouds :)