update error handling for palettes saving for_each

This commit is contained in:
scawful
2024-05-28 17:48:25 -04:00
parent e7e3437a89
commit 23f0311ec9
2 changed files with 25 additions and 23 deletions

View File

@@ -274,22 +274,22 @@ struct PaletteGroupMap {
}
template <typename Func>
void for_each(Func&& func) {
func(overworld_main);
func(overworld_aux);
func(overworld_animated);
func(hud);
func(global_sprites);
func(armors);
func(swords);
func(shields);
func(sprites_aux1);
func(sprites_aux2);
func(sprites_aux3);
func(dungeon_main);
func(grass);
func(object_3d);
func(overworld_mini_map);
absl::Status for_each(Func&& func) {
RETURN_IF_ERROR(func(overworld_aux));
RETURN_IF_ERROR(func(overworld_animated));
RETURN_IF_ERROR(func(hud));
RETURN_IF_ERROR(func(global_sprites));
RETURN_IF_ERROR(func(armors));
RETURN_IF_ERROR(func(swords));
RETURN_IF_ERROR(func(shields));
RETURN_IF_ERROR(func(sprites_aux1));
RETURN_IF_ERROR(func(sprites_aux2));
RETURN_IF_ERROR(func(sprites_aux3));
RETURN_IF_ERROR(func(dungeon_main));
RETURN_IF_ERROR(func(grass));
RETURN_IF_ERROR(func(object_3d));
RETURN_IF_ERROR(func(overworld_mini_map));
return absl::OkStatus();
}
};

View File

@@ -330,13 +330,15 @@ absl::Status Rom::SavePalette(int index, const std::string& group_name,
}
absl::Status Rom::SaveAllPalettes() {
palette_groups_.for_each([&](gfx::PaletteGroup& group) -> absl::Status {
for (size_t i = 0; i < group.size(); ++i) {
RETURN_IF_ERROR(SavePalette(i, group.name(), *group.mutable_palette(i)));
}
return absl::OkStatus();
});
RETURN_IF_ERROR(
palette_groups_.for_each([&](gfx::PaletteGroup& group) -> absl::Status {
for (size_t i = 0; i < group.size(); ++i) {
RETURN_IF_ERROR(
SavePalette(i, group.name(), *group.mutable_palette(i)));
}
return absl::OkStatus();
}));
return absl::OkStatus();
}