Thread: [Tutorial] How to pallette edit ANYTHING
View Single Post
Old November 14th, 2009 (01:44 PM). Edited April 15th, 2010 by hashtag.
BlitŻ's Avatar
BlitŻ BlitŻ is offline
guahh my dog is so cute
Crystal Tier
Join Date: Feb 2009
Location: Bay Area, Califronia.
Age: 20
Gender: Male
Nature: Jolly
Posts: 472
.:: Intro
Hello everybody, My name is Fan King, and this is my second tutorial ;D

I wanted to make this after seeing people ask a lot : "Where is the palette offset for___" And simply enough, i got annoyed, xD. Looking up palette offsets is as simple as 123, or ABC. I hope this will at least, stop the mass of questions of where to find the palettes.

.:: Materials
These are the things you will need
  1. A hex editor, you can use any one, as long as it has a search function. To get one, search "hex editor" in google and download on that pops up.
  2. A rom of any kind, in theory you can palette edit any rom with this, but in this tutorial, I'll be using the english version of an Pokemon Fire Red rom. To get one of these, either go to you favrotie rom downloading site or search it on google.
  3. Visual Boy Advance, which I'm guessing that everyone here has, considering that it's an emulator, yada yada..
  4. Knowledge on how to work simple things in these programs, but I will try to explain them as best as I can, any questions, please reply to the thread.
.:: Getting Started
First off load your rom in Visual Boy Advance. Manuever yourself to the screen you want palette edited. In my case, I will be palette editing the Oak intro Background:

I'll be changing this, to this:

(This if for my hack, Pokemon Aether..No stealing Palettes or the Sprite, or the idea of it either!)
(Also, I'm not going to be teaching how to insert sprites over the oak)

.:: Using VBA To Find the Offset

Now in VBA, on the header bar thing, lick Tools, then Palette Viewer..

Now let's go look around the Palette Vewier.

Now, I'll explain the different parts of this.

  1. Background: In here, is shows you every color that is currently being shown and/or rregistered in VBA. You can clik on the colors to view, It's RGB color value, and along with the inverted GBA color code, I'll explain on how to make it correct later in the tutorial.
  2. Sprite: This is the colors currently shown on a different layer then the background. I'm not excatly sure how else to describe it, altough you can also click on the colors shown here and look at the RGB and the GBA color code.
  3. This is just a little box showing what color is currently shown in a close up view..
  4. This is the place where once you click on the color, it shows the RGB, inverted GBA Color Code, and the address from where it's stored in the rom. The address is not where it is in the hex editor, so you can't just go to that address. I'm not excatly sure about this either, but I know it has to do with the different parts of the game engine
  5. You can click on this and export that palette. Often, you can use this when having images that you export out of Unlz that are in grayscale, and import the palette that you saved to make it how it is in game.
.:: Using the Palette Viewer To Find Your Color Code

Now if we want to find where the colors for this image in the rom, we simply click on the color...

Move your eyeballs down to the where it says value..

Now look where it says Value: 0x4228

In VBA, it switches the code as it is in the rom. So seeing it as 4228, you would have to put in 2842 when you're searching it. See what you have to do to get this is switch the first to number with the last two. So 4228= 42 48 + swtich = 28 42= 2842

So yeah, you have your color code, awesome!

.:: Finding Your Colors Inside the Rom

So, now you have your one color code. To find it in the rom, you'll need to make a string of the codes to search. So, pick 5 or so colors, and switch the numbers around.

This is what I got for the first 5 colors besides the black in the Palette: 2842 4A46 8D4E D056 135F
Note: When searching it in the rom, don't use any spaces!

So, open up your hex editor, maunuaver yourself to the search function, either by going Ctrl + F or by finding it.

Punch in the code you got earlier, and you should find it in the rom with no mistake. If there is one, then you messed up an earlier steps or messed up with getting the code.

As you can see, i got the offset 460560.

You can always check if you found the right offset in the rom by comparing what comes after in the hex editor to what is the next color in the Palette Viewer

Viola! You have your offset!

.:: Ending Note
So, you got your offset! Congrats! Now there are two edit it. Either type in the offset in APE, or just Hex edit it.

So, thank you for reading this tutorial. I hope that this ends people questions in finding palette offsets.

Remember, don't steal anything that I showed here for my hack!

~ Fan King