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 =
113 "Main overworld palettes: 35 colors per set (2 full rows + 3 colors)",
114 .has_animations =
false};
118 .display_name =
"Overworld Animated",
119 .category =
"Overworld",
122 .colors_per_palette = 7,
126 "Animated overlay palettes: 7 colors per set (water, lava, etc.)",
127 .has_animations =
true};
131 .display_name =
"Dungeon Main",
132 .category =
"Dungeon",
135 .colors_per_palette = 90,
137 .colors_per_row = 16,
140 "Dungeon-specific palettes: 90 colors per set (5 full rows + 10 "
142 .has_animations =
false};
146 .display_name =
"Global Sprites",
147 .category =
"Sprites",
150 .colors_per_palette = 60,
152 .colors_per_row = 16,
155 "Global sprite palettes: 60 colors per set (4 sprite sub-palettes of "
156 "15+transparent each)",
157 .has_animations =
false};
161 .display_name =
"Sprites Aux 1",
162 .category =
"Sprites",
165 .colors_per_palette =
170 "Auxiliary sprite palettes 1: 7 colors per palette (transparent added "
172 .has_animations =
false};
176 .display_name =
"Sprites Aux 2",
177 .category =
"Sprites",
180 .colors_per_palette =
185 "Auxiliary sprite palettes 2: 7 colors per palette (transparent added "
187 .has_animations =
false};
191 .display_name =
"Sprites Aux 3",
192 .category =
"Sprites",
195 .colors_per_palette =
200 "Auxiliary sprite palettes 3: 7 colors per palette (transparent added "
202 .has_animations =
false};
206 .display_name =
"Armor / Link",
207 .category =
"Equipment",
210 .colors_per_palette = 15,
216 "Link's tunic colors: 15 colors per palette (Green, Blue, Red, Bunny, "
218 .has_animations =
false};
222 .display_name =
"Swords",
223 .category =
"Equipment",
226 .colors_per_palette = 3,
230 "Sword blade colors: 3 colors per palette (Fighter, Master, Tempered, "
232 .has_animations =
false};
236 .display_name =
"Shields",
237 .category =
"Equipment",
240 .colors_per_palette = 4,
244 "Shield colors: 4 colors per palette (Fighter, Fire, Mirror)",
245 .has_animations =
false};
249 .display_name =
"HUD",
250 .category =
"Interface",
253 .colors_per_palette =
255 .colors_per_row = 16,
257 .description =
"HUD/Interface palettes: 32 colors per set (2 full rows)",
258 .has_animations =
false};
262 .display_name =
"Overworld Auxiliary",
263 .category =
"Overworld",
266 .colors_per_palette =
268 .colors_per_row = 16,
271 "Overworld auxiliary palettes: 21 colors per set (1 full row + 5 "
273 .has_animations =
false};
277 .display_name =
"Grass",
278 .category =
"Overworld",
281 .colors_per_palette = 1,
285 "Hardcoded grass colors: 3 individual colors (LW, DW, Special)",
286 .has_animations =
false};
290 .display_name =
"3D Objects",
291 .category =
"Special",
294 .colors_per_palette = 8,
298 "3D object palettes: 8 colors per palette (Triforce, Crystal)",
299 .has_animations =
false};
303 .display_name =
"Overworld Mini Map",
304 .category =
"Interface",
307 .colors_per_palette = 128,
309 .colors_per_row = 16,
312 "Overworld mini-map palettes: 128 colors per set (8 full rows)",
313 .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()