94 std::vector<IconDef> bow_icons = {{0x00,
"No bow"},
96 {0x10,
"Bow and arrows"},
97 {0x18,
"Empty silvers bow"},
98 {0x20,
"Silver bow and arrows"}};
101 std::vector<IconDef> boom_icons = {{0x28,
"No boomerang"},
102 {0x30,
"Blue boomerang"},
103 {0x38,
"Red boomerang"}};
106 std::vector<IconDef> hook_icons = {{0x40,
"No hookshot"}, {0x48,
"Hookshot"}};
109 std::vector<IconDef> bomb_icons = {{0x50,
"No bombs"}, {0x58,
"Bombs"}};
112 auto load_icons = [&](
const std::vector<IconDef>& icons) -> absl::Status {
113 for (
const auto& icon_def : icons) {
115 int icon_addr = pc_addr + icon_def.offset;
121 icon.
name = icon_def.name;
125 return absl::OkStatus();
134 std::vector<IconDef> shroom_icons = {{0x60,
"No mushroom"},
139 std::vector<IconDef> powder_icons = {{0x70,
"No powder"}, {0x78,
"Powder"}};
143 std::vector<IconDef> fire_rod_icons = {{0x80,
"No fire rod"},
148 std::vector<IconDef> ice_rod_icons = {{0x90,
"No ice rod"},
153 std::vector<IconDef> medal_icons = {{0xA0,
"No Bombos"}, {0xA8,
"Bombos"},
154 {0xB0,
"No Ether"}, {0xB8,
"Ether"},
155 {0xC0,
"No Quake"}, {0xC8,
"Quake"}};
159 std::vector<IconDef> util_icons = {{0xD0,
"No lantern"}, {0xD8,
"Lantern"},
160 {0xE0,
"No hammer"}, {0xE8,
"Hammer"},
161 {0xF0,
"No flute"}, {0xF8,
"Flute"},
162 {0x100,
"No net"}, {0x108,
"Bug net"},
163 {0x110,
"No book"}, {0x118,
"Book"}};
167 std::vector<IconDef> bottle_icons = {
168 {0x120,
"No bottle"}, {0x128,
"Empty bottle"}, {0x130,
"Red potion"},
169 {0x138,
"Green potion"}, {0x140,
"Blue potion"}, {0x148,
"Fairy"},
170 {0x150,
"Bee"}, {0x158,
"Good bee"}};
174 std::vector<IconDef> magic_icons = {
175 {0x160,
"No Somaria"}, {0x168,
"Cane of Somaria"},
176 {0x170,
"No Byrna"}, {0x178,
"Cane of Byrna"},
177 {0x180,
"No Cape"}, {0x188,
"Magic cape"},
178 {0x190,
"No mirror"}, {0x198,
"Magic mirror"}};
182 std::vector<IconDef> equip_icons = {
183 {0x1A0,
"No gloves"}, {0x1A8,
"Power glove"}, {0x1B0,
"Titan mitts"},
184 {0x1B8,
"No boots"}, {0x1C0,
"Pegasus boots"}, {0x1C8,
"No flippers"},
185 {0x1D0,
"Flippers"}, {0x1D8,
"No pearl"}, {0x1E0,
"Moon pearl"}};
189 std::vector<IconDef> combat_icons = {
190 {0x1E8,
"No sword"}, {0x1F0,
"Fighter sword"},
191 {0x1F8,
"Master sword"}, {0x200,
"Tempered sword"},
192 {0x208,
"Golden sword"}, {0x210,
"No shield"},
193 {0x218,
"Blue shield"}, {0x220,
"Red shield"},
194 {0x228,
"Mirror shield"}, {0x230,
"Green mail"},
195 {0x238,
"Blue mail"}, {0x240,
"Red mail"}};
198 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.