Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
0 user currently in Pokémon hacking.
Acmlm's Board - I2 Archive - Pokémon hacking - Help with changing tileset colors. [THIS THREAD RATED G FOR GOOD INFO!]
  
User name:
Password:
Reply:
 

UserPost
Krusty
Posts: 17/30
Okay it's done.
Kyoufu Kawa
Posts: 2017/2481
A) It's a good thread
B) It's a good tool
C) Don't need a C.

Nice link, Krusty. A direct download of it would go well in the Commons.
Krusty
Posts: 16/30
I know this thread is kinda old, but I found a nice tool for this. CLICK ME! It's called a GBA color picker (you should be able to find it), you can use the RGB values and then get the hex for it, and you can bitswap the hex if you are too lazy to do it yourself
Totakeke
Posts: 44/73
In Visualboy Advance, the RGB values for each color it gives you have to be multiplied by 8 in order to get the real RGB values.
Kyoufu Kawa
Posts: 1904/2481
I keep forgetting that. It's mostly simple dividing and multiplying though. Just don't know by what factor.

Edit: quick calculations in Calc show that 31 * 8.2 = 254.2. If you Int() that, you're close.
Baro
Posts: 328/366
Kawa, do you know how to translate 0-255 values into 0-31 values? Search for super nintendo color calculator had no results.
Thomas
Posts: 282/298
YES! Thank you so much. You just explained it PERFECTLY. *hails Kawa-oneechan pallete changing goddess!* xD A little overboard but I have been trying to understand this for a LONG time.
Kyoufu Kawa
Posts: 1896/2481
I don't understand much of it either, but here's what you should do.

In Visualboy Advance, there's a Palette Viewer. It shows two matrices of colors. The left one is for all the currently used background colors, which you intend to change. The right one is for the sprites and is irrelevant now. Clicking on a color gives you that color's 15-bit value like I explained earlier.

Note how specific colors are found all over this matrix. Say you want to edit a specific color, or strip of them, you'd prolly search for that specific green color. But it's used so often, you'll get multiple results!

So, get a note pad and write down all values for the color strip you want to edit. That's 16 colors, 2 bytes each.

Like Totakeke tried to explain, the values are byteswapped. What is shown as 0x7FFF is stored in the ROM file as 0xFF7F, not unlike pointers which are equally swapped around. So, on another line on the note pad, write a byteswapped version of the strip you just noted.

Say you have the values 0000, 003E, 4000, 430F etc noted, the second line would be 0000, 3E00, 0040, 0F43. See it now?

Now open up your hex editor and do a hex search for the values you just wrote down. The more precise your query, in other words the more subsequent color values you search for, the higher your chance of finding either NOTHING at all, which means you fucked up in an earlier step, or ONE HIT, maybe two or three depending on what colors you are actually looking for.

You'll need replacement colors now. You can either lift them from the Pallete Viewer if the color you want is seen elsewhere, or google for some old Super Nintendo color calculator thingy, knowing that the format hasn't changed one bit.

Remember: if the replacement color doesn't work out and you get what seems like garbage, swap the bytes around again.

Did that help?


Edit: removed layout for clarity
Thomas
Posts: 277/298
Thanks Kawa-oneechan! This helps me out alot so much. I have one more question. As they said to put 2 colors together. How do I know what colors to put together? Sorry if I am asking a stupid question.
Kyoufu Kawa
Posts: 1888/2481
Now I wonder how to explain the 5-bit XRGB system...

Let's start with that the RGB values are from 0-31, and can be packed into 5 bits per element:

xRRRRRGG GGGBBBBB

So even though "white" can be saved as 0xFFFF, it's true value is 0x7FFF due to the one wasted byte. Equally, black is 0x0000, fully blue is 0x001F, fully green is 0x03E0 and fully red is 0x7C00.

For comparison: 0xFFFFFF, 0x000000, 0x0000FF, 0x00FF00, 0xFF0000. Same colors, same order, different system.

As an added bonus, the SNES, SGB and GBC use the same format.
Thomas
Posts: 240/298
Sorry Jer, I'll ask next time. But...

...when I do find that in the editor, I know what colors I want but how do I know what color in hex it is????
Akane-chan
Posts: 15/15
Sweetie, search for this: 54630E53C8428336.

P.S. I know it's on a completely different board, and it's a simple pallete edit, but ask if you're gonna post my screen.
Totakeke
Posts: 38/73
Look at (at least) two colors and copy their values. Then, in a hex editor, search for them. Let's say I found two colors: Black and Grey. Their values are: 0000 and 252A. So, in the hex editor, I have to search for:

0000 2A 25 (You have to switch the bytes around: The last one will go first and so on.)

As for what colors to change them to, I can't help you there. I'm looking for a list of the colors for the game in hex format (no, not HTML Hex. The values are 2 bytes long for each color, which is weird..) myself and haven't found one yet..
Thomas
Posts: 237/298
Yeah, that is what Jeremy told me to do, but then in the second part he said search for 8 bytes because when you only search for 4 bytes, you could be chaning more things than color valeus. But I don't know what to search for and what to change it to. That is what I need help with.
Totakeke
Posts: 35/73
Ah, it's what I do to find palettes. You open up Visualboy Advance, go to the place that has the tileset that you want to hack. Then go to "Tools" and choose "Palette Viewer" There, you'll see the colors in the palette. Look at their hex values and search in a hex editor for those bytes.
Thomas
Posts: 234/298
Here is my understading:
Originally told to me by Jeremy (of Pokecommunity)
In the emulator, view the palletes for the overworld tilesets, and then search them using your hex editor.
Remember to swap the bytes. Example: 1234 in the emulator, when searching for it in the hex editor, search for 3412.

Now the tricky part is to find the pallet you want. I suggest searching for pallet hex codes, or a calculator if you want a pre-determind pallete.


Originally told to me by Jeremy (of Pokecommunity)
you need like about 8 bytes so your looking for the colors, since "8336" could mean a lot of things. So searching for something like 12345678 would get you the pallete, sweetie.
Can anyone extend on this????
VS90'
Posts: 17/17
Nub,this isn't a effect of weather -.-. Use block editor in Advance Map to edit tilesets' palette.
Jason
Posts: 181/221
its called a WEATHER EFFECT
Thomas
Posts: 229/298
Well for my hack Dark Vision I want to change the colors of grass/trees/other surrounding.
I want everything to look dark and dreary. Dark side of the greyscale......maybe some dark blue-grays...

I want it to do like in this picture but dark...can anyone help????
Acmlm's Board - I2 Archive - Pokémon hacking - Help with changing tileset colors. [THIS THREAD RATED G FOR GOOD INFO!]


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.018 seconds.