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> template <typename Func>
void for_each(Func&& func) { absl::Status for_each(Func&& func) {
func(overworld_main); RETURN_IF_ERROR(func(overworld_aux));
func(overworld_aux); RETURN_IF_ERROR(func(overworld_animated));
func(overworld_animated); RETURN_IF_ERROR(func(hud));
func(hud); RETURN_IF_ERROR(func(global_sprites));
func(global_sprites); RETURN_IF_ERROR(func(armors));
func(armors); RETURN_IF_ERROR(func(swords));
func(swords); RETURN_IF_ERROR(func(shields));
func(shields); RETURN_IF_ERROR(func(sprites_aux1));
func(sprites_aux1); RETURN_IF_ERROR(func(sprites_aux2));
func(sprites_aux2); RETURN_IF_ERROR(func(sprites_aux3));
func(sprites_aux3); RETURN_IF_ERROR(func(dungeon_main));
func(dungeon_main); RETURN_IF_ERROR(func(grass));
func(grass); RETURN_IF_ERROR(func(object_3d));
func(object_3d); RETURN_IF_ERROR(func(overworld_mini_map));
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() { absl::Status Rom::SaveAllPalettes() {
palette_groups_.for_each([&](gfx::PaletteGroup& group) -> absl::Status { RETURN_IF_ERROR(
for (size_t i = 0; i < group.size(); ++i) { palette_groups_.for_each([&](gfx::PaletteGroup& group) -> absl::Status {
RETURN_IF_ERROR(SavePalette(i, group.name(), *group.mutable_palette(i))); for (size_t i = 0; i < group.size(); ++i) {
} RETURN_IF_ERROR(
return absl::OkStatus(); SavePalette(i, group.name(), *group.mutable_palette(i)));
}); }
return absl::OkStatus();
}));
return absl::OkStatus(); return absl::OkStatus();
} }