• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • A reminder that our new forum software has 2FA! It can be accessed by clicking your username and then "Password and security" from the menu. We strongly suggest not reusing passwords for your online accounts and enabling 2FA if possible.
  • Welcome to PokéCommunity! Register now and join one of the best places on the 'net to talk Pokémon and more! Community members will not see the bottom screen advertisements.
  • Want to share your adventures playing Pokémon?
    Check out our new Travel Journals forum for sharing playthroughs of ROM Hacks, Fan Games, and other Pokémon content!
  • IMPORTANT: Following a takedown request, the following hacks have been delisted from PokéCommunity:

    • Pokémon Glazed
    • Pokémon: Giratina Strikes Back
    • Pokémon Flora Sky
    • Pokémon Stranded
    The downloads and discussion threads for these hacks will no longer be accessible, and staff will be unable to return questions regarding accessing this content.

How to pallette edit ANYTHING

BlitŻ1

guahh my dog is so cute
472
Posts
15
Years
.:: 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:
1636-Pokemon-FireRedVersionU-4.png

I'll be changing this, to this:
1636-Pokemon-FireRedVersionU1-2.png

(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..
Untitled-6.png


Now let's go look around the Palette Vewier.
Untitled-8-1.png


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...
Untitled-10.png


Move your eyeballs down to the where it says value..
Untitled-11.png


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.
Untitled-13.png


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

 
Last edited by a moderator:

~Teh Panda~

Back in hacktion
918
Posts
16
Years
  • Seen Jul 20, 2022
Very nice and simple tutorial Fan King!
I will be needing this for some editing in my hack ;)
 

colcolstyles

Yours truly
1,588
Posts
15
Years
What advantage does this method have over exporting a palette, loading it into APE, and using APE's "Load by Searching" function to locate the palette? If you say that we should use APE to change the palette, why should we waste our time searching for the palette's location with a hex editor when APE can do the same thing but faster and when we're going to have to use APE in the end anyway?

Also, your title is deceiving because this won't work for LZ77 compressed palettes.
 

Haku.

(FLAME)...H....A...K..U
385
Posts
16
Years
well no need to look for the bg pallete . just search in page 13 of the section.
On topic now. I still cant find the offset for the start menu. Maybe there isn't .
 

BlitŻ1

guahh my dog is so cute
472
Posts
15
Years
well no need to look for the bg pallete . just search in page 13 of the section.
On topic now. I still cant find the offset for the start menu. Maybe there isn't .

What do you mean by start menu? Do you mena the press start menu, and in that case please be more percise.
 
219
Posts
16
Years
Well,in fact, LZ77 palettes should be find as these steps:
1.Find the address in the RAM
2.Export that palette you need
3.Use a LZ77 tool to compress the exported palette
4.Open the compressed palette you make in a hex editor
5.Select few bytes AFTER the LZ77 header,and search them in ROM
6.You find it.If not,try another few bytes,or a shorten ones.
7.Still no good idea to edit it.
 

HackMew

Mewtwo Strikes Back
1,314
Posts
17
Years
  • Seen Oct 26, 2011
Thats why i can't find the pallete offset for the menu when you press start.
Wsted 2 hours..

Yeah, and also because you didn't use APE's partial search feature. You don't need to search 16 colors at once, but you can search less and check each time if it's the right palette. Sometimes, you need to do that, or you won't find what you're looking for. Don't forget the Palette Viewer merely shows what's currently in the RAM, and that doesn't mean the palettes are stored exactly like that inside the ROM. As you noticed.
 

Ayonn-

The Unbelivable
209
Posts
9
Years
Well,in fact, LZ77 palettes should be find as these steps:
1.Find the address in the RAM
2.Export that palette you need
3.Use a LZ77 tool to compress the exported palette
4.Open the compressed palette you make in a hex editor
5.Select few bytes AFTER the LZ77 header,and search them in ROM
6.You find it.If not,try another few bytes,or a shorten ones.
7.Still no good idea to edit it.



How can I do this for the Bag BG ????
 
Back
Top