Jump to content
Sign in to follow this  
Jubby

How to Find MOST Palettes in the ROM

Recommended Posts

This guide ought to help you find most palettes in the ROM, the exceptions being that sometimes there are compressed palettes which this probably doesn't work for (Although it worked for me once :P) and sometimes there are multiple palettes with the same colours. There are probably better ways, such as using VBA's memory viewer, buuuuut w/e, it's possibly a little more noob-friendly (I find it easier, anyway)

You'll need:

VisualBoyAdvance

A hex editor (HxD ftw!)

GBAGE

And something like Paint, Usenti, etc. is optional.

So, to start off, get to the part in the game where you want to find the palette, i.e. here I'm finding the palette for the little box which says the chapter name. When you get there, press CTRL+P to pause VBA. Like so:

CtrlP.png

You can't really tell it's paused but oh well.

Next, pop open the palette viewer, wow it's big.

Paletteview.png

Anyway, just look around and try to find a palette that matches up well. I sometimes take screenshots of the graphic I want in the game, then pick a colour in Paint.

Paintthing.png

Then compare it to colours in the palette viewer till I find one that matches the RGB values, like so:

Correctcolour.png

(Note that you just take the colours from Paint and divide them by 8 to get the ones in VBA, cause that's just how GBA graphics roll)

So now that you've found this nice pretty blue colour, you look at that line in the palette viewer, so the red circled one from above is the one we want.

Then you take one colour, and see how they have a Value thing?

Value.png

You take the two bytes from that, and byte reverse them, so 5355 becomes 5553, and so on. Do that for the first 4 colours or so, and you should have something like this:

Byteswapped.png

Note: You can do more than 4 colours, which DOES increase your likeliness to get the right palette, but if it's a compressed palette it won't work, cause it has 00 bytes in between every 4 colours, I believe.

Then you CTRL+C your reversed bytes and paste them into the hex editor of your choice's search bar:

Hexsearch.png

Hit Find, and you should get somethin' like this:

3FE378.png

See at the bottom, where I've highlighted the Offset? That's the offset for your palette. Now go type it into GBAGE, and.... Success!

GBAGEITWORKED.png

That's how I do it xD If you want to locate graphics, you pretty much just have to look through GBAGE till you find the right image. Anyway, hope this was helpful :)

Edited by Jubby

Share this post


Link to post
Share on other sites

I realized I wasn't doing anything wrong, just searching for the wrong palette.

Thanks for getting me the correct number though. :)

Share this post


Link to post
Share on other sites

Alternately:

aWmY.png

Do you see that number?

Go into the memory viewer.

aWnB.png

Hit "save" then save the length as 20.

aWnJ.png

(yes, that is a different chunk of hex. I happened to be actually looking for something when I wrote this, kay?)

Ctrl-F that. If you can't find it, select a smaller chunk and try again.

aWnQ.png

Voila.

I prefer this method because it limits the chance of human error when copying colors from the palette viewer.

Edited by Kam

Share this post


Link to post
Share on other sites

Either one works, I usually use the other one cause memory confuses me, but I've used both :) If you're looking for a compressed palette and you use yours though, you have to add the separators, right?

And anytime, Bryan :P

Edited by Jubby

Share this post


Link to post
Share on other sites

Well, that depends. "Compressed" doesn't actually mean that there has to be separators. I won't get into it. (Reason A: It's annoyingly technical | Reason B: I don't know a whole lot about it myself aside from what Zahlman told me)

But if you know that it's compressed, then you throw your memory dump file into Nintenlord's compressor. Take the binary file it outputs and search for that.

Share this post


Link to post
Share on other sites

Ahhh, good plan. I've just noticed it seems to have separators, which makes it kind of a bitch. And I think Zahlman said somewhere that it was stupid to compress it cuase they only compressed one, I think :P So that's all I know :)

Share this post


Link to post
Share on other sites

In GBA FE, most compressed palettes are battle palettes, meaning you have 4 palettes compressed in one chunk. This means that just putting a palette in a compressor won't give you exactly same result as you'd find in the game.

Share this post


