[nostalgia,keel] Make repair return ox::Error

This commit is contained in:
Gary Talent 2024-06-01 15:54:11 -05:00
parent 0d7b89a025
commit 6cbafc75bf
2 changed files with 5 additions and 8 deletions

View File

@ -75,15 +75,12 @@ constexpr bool valid(Palette const&p) noexcept {
} }
[[nodiscard]] [[nodiscard]]
constexpr bool repair(Palette &p) noexcept { constexpr ox::Error repair(Palette &p) noexcept {
auto const colors = p.colorInfo.size(); auto const colors = p.colorInfo.size();
if (p.pages.size() == 0) {
p.pages.emplace_back();
}
for (auto &page : p.pages) { for (auto &page : p.pages) {
page.resize(colors); page.resize(colors);
} }
return true; return {};
} }
[[nodiscard]] [[nodiscard]]

View File

@ -28,8 +28,8 @@ constexpr bool valid(auto const&) noexcept {
} }
[[nodiscard]] [[nodiscard]]
constexpr bool repair(auto const&) noexcept { constexpr ox::Error repair(auto const&) noexcept {
return false; return {};
} }
#ifndef OX_BARE_METAL #ifndef OX_BARE_METAL
@ -226,7 +226,7 @@ class AssetManager {
ox::Result<AssetRef<T>> loadAsset(ox::StringView const assetId) noexcept { ox::Result<AssetRef<T>> loadAsset(ox::StringView const assetId) noexcept {
auto &p = m_cache[assetId]; auto &p = m_cache[assetId];
oxRequireM(obj, m_loader(assetId)); oxRequireM(obj, m_loader(assetId));
if (!valid(obj) && !repair(obj)) { if (!valid(obj) && repair(obj)) {
return OxError(1, "asset is invalid state and could not be repaired"); return OxError(1, "asset is invalid state and could not be repaired");
} }
if (!p) { if (!p) {