update error handling for palettes saving for_each
This commit is contained in:
@@ -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();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user