[keel,nostalgia] Further simplify writing type converters

This commit is contained in:
2025-04-17 00:22:47 -05:00
parent 844656d557
commit 56b79f414d
8 changed files with 59 additions and 98 deletions
@@ -14,19 +14,6 @@
namespace nostalgia::gfx {
static class: public keel::Module {
private:
keel::ConverterFunc<ConvertNostalgiaPaletteToPaletteV1> m_nostalgiaPaletteToPaletteV1Converter;
keel::ConverterFunc<ConvertPaletteV1ToPaletteV2> m_paletteV1ToPaletteV2Converter;
keel::ConverterFunc<ConvertPaletteV2ToPaletteV3> m_paletteV2ToPaletteV3Converter;
keel::ConverterFunc<ConvertPaletteV3ToPaletteV4> m_paletteV3ToPaletteV4Converter;
keel::ConverterFunc<ConvertPaletteV4ToPaletteV5> m_paletteV4ToPaletteV5Converter;
keel::ConverterFunc<ConvertPaletteToCompactPalette> m_paletteToCompactPaletteConverter;
keel::ConverterFunc<ConvertTileSheetV1ToTileSheetV2> m_tileSheetV1ToTileSheetV2Converter;
keel::ConverterFunc<ConvertTileSheetV2ToTileSheetV3> m_tileSheetV2ToTileSheetV3Converter;
keel::ConverterFunc<ConvertTileSheetV3ToTileSheetV4> m_tileSheetV3ToTileSheetV4Converter;
keel::ConverterFunc<ConvertTileSheetV4ToTileSheetV5> m_tileSheetV4ToTileSheetV5Converter;
keel::ConverterFunc<ConvertTileSheetToCompactTileSheet>m_tileSheetToCompactTileSheetConverter;
public:
[[nodiscard]]
ox::String id() const noexcept override {
@@ -52,19 +39,19 @@ static class: public keel::Module {
}
[[nodiscard]]
ox::Vector<keel::BaseConverter const*> converters() const noexcept final {
ox::Vector<keel::ConverterWrap> converters() const noexcept final {
return {
&m_nostalgiaPaletteToPaletteV1Converter,
&m_paletteV1ToPaletteV2Converter,
&m_paletteV2ToPaletteV3Converter,
&m_paletteV3ToPaletteV4Converter,
&m_paletteV4ToPaletteV5Converter,
&m_paletteToCompactPaletteConverter,
&m_tileSheetV1ToTileSheetV2Converter,
&m_tileSheetV2ToTileSheetV3Converter,
&m_tileSheetV3ToTileSheetV4Converter,
&m_tileSheetV4ToTileSheetV5Converter,
&m_tileSheetToCompactTileSheetConverter,
keel::ConverterWrap::make<ConvertNostalgiaPaletteToPaletteV1>(),
keel::ConverterWrap::make<ConvertPaletteV1ToPaletteV2>(),
keel::ConverterWrap::make<ConvertPaletteV2ToPaletteV3>(),
keel::ConverterWrap::make<ConvertPaletteV3ToPaletteV4>(),
keel::ConverterWrap::make<ConvertPaletteV4ToPaletteV5>(),
keel::ConverterWrap::make<ConvertPaletteToCompactPalette>(),
keel::ConverterWrap::make<ConvertTileSheetV1ToTileSheetV2>(),
keel::ConverterWrap::make<ConvertTileSheetV2ToTileSheetV3>(),
keel::ConverterWrap::make<ConvertTileSheetV3ToTileSheetV4>(),
keel::ConverterWrap::make<ConvertTileSheetV4ToTileSheetV5>(),
keel::ConverterWrap::make<ConvertTileSheetToCompactTileSheet>(),
};
}
@@ -16,10 +16,7 @@ namespace nostalgia::gfx {
// Type converters
ox::Error ConvertNostalgiaPaletteToPaletteV1(
keel::Context&,
NostalgiaPalette &src,
PaletteV1 &dst) noexcept;
ox::Error ConvertNostalgiaPaletteToPaletteV1(keel::Context&, NostalgiaPalette &src, PaletteV1 &dst) noexcept;
ox::Error ConvertPaletteV1ToPaletteV2(keel::Context&, PaletteV1 &src, PaletteV2 &dst) noexcept;
@@ -26,7 +26,7 @@ static class: public keel::Module {
}
[[nodiscard]]
ox::Vector<keel::BaseConverter const*> converters() const noexcept final {
ox::Vector<keel::ConverterWrap> converters() const noexcept final {
return {
};
}