82 std::vector<IconDef> bow_icons = {{0x00,
"No bow"},
84 {0x10,
"Bow and arrows"},
85 {0x18,
"Empty silvers bow"},
86 {0x20,
"Silver bow and arrows"}};
89 std::vector<IconDef> boom_icons = {{0x28,
"No boomerang"},
90 {0x30,
"Blue boomerang"},
91 {0x38,
"Red boomerang"}};
94 std::vector<IconDef> hook_icons = {{0x40,
"No hookshot"}, {0x48,
"Hookshot"}};
97 std::vector<IconDef> bomb_icons = {{0x50,
"No bombs"}, {0x58,
"Bombs"}};
100 auto load_icons = [&](
const std::vector<IconDef>& icons) -> absl::Status {
101 for (
const auto& icon_def : icons) {
103 int icon_addr = pc_addr + icon_def.offset;
109 icon.
name = icon_def.name;
113 return absl::OkStatus();
122 std::vector<IconDef> shroom_icons = {{0x60,
"No mushroom"},
127 std::vector<IconDef> powder_icons = {{0x70,
"No powder"}, {0x78,
"Powder"}};
131 std::vector<IconDef> fire_rod_icons = {{0x80,
"No fire rod"},
136 std::vector<IconDef> ice_rod_icons = {{0x90,
"No ice rod"}, {0x98,
"Ice rod"}};
140 std::vector<IconDef> medal_icons = {
141 {0xA0,
"No Bombos"}, {0xA8,
"Bombos"}, {0xB0,
"No Ether"},
142 {0xB8,
"Ether"}, {0xC0,
"No Quake"}, {0xC8,
"Quake"}};
146 std::vector<IconDef> util_icons = {
147 {0xD0,
"No lantern"}, {0xD8,
"Lantern"}, {0xE0,
"No hammer"},
148 {0xE8,
"Hammer"}, {0xF0,
"No flute"}, {0xF8,
"Flute"},
149 {0x100,
"No net"}, {0x108,
"Bug net"}, {0x110,
"No book"},
154 std::vector<IconDef> bottle_icons = {
155 {0x120,
"No bottle"}, {0x128,
"Empty bottle"},
156 {0x130,
"Red potion"}, {0x138,
"Green potion"},
157 {0x140,
"Blue potion"}, {0x148,
"Fairy"},
158 {0x150,
"Bee"}, {0x158,
"Good bee"}};
162 std::vector<IconDef> magic_icons = {
163 {0x160,
"No Somaria"}, {0x168,
"Cane of Somaria"}, {0x170,
"No Byrna"},
164 {0x178,
"Cane of Byrna"}, {0x180,
"No Cape"}, {0x188,
"Magic cape"},
165 {0x190,
"No mirror"}, {0x198,
"Magic mirror"}};
169 std::vector<IconDef> equip_icons = {
170 {0x1A0,
"No gloves"}, {0x1A8,
"Power glove"}, {0x1B0,
"Titan mitts"},
171 {0x1B8,
"No boots"}, {0x1C0,
"Pegasus boots"}, {0x1C8,
"No flippers"},
172 {0x1D0,
"Flippers"}, {0x1D8,
"No pearl"}, {0x1E0,
"Moon pearl"}};
176 std::vector<IconDef> combat_icons = {
177 {0x1E8,
"No sword"}, {0x1F0,
"Fighter sword"}, {0x1F8,
"Master sword"},
178 {0x200,
"Tempered sword"}, {0x208,
"Golden sword"}, {0x210,
"No shield"},
179 {0x218,
"Blue shield"}, {0x220,
"Red shield"}, {0x228,
"Mirror shield"},
180 {0x230,
"Green mail"}, {0x238,
"Blue mail"}, {0x240,
"Red mail"}};
183 return absl::OkStatus();
void Create(int width, int height, int depth, std::span< uint8_t > data)
Create a bitmap with the given dimensions and data.