[nostalgia/gfx/keel] Update type converter style
All checks were successful
Build / build (push) Successful in 1m14s

This commit is contained in:
Gary Talent 2025-04-16 23:12:24 -05:00
parent 849aceb86d
commit 844656d557
3 changed files with 50 additions and 81 deletions

View File

@ -15,17 +15,17 @@ namespace nostalgia::gfx {
static class: public keel::Module { static class: public keel::Module {
private: private:
NostalgiaPaletteToPaletteV1Converter m_nostalgiaPaletteToPaletteV1Converter; keel::ConverterFunc<ConvertNostalgiaPaletteToPaletteV1> m_nostalgiaPaletteToPaletteV1Converter;
PaletteV1ToPaletteV2Converter m_paletteV1ToPaletteV2Converter; keel::ConverterFunc<ConvertPaletteV1ToPaletteV2> m_paletteV1ToPaletteV2Converter;
PaletteV2ToPaletteV3Converter m_paletteV2ToPaletteV3Converter; keel::ConverterFunc<ConvertPaletteV2ToPaletteV3> m_paletteV2ToPaletteV3Converter;
PaletteV3ToPaletteV4Converter m_paletteV3ToPaletteV4Converter; keel::ConverterFunc<ConvertPaletteV3ToPaletteV4> m_paletteV3ToPaletteV4Converter;
PaletteV4ToPaletteV5Converter m_paletteV4ToPaletteV5Converter; keel::ConverterFunc<ConvertPaletteV4ToPaletteV5> m_paletteV4ToPaletteV5Converter;
PaletteToCompactPaletteConverter m_paletteToCompactPaletteConverter; keel::ConverterFunc<ConvertPaletteToCompactPalette> m_paletteToCompactPaletteConverter;
TileSheetV1ToTileSheetV2Converter m_tileSheetV1ToTileSheetV2Converter; keel::ConverterFunc<ConvertTileSheetV1ToTileSheetV2> m_tileSheetV1ToTileSheetV2Converter;
TileSheetV2ToTileSheetV3Converter m_tileSheetV2ToTileSheetV3Converter; keel::ConverterFunc<ConvertTileSheetV2ToTileSheetV3> m_tileSheetV2ToTileSheetV3Converter;
TileSheetV3ToTileSheetV4Converter m_tileSheetV3ToTileSheetV4Converter; keel::ConverterFunc<ConvertTileSheetV3ToTileSheetV4> m_tileSheetV3ToTileSheetV4Converter;
TileSheetV4ToTileSheetV5Converter m_tileSheetV4ToTileSheetV5Converter; keel::ConverterFunc<ConvertTileSheetV4ToTileSheetV5> m_tileSheetV4ToTileSheetV5Converter;
TileSheetToCompactTileSheetConverter m_tileSheetToCompactTileSheetConverter; keel::ConverterFunc<ConvertTileSheetToCompactTileSheet>m_tileSheetToCompactTileSheetConverter;
public: public:
[[nodiscard]] [[nodiscard]]

View File

@ -6,26 +6,26 @@
namespace nostalgia::gfx { namespace nostalgia::gfx {
ox::Error NostalgiaPaletteToPaletteV1Converter::convert( ox::Error ConvertNostalgiaPaletteToPaletteV1(
keel::Context&, keel::Context&,
NostalgiaPalette &src, NostalgiaPalette &src,
PaletteV1 &dst) const noexcept { PaletteV1 &dst) noexcept {
dst.colors = std::move(src.colors); dst.colors = std::move(src.colors);
return {}; return {};
} }
ox::Error PaletteV1ToPaletteV2Converter::convert( ox::Error ConvertPaletteV1ToPaletteV2(
keel::Context&, keel::Context&,
PaletteV1 &src, PaletteV1 &src,
PaletteV2 &dst) const noexcept { PaletteV2 &dst) noexcept {
dst.pages.emplace_back(std::move(src.colors)); dst.pages.emplace_back(std::move(src.colors));
return {}; return {};
} }
ox::Error PaletteV2ToPaletteV3Converter::convert( ox::Error ConvertPaletteV2ToPaletteV3(
keel::Context&, keel::Context&,
PaletteV2 &src, PaletteV2 &src,
PaletteV3 &dst) const noexcept { PaletteV3 &dst) noexcept {
dst.pages = std::move(src.pages); dst.pages = std::move(src.pages);
if (!dst.pages.empty()) { if (!dst.pages.empty()) {
dst.colorInfo.reserve(dst.pages[0].size()); dst.colorInfo.reserve(dst.pages[0].size());
@ -36,10 +36,10 @@ ox::Error PaletteV2ToPaletteV3Converter::convert(
return {}; return {};
} }
ox::Error PaletteV3ToPaletteV4Converter::convert( ox::Error ConvertPaletteV3ToPaletteV4(
keel::Context&, keel::Context&,
PaletteV3 &src, PaletteV3 &src,
PaletteV4 &dst) const noexcept { PaletteV4 &dst) noexcept {
dst.pages.reserve(src.pages.size()); dst.pages.reserve(src.pages.size());
for (auto i = 1; auto &page : src.pages) { for (auto i = 1; auto &page : src.pages) {
dst.pages.emplace_back(ox::sfmt("Page {}", i), std::move(page)); dst.pages.emplace_back(ox::sfmt("Page {}", i), std::move(page));
@ -52,10 +52,10 @@ ox::Error PaletteV3ToPaletteV4Converter::convert(
return {}; return {};
} }
ox::Error PaletteV4ToPaletteV5Converter::convert( ox::Error ConvertPaletteV4ToPaletteV5(
keel::Context&, keel::Context&,
PaletteV4 &src, PaletteV4 &src,
PaletteV5 &dst) const noexcept { PaletteV5 &dst) noexcept {
dst.colorNames = std::move(src.colorNames); dst.colorNames = std::move(src.colorNames);
dst.pages.reserve(src.pages.size()); dst.pages.reserve(src.pages.size());
for (auto &s : src.pages) { for (auto &s : src.pages) {
@ -72,10 +72,10 @@ ox::Error PaletteV4ToPaletteV5Converter::convert(
return {}; return {};
} }
ox::Error PaletteToCompactPaletteConverter::convert( ox::Error ConvertPaletteToCompactPalette(
keel::Context&, keel::Context&,
Palette &src, Palette &src,
CompactPalette &dst) const noexcept { CompactPalette &dst) noexcept {
dst.pages.reserve(src.pages.size()); dst.pages.reserve(src.pages.size());
for (auto &page : src.pages) { for (auto &page : src.pages) {
auto &p = dst.pages.emplace_back(); auto &p = dst.pages.emplace_back();
@ -86,10 +86,10 @@ ox::Error PaletteToCompactPaletteConverter::convert(
return {}; return {};
} }
ox::Error TileSheetV1ToTileSheetV2Converter::convert( ox::Error ConvertTileSheetV1ToTileSheetV2(
keel::Context&, keel::Context&,
TileSheetV1 &src, TileSheetV1 &src,
TileSheetV2 &dst) const noexcept { TileSheetV2 &dst) noexcept {
dst.bpp = src.bpp; dst.bpp = src.bpp;
dst.defaultPalette = std::move(src.defaultPalette); dst.defaultPalette = std::move(src.defaultPalette);
dst.subsheet.name = "Root"; dst.subsheet.name = "Root";
@ -99,7 +99,7 @@ ox::Error TileSheetV1ToTileSheetV2Converter::convert(
return {}; return {};
} }
void TileSheetV2ToTileSheetV3Converter::convertSubsheet( static void convertSubsheet(
TileSheetV2::SubSheet &src, TileSheetV2::SubSheet &src,
TileSheetV3::SubSheet &dst, TileSheetV3::SubSheet &dst,
SubSheetId &idIt) noexcept { SubSheetId &idIt) noexcept {
@ -115,10 +115,10 @@ void TileSheetV2ToTileSheetV3Converter::convertSubsheet(
} }
} }
ox::Error TileSheetV2ToTileSheetV3Converter::convert( ox::Error ConvertTileSheetV2ToTileSheetV3(
keel::Context&, keel::Context&,
TileSheetV2 &src, TileSheetV2 &src,
TileSheetV3 &dst) const noexcept { TileSheetV3 &dst) noexcept {
dst.bpp = src.bpp; dst.bpp = src.bpp;
dst.defaultPalette = std::move(src.defaultPalette); dst.defaultPalette = std::move(src.defaultPalette);
convertSubsheet(src.subsheet, dst.subsheet, dst.idIt); convertSubsheet(src.subsheet, dst.subsheet, dst.idIt);
@ -126,7 +126,7 @@ ox::Error TileSheetV2ToTileSheetV3Converter::convert(
} }
void TileSheetV3ToTileSheetV4Converter::convertSubsheet( static void convertSubsheet(
TileSheetV3::SubSheet &src, TileSheetV3::SubSheet &src,
TileSheetV4::SubSheet &dst, TileSheetV4::SubSheet &dst,
SubSheetId &idIt) noexcept { SubSheetId &idIt) noexcept {
@ -142,10 +142,10 @@ void TileSheetV3ToTileSheetV4Converter::convertSubsheet(
} }
} }
ox::Error TileSheetV3ToTileSheetV4Converter::convert( ox::Error ConvertTileSheetV3ToTileSheetV4(
keel::Context&, keel::Context&,
TileSheetV3 &src, TileSheetV3 &src,
TileSheetV4 &dst) const noexcept { TileSheetV4 &dst) noexcept {
dst.bpp = src.bpp; dst.bpp = src.bpp;
dst.idIt = src.idIt; dst.idIt = src.idIt;
dst.defaultPalette = std::move(src.defaultPalette); dst.defaultPalette = std::move(src.defaultPalette);
@ -154,7 +154,7 @@ ox::Error TileSheetV3ToTileSheetV4Converter::convert(
} }
void TileSheetV4ToTileSheetV5Converter::convertSubsheet( static void convertSubsheet(
int const bpp, int const bpp,
TileSheetV4::SubSheet &src, TileSheetV4::SubSheet &src,
TileSheetV5::SubSheet &dst) noexcept { TileSheetV5::SubSheet &dst) noexcept {
@ -179,10 +179,10 @@ void TileSheetV4ToTileSheetV5Converter::convertSubsheet(
} }
} }
ox::Error TileSheetV4ToTileSheetV5Converter::convert( ox::Error ConvertTileSheetV4ToTileSheetV5(
keel::Context&, keel::Context&,
TileSheetV4 &src, TileSheetV4 &src,
TileSheetV5 &dst) const noexcept { TileSheetV5 &dst) noexcept {
dst.bpp = src.bpp; dst.bpp = src.bpp;
dst.idIt = src.idIt; dst.idIt = src.idIt;
OX_RETURN_ERROR(src.defaultPalette.getPath().moveTo(dst.defaultPalette)); OX_RETURN_ERROR(src.defaultPalette.getPath().moveTo(dst.defaultPalette));
@ -191,10 +191,10 @@ ox::Error TileSheetV4ToTileSheetV5Converter::convert(
} }
ox::Error TileSheetToCompactTileSheetConverter::convert( ox::Error ConvertTileSheetToCompactTileSheet(
keel::Context&, keel::Context&,
TileSheet &src, TileSheet &src,
CompactTileSheet &dst) const noexcept { CompactTileSheet &dst) noexcept {
dst.bpp = src.bpp; dst.bpp = src.bpp;
dst.defaultPalette = ox::FileAddress{src.defaultPalette}; dst.defaultPalette = ox::FileAddress{src.defaultPalette};
dst.pixels = pixels(src); dst.pixels = pixels(src);

View File

@ -16,60 +16,29 @@ namespace nostalgia::gfx {
// Type converters // Type converters
class NostalgiaPaletteToPaletteV1Converter: public keel::Converter<NostalgiaPalette, PaletteV1> { ox::Error ConvertNostalgiaPaletteToPaletteV1(
ox::Error convert(keel::Context&, NostalgiaPalette &src, PaletteV1 &dst) const noexcept final; keel::Context&,
}; NostalgiaPalette &src,
PaletteV1 &dst) noexcept;
class PaletteV1ToPaletteV2Converter: public keel::Converter<PaletteV1, PaletteV2> { ox::Error ConvertPaletteV1ToPaletteV2(keel::Context&, PaletteV1 &src, PaletteV2 &dst) noexcept;
ox::Error convert(keel::Context&, PaletteV1 &src, PaletteV2 &dst) const noexcept final;
};
class PaletteV2ToPaletteV3Converter: public keel::Converter<PaletteV2, PaletteV3> { ox::Error ConvertPaletteV2ToPaletteV3(keel::Context&, PaletteV2 &src, PaletteV3 &dst) noexcept;
ox::Error convert(keel::Context&, PaletteV2 &src, PaletteV3 &dst) const noexcept final;
};
class PaletteV3ToPaletteV4Converter: public keel::Converter<PaletteV3, PaletteV4> { ox::Error ConvertPaletteV3ToPaletteV4(keel::Context&, PaletteV3 &src, PaletteV4 &dst) noexcept;
ox::Error convert(keel::Context&, PaletteV3 &src, PaletteV4 &dst) const noexcept final;
};
class PaletteV4ToPaletteV5Converter: public keel::Converter<PaletteV4, PaletteV5> { ox::Error ConvertPaletteV4ToPaletteV5(keel::Context&, PaletteV4 &src, PaletteV5 &dst) noexcept;
ox::Error convert(keel::Context&, PaletteV4 &src, PaletteV5 &dst) const noexcept final;
};
class PaletteToCompactPaletteConverter: public keel::Converter<Palette, CompactPalette> { ox::Error ConvertPaletteToCompactPalette(keel::Context&, Palette &src, CompactPalette &dst) noexcept;
ox::Error convert(keel::Context&, Palette &src, CompactPalette &dst) const noexcept final;
};
class TileSheetV1ToTileSheetV2Converter: public keel::Converter<TileSheetV1, TileSheetV2> { ox::Error ConvertTileSheetV1ToTileSheetV2(keel::Context&, TileSheetV1 &src, TileSheetV2 &dst) noexcept;
ox::Error convert(keel::Context&, TileSheetV1 &src, TileSheetV2 &dst) const noexcept final;
};
class TileSheetV2ToTileSheetV3Converter: public keel::Converter<TileSheetV2, TileSheetV3> { ox::Error ConvertTileSheetV2ToTileSheetV3(keel::Context&, TileSheetV2 &src, TileSheetV3 &dst) noexcept;
static void convertSubsheet(
TileSheetV2::SubSheet &src,
TileSheetV3::SubSheet &dst,
SubSheetId &idIt) noexcept;
ox::Error convert(keel::Context&, TileSheetV2 &src, TileSheetV3 &dst) const noexcept final;
};
class TileSheetV3ToTileSheetV4Converter: public keel::Converter<TileSheetV3, TileSheetV4> { ox::Error ConvertTileSheetV3ToTileSheetV4(keel::Context&, TileSheetV3 &src, TileSheetV4 &dst) noexcept;
static void convertSubsheet(
TileSheetV3::SubSheet &src,
TileSheetV4::SubSheet &dst,
SubSheetId &idIt) noexcept;
ox::Error convert(keel::Context&, TileSheetV3 &src, TileSheetV4 &dst) const noexcept final;
};
class TileSheetV4ToTileSheetV5Converter final: public keel::Converter<TileSheetV4, TileSheetV5> { ox::Error ConvertTileSheetV4ToTileSheetV5(keel::Context&, TileSheetV4 &src, TileSheetV5 &dst) noexcept;
static void convertSubsheet(
int bpp,
TileSheetV4::SubSheet &src,
TileSheetV5::SubSheet &dst) noexcept;
ox::Error convert(keel::Context&, TileSheetV4 &src, TileSheetV5 &dst) const noexcept override;
};
class TileSheetToCompactTileSheetConverter: public keel::Converter<TileSheet, CompactTileSheet> { ox::Error ConvertTileSheetToCompactTileSheet(keel::Context&, TileSheet &src, CompactTileSheet &dst) noexcept;
ox::Error convert(keel::Context&, TileSheet &src, CompactTileSheet &dst) const noexcept final;
};
} }