Smogon Forums

Crystal_
Crystal_
In gold/silver pokemon palette data starts at 0xad45. Eight bytes for each mon, with the first four bytes for regular palette and the last four for shiny palette. Of each of these pair of four bytes, the first two represent a color and the other two another color, e.g. for regular Bulbasaur green (body) and red (eyes).

Pokemon are ordered by pokedex number, so to find data for any pokemon you take 0xad45 + (PokedexNo. - 0x01) * 0x08.

Color palettes are not stored in RBG format, but in a format that follows the pattern GGGRRRRR 0BBBBBGG (in binary) where G is green, R is red, and B is blue. You can convert yourself from RBG to this format by dividing the hexadecimal rgb value by 0x08 and write the resulting five bits where it corresponds.

Or if you prefer, you can use this little tool that converts RBG to GBC and vice versa format: http://twilight-hacking.darkbb.com/t50-toolgbc-color-picker.
Hiddenfreezer
Hiddenfreezer
Thank ya! I need to check this out on my weekend.
(Btw do the Pokemon share the same palette as the trainer sprite, you know the one in my avatar, red/orange? I would like to change this the mos, for example making him green... as the POKEMON palette data starts at 0xad45.
...
confusing my brother with a different shiny Gyarados or something will be fun!
Crystal_
Crystal_
if you don't mind using crystal instead, you can edit the color palette of the player sprite realtime by writing to D4DC in ram (try anything between 00-07).

You can also change the player's actual sprite into one of the assigned to the map group you are at by writing to D4D8 (sprite id) Use multiples of 0x0C, though not every kind sprite is 0x0C bytes long, some don't have movement for example.
Hiddenfreezer
Hiddenfreezer
"writing to D4DC in realtime" writing to something in realtime is easier with an cheat engine ala gameshark isn't it?
I mean I could patch the game but ... this would be an easier solution for meh, right?
...
I don't know how that work though.
Like I can figure it out with an example I guess. Do you know how "Store 01 into D4DC" looks like in Gameshark?
In SMW it would have been LDA $#01 STA $D4DC

I guess for Pokemon it is different
Top