diff --git a/src/nostalgia/modules/core/include/nostalgia/core/palette.hpp b/src/nostalgia/modules/core/include/nostalgia/core/palette.hpp index 99149e65..04523c56 100644 --- a/src/nostalgia/modules/core/include/nostalgia/core/palette.hpp +++ b/src/nostalgia/modules/core/include/nostalgia/core/palette.hpp @@ -74,6 +74,18 @@ constexpr bool valid(Palette const&p) noexcept { }); } +[[nodiscard]] +constexpr bool repair(Palette &p) noexcept { + auto const colors = p.colorInfo.size(); + if (p.pages.size() == 0) { + p.pages.emplace_back(); + } + for (auto &page : p.pages) { + page.resize(colors); + } + return true; +} + [[nodiscard]] constexpr Color16 color(Palette const&pal, size_t page, size_t idx) noexcept { if (page < pal.pages.size() && idx < pal.pages[page].size()) [[likely]] {