1#ifndef YAZE_ZELDA3_PALETTE_CONSTANTS_H
2#define YAZE_ZELDA3_PALETTE_CONSTANTS_H
14namespace PaletteGroupName {
18constexpr const char*
kHud =
"hud";
20constexpr const char*
kArmor =
"armor";
27constexpr const char*
kGrass =
"grass";
36namespace PaletteAddress {
48constexpr uint32_t
kHud = 0xDD660;
64namespace PaletteCount {
100namespace PaletteMetadata {
104 .display_name =
"Overworld Main",
105 .category =
"Overworld",
108 .colors_per_palette = 35,
111 .description =
"Main overworld palettes: 35 colors per set (2 full rows + 3 colors)",
112 .has_animations =
false
117 .display_name =
"Overworld Animated",
118 .category =
"Overworld",
121 .colors_per_palette = 7,
124 .description =
"Animated overlay palettes: 7 colors per set (water, lava, etc.)",
125 .has_animations =
true
130 .display_name =
"Dungeon Main",
131 .category =
"Dungeon",
134 .colors_per_palette = 90,
135 .colors_per_row = 16,
137 .description =
"Dungeon-specific palettes: 90 colors per set (5 full rows + 10 colors)",
138 .has_animations =
false
143 .display_name =
"Global Sprites",
144 .category =
"Sprites",
147 .colors_per_palette = 60,
148 .colors_per_row = 16,
150 .description =
"Global sprite palettes: 60 colors per set (4 sprite sub-palettes of 15+transparent each)",
151 .has_animations =
false
156 .display_name =
"Sprites Aux 1",
157 .category =
"Sprites",
160 .colors_per_palette = 7,
163 .description =
"Auxiliary sprite palettes 1: 7 colors per palette (transparent added at runtime)",
164 .has_animations =
false
169 .display_name =
"Sprites Aux 2",
170 .category =
"Sprites",
173 .colors_per_palette = 7,
176 .description =
"Auxiliary sprite palettes 2: 7 colors per palette (transparent added at runtime)",
177 .has_animations =
false
182 .display_name =
"Sprites Aux 3",
183 .category =
"Sprites",
186 .colors_per_palette = 7,
189 .description =
"Auxiliary sprite palettes 3: 7 colors per palette (transparent added at runtime)",
190 .has_animations =
false
195 .display_name =
"Armor / Link",
196 .category =
"Equipment",
199 .colors_per_palette = 15,
200 .colors_per_row = 16,
202 .description =
"Link's tunic colors: 15 colors per palette (Green, Blue, Red, Bunny, Electrocuted)",
203 .has_animations =
false
208 .display_name =
"Swords",
209 .category =
"Equipment",
212 .colors_per_palette = 3,
215 .description =
"Sword blade colors: 3 colors per palette (Fighter, Master, Tempered, Golden)",
216 .has_animations =
false
221 .display_name =
"Shields",
222 .category =
"Equipment",
225 .colors_per_palette = 4,
228 .description =
"Shield colors: 4 colors per palette (Fighter, Fire, Mirror)",
229 .has_animations =
false
234 .display_name =
"HUD",
235 .category =
"Interface",
238 .colors_per_palette = 32,
239 .colors_per_row = 16,
241 .description =
"HUD/Interface palettes: 32 colors per set (2 full rows)",
242 .has_animations =
false
247 .display_name =
"Overworld Auxiliary",
248 .category =
"Overworld",
251 .colors_per_palette = 21,
252 .colors_per_row = 16,
254 .description =
"Overworld auxiliary palettes: 21 colors per set (1 full row + 5 colors)",
255 .has_animations =
false
260 .display_name =
"Grass",
261 .category =
"Overworld",
264 .colors_per_palette = 1,
267 .description =
"Hardcoded grass colors: 3 individual colors (LW, DW, Special)",
268 .has_animations =
false
273 .display_name =
"3D Objects",
274 .category =
"Special",
277 .colors_per_palette = 8,
280 .description =
"3D object palettes: 8 colors per palette (Triforce, Crystal)",
281 .has_animations =
false
286 .display_name =
"Overworld Mini Map",
287 .category =
"Interface",
290 .colors_per_palette = 128,
291 .colors_per_row = 16,
293 .description =
"Overworld mini-map palettes: 128 colors per set (8 full rows)",
294 .has_animations =
false
constexpr uint32_t kGlobalSpritesDW
constexpr uint32_t kArmor
constexpr uint32_t kOverworldAnimated
constexpr uint32_t kOverworldAux
constexpr uint32_t kSwords
constexpr uint32_t kSpritesAux3
constexpr uint32_t kDungeonMain
constexpr uint32_t kDungeonMapBg
constexpr uint32_t kDungeonMap
constexpr uint32_t kShields
constexpr uint32_t kCrystal
constexpr uint32_t kGlobalSpritesLW
constexpr uint32_t kGrassLW
constexpr uint32_t kSpritesAux2
constexpr uint32_t kGrassDW
constexpr uint32_t kSpritesAux1
constexpr uint32_t kOverworldMain
constexpr uint32_t kGrassSpecial
constexpr uint32_t kTriforce
constexpr uint32_t kOverworldMiniMap
constexpr int kSpritesAux3
constexpr int kGlobalSprites
constexpr int kOverworldAux
constexpr int kSpritesAux1
constexpr int kOverworldMain
constexpr int kOverworldMiniMap
constexpr int kDungeonMain
constexpr int kSpritesAux2
constexpr int kOverworldAnimated
constexpr const char * kGlobalSprites
constexpr const char * kHud
constexpr const char * kOverworldMain
constexpr const char * kSwords
constexpr const char * kGrass
constexpr const char * kOverworldMiniMap
constexpr const char * kDungeonMain
constexpr const char * kShields
constexpr const char * kArmor
constexpr const char * kSpritesAux2
constexpr const char * k3DObject
constexpr const char * kOverworldAux
constexpr const char * kOverworldAnimated
constexpr const char * kSpritesAux1
constexpr const char * kSpritesAux3
Zelda 3 specific classes and functions.
const PaletteGroupMetadata * GetPaletteGroupMetadata(const char *group_id)
std::vector< const PaletteGroupMetadata * > GetAllPaletteGroups()