Link to post
Share on other sites

Ack, Kam I just thought of something I feel like a real noob posting a question on my own tutorial but could you then create a new character palette by compressing it with NL's Compressor? (Then adding the 3 other uncompressed affiliation palettes after it)

Share this post


Link to post
Share on other sites

Like Kam said most compressed battle palettes are already documented by the Battle Palette Reference Editor (or the FE6/FE8 equivalents assuming they exist), once you have the offset you can either edit the colors just like that in the compressed data (for small changes anyway), or for serious business, decompress it using Nintenlord's Compressor, edit it, then recompress it, and copy->paste the data into the ROM, then repoint.

For other compressed palettes you can find them by searching small strings instead of larger ones due to the fact that small strings of color values are often retained even in compressed data; however, most palettes besides battle palettes tend to be uncompressed so this usually isn't a problem.

Lastly, if you know where the graphics are, you can look next to the graphics in a hex editor (before or after it, that is) for something that looks like palette data. Knowing some common color values (0xFF7F, 0x5355, 0xA514) is useful for recognizing this. GBAGE can be used to actually test palettes on images.

Most if not all of this is covered in the UT, I think. *shrug* If it isn't, then I guess I'll have to go back and update it. Admittedly, some of the tutorial is outdated given that methods of doing things keep changing (though not nearly as fast as they used to).

Edited by Strawhat Luffy

Share this post


Link to post
Share on other sites

Ack, Kam I just thought of something I feel like a real noob posting a question on my own tutorial but could you then create a new character palette by compressing it with NL's Compressor? (Then adding the 3 other uncompressed affiliation palettes after it)

I haven't fully tested, but that should work.

...Actually that reminds me I need to finish FERecolor palettes chapter 2.

Share this post


Link to post
Share on other sites

Rey, mind if I copy/paste that part explaining generic class battle palettes into the UT if I give credit?

Ack, Kam I just thought of something I feel like a real noob posting a question on my own tutorial but could you then create a new character palette by compressing it with NL's Compressor? (Then adding the 3 other uncompressed affiliation palettes after it)

Yes. also you forgot that there's often times 5 total.... one for the greyed out palette, but it doesn't even seem to be used IIRC. I don't know. don't ask. my memory's degrading

Share this post


Link to post
Share on other sites

Grayed out palette? I could swear that is the palette used so units are grayed out when they are entering a battle when they are either petrified, or when the unit is refreshing them?

Regardless, yeah, one can easily make new generic class palettes is one follows this format. That is all there is to it pretty much. :)

And good guide, nice to see questions creating guides of an useful nature, can't wait for the next ones. :3

Share this post


Link to post
Share on other sites

Oh yeah, Rey, I did read that, it makes sense and is quite handy for other classes I have to do (Thanks!). This was a custom animation I inserted with FEditor, though, so it had no class label to search for :P

Share this post


Link to post
Share on other sites

This was a custom animation I inserted with FEditor, though, so it had no class label to search for :P

:/

You're kidding, right?

Even if the "Set Name" doesn't work, there's the one before it that would probably have a label.

Setname.png

Edited by shadowofchaos

Share this post


Link to post
Share on other sites

With FEditor, I tend to use only what I need when I'm using it, and not touch anything else unsure.gif

Backups.

They're your friend.

Then mess around with EVERYTHING. That's how your learn how to use tools properly (after reading the doc). It's not like FEditor's gonna crash your computer :/

Share this post


Link to post
Share on other sites

Or rather, a much simpler version is rather than backup your main project and repeatedly play with it, just start a new practice project and fuck around with that. There's no real productive use in toying around with your actual work, trying to figure things out, and resorting to back-ups to save your butt if something goes wrong. Inexperienced users won't likely remember which backup was safe and what edits they did--which just begs for unforeseen bugs to slip in when one's least likely to notice.

It's much safer to just use a dummy file to toy with and find out what does what.

(and of course, always back-up work no matter what)

Share this post


Link to post
Share on other sites

I do use backups, I know they're my friends :P But admittedly, I have not just messed with everything. Guess I'll go play with FEditor then....

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...