Users browsing this thread: 1 Guest(s)
Roster palettes
12-03-2013, 05:47 AM
Greetings.
I wanted to change the palettes for the roster characters. I found two interesting addresses, related to OAM:
D8/E945 Sprite animation
D8/EA5C Sprite
The data format for Terra (only the roster character) is:
All other characters follow the same pattern. D8/EA5C is Terra, D8/EA6E is locke, etc...
The format of the tiles is four bytes: X position, Y position, tile index and the miscellaneous byte. The miscellaneous byte has many flags, including the palette for the tiles. The formated miscellaneous bytes with the palettes is:
As example, Terra has four tiles with the miscellaneous byte #$39. Hers palette is 04. If you change the value of the miscellaneous byte, it change hers palette as well. Please, note that the roster palette ID is different from the NPC palette ID.
Does anyone know a better way to change the palettes for the roster? I believe the data is OAM related and I may not be able to change the palette only by code. I can surely change the palette for all tiles for all characters, but I prefer something more optimized.
I wanted to change the palettes for the roster characters. I found two interesting addresses, related to OAM:
D8/E945 Sprite animation
D8/EA5C Sprite
The data format for Terra (only the roster character) is:
Code:
Terra sprite (idle)
D8/EA5C 02 number of tiles
D8/EA5D 80 01 00 39 tile: upper body
D8/EA61 80 11 02 39 tile: lower body
Terra sprite (active)
D8/EA65 02 number of tiles
D8/EA66 80 00 04 39 tile: upper body
D8/EA6A 80 10 06 39 tile: lower body
All other characters follow the same pattern. D8/EA5C is Terra, D8/EA6E is locke, etc...
The format of the tiles is four bytes: X position, Y position, tile index and the miscellaneous byte. The miscellaneous byte has many flags, including the palette for the tiles. The formated miscellaneous bytes with the palettes is:
Code:
misc. byte palette default character
#$31 00 None (bugged)
#$33 01 None (bugged)
#$35 02 Celes, Sabin, Edgar
#$37 03 Locke
#$39 04 Terra
#$3B 05 Gogo, Kefka, Relm, Strago
#$3D 06 Cyan, Shadow, Setzer
#$3F 07 Moogle, Umaro
As example, Terra has four tiles with the miscellaneous byte #$39. Hers palette is 04. If you change the value of the miscellaneous byte, it change hers palette as well. Please, note that the roster palette ID is different from the NPC palette ID.
Does anyone know a better way to change the palettes for the roster? I believe the data is OAM related and I may not be able to change the palette only by code. I can surely change the palette for all tiles for all characters, but I prefer something more optimized.
« Next Oldest | Next Newest »
|
||||
Users browsing this thread: 1 Guest(s)