yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
palette_category.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_PALETTE_PALETTE_CATEGORY_H
2#define YAZE_APP_EDITOR_PALETTE_PALETTE_CATEGORY_H
3
4#include <string>
5#include <unordered_map>
6#include <vector>
7
9
10namespace yaze {
11namespace editor {
12
23
29 std::string display_name;
30 std::string icon;
31 std::vector<std::string> group_names;
32};
33
38inline const std::vector<PaletteCategoryInfo>& GetPaletteCategories() {
39 static const std::vector<PaletteCategoryInfo> categories = {
41 "Overworld",
43 {"ow_main", "ow_aux", "ow_animated", "ow_mini_map", "grass"}},
45 "Dungeon",
47 {"dungeon_main"}},
49 "Sprites",
51 {"global_sprites", "sprites_aux1", "sprites_aux2", "sprites_aux3"}},
53 "Equipment",
55 {"armors", "swords", "shields"}},
57 "Miscellaneous",
59 {"hud", "3d_object"}}};
60 return categories;
61}
62
68inline std::string GetGroupDisplayName(const std::string& group_name) {
69 static const std::unordered_map<std::string, std::string> names = {
70 {"ow_main", "Overworld Main"},
71 {"ow_aux", "Overworld Auxiliary"},
72 {"ow_animated", "Overworld Animated"},
73 {"ow_mini_map", "Mini Map"},
74 {"grass", "Grass"},
75 {"dungeon_main", "Dungeon Main"},
76 {"global_sprites", "Global Sprites"},
77 {"sprites_aux1", "Sprites Aux 1"},
78 {"sprites_aux2", "Sprites Aux 2"},
79 {"sprites_aux3", "Sprites Aux 3"},
80 {"armors", "Armor/Tunic"},
81 {"swords", "Swords"},
82 {"shields", "Shields"},
83 {"hud", "HUD"},
84 {"3d_object", "3D Objects"}};
85 auto it = names.find(group_name);
86 return it != names.end() ? it->second : group_name;
87}
88
94inline PaletteCategory GetGroupCategory(const std::string& group_name) {
95 for (const auto& cat : GetPaletteCategories()) {
96 for (const auto& name : cat.group_names) {
97 if (name == group_name) {
98 return cat.category;
99 }
100 }
101 }
103}
104
105} // namespace editor
106} // namespace yaze
107
108#endif // YAZE_APP_EDITOR_PALETTE_PALETTE_CATEGORY_H
#define ICON_MD_LANDSCAPE
Definition icons.h:1059
#define ICON_MD_PETS
Definition icons.h:1431
#define ICON_MD_SHIELD
Definition icons.h:1724
#define ICON_MD_MORE_HORIZ
Definition icons.h:1241
#define ICON_MD_CASTLE
Definition icons.h:380
PaletteCategory GetGroupCategory(const std::string &group_name)
Get the category that a palette group belongs to.
PaletteCategory
Categories for organizing palette groups in the UI.
const std::vector< PaletteCategoryInfo > & GetPaletteCategories()
Get all palette categories with their associated groups.
std::string GetGroupDisplayName(const std::string &group_name)
Get display name for a palette group.
Information about a palette category for UI rendering.
std::vector< std::string > group_names