check out this thread, it has info on how colors are stored and great things like that (as well as finding new palettes)
how did ape break your game btw?
if you need help on manually like coming up with the colors...
note: base will be denoted by a subscript number after the number itself. so a number base 10 will be in decimal
10, a number base 2 will be binary
2, and a number base 16 will be hexadecimal
16
each color is two bytes (there are 16 in a palette). the bytes are split up into bits. this gives us 16 bits per color. however, only 15 are used: rgb values are each given 5 bits, for a max color value of 31 for red, green, and blue. note that they're stored in the order blue, green, red
let's take, for example, 2B5F
16. it's the lighter yellow color of the letters "hp" in the battle hp boxes
so, what are the rgb values?
well, convert it to binary:
2B5F
16 = 0010 1011 0101 1111
2
group it differently to be more readable:
0 01010 11010 11111
convert each group of five to decimal values
01010
2 = 10
10 (blue value)
11010
2 = 26
10 (green value)
11111
2 = 31
10 (red value)
so, you're like, "what does that extra zero do at the beginning?" well, i simply don't know. it's undocumented on gbatek and
touched tells me it's nothing, so i'm just assuming that we leave it as a zero in all cases (besides, white appears as 7FFF
16, or 0 11111 11111 11111
2)
now, you may realize that you're likely used to 255 values for each color. "How do I convert?" you may ask. just divide the value by 8 and round to the nearest integer to get your value in this :P
if any of that didn't make sense, feel free to ask a question~