From 844656d5570cb5b753fc913bb7eedd1c3c15b6e4 Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Wed, 16 Apr 2025 23:12:24 -0500 Subject: [PATCH] [nostalgia/gfx/keel] Update type converter style --- .../modules/gfx/src/keel/keelmodule.cpp | 22 +++---- .../modules/gfx/src/keel/typeconv.cpp | 50 ++++++++-------- .../modules/gfx/src/keel/typeconv.hpp | 59 +++++-------------- 3 files changed, 50 insertions(+), 81 deletions(-) diff --git a/src/nostalgia/modules/gfx/src/keel/keelmodule.cpp b/src/nostalgia/modules/gfx/src/keel/keelmodule.cpp index 63f1fd897..4fa04d2d5 100644 --- a/src/nostalgia/modules/gfx/src/keel/keelmodule.cpp +++ b/src/nostalgia/modules/gfx/src/keel/keelmodule.cpp @@ -15,17 +15,17 @@ namespace nostalgia::gfx { static class: public keel::Module { private: - NostalgiaPaletteToPaletteV1Converter m_nostalgiaPaletteToPaletteV1Converter; - PaletteV1ToPaletteV2Converter m_paletteV1ToPaletteV2Converter; - PaletteV2ToPaletteV3Converter m_paletteV2ToPaletteV3Converter; - PaletteV3ToPaletteV4Converter m_paletteV3ToPaletteV4Converter; - PaletteV4ToPaletteV5Converter m_paletteV4ToPaletteV5Converter; - PaletteToCompactPaletteConverter m_paletteToCompactPaletteConverter; - TileSheetV1ToTileSheetV2Converter m_tileSheetV1ToTileSheetV2Converter; - TileSheetV2ToTileSheetV3Converter m_tileSheetV2ToTileSheetV3Converter; - TileSheetV3ToTileSheetV4Converter m_tileSheetV3ToTileSheetV4Converter; - TileSheetV4ToTileSheetV5Converter m_tileSheetV4ToTileSheetV5Converter; - TileSheetToCompactTileSheetConverter m_tileSheetToCompactTileSheetConverter; + keel::ConverterFunc m_nostalgiaPaletteToPaletteV1Converter; + keel::ConverterFunc m_paletteV1ToPaletteV2Converter; + keel::ConverterFunc m_paletteV2ToPaletteV3Converter; + keel::ConverterFunc m_paletteV3ToPaletteV4Converter; + keel::ConverterFunc m_paletteV4ToPaletteV5Converter; + keel::ConverterFunc m_paletteToCompactPaletteConverter; + keel::ConverterFunc m_tileSheetV1ToTileSheetV2Converter; + keel::ConverterFunc m_tileSheetV2ToTileSheetV3Converter; + keel::ConverterFunc m_tileSheetV3ToTileSheetV4Converter; + keel::ConverterFunc m_tileSheetV4ToTileSheetV5Converter; + keel::ConverterFuncm_tileSheetToCompactTileSheetConverter; public: [[nodiscard]] diff --git a/src/nostalgia/modules/gfx/src/keel/typeconv.cpp b/src/nostalgia/modules/gfx/src/keel/typeconv.cpp index 927c16716..b299e151a 100644 --- a/src/nostalgia/modules/gfx/src/keel/typeconv.cpp +++ b/src/nostalgia/modules/gfx/src/keel/typeconv.cpp @@ -6,26 +6,26 @@ namespace nostalgia::gfx { -ox::Error NostalgiaPaletteToPaletteV1Converter::convert( +ox::Error ConvertNostalgiaPaletteToPaletteV1( keel::Context&, NostalgiaPalette &src, - PaletteV1 &dst) const noexcept { + PaletteV1 &dst) noexcept { dst.colors = std::move(src.colors); return {}; } -ox::Error PaletteV1ToPaletteV2Converter::convert( +ox::Error ConvertPaletteV1ToPaletteV2( keel::Context&, PaletteV1 &src, - PaletteV2 &dst) const noexcept { + PaletteV2 &dst) noexcept { dst.pages.emplace_back(std::move(src.colors)); return {}; } -ox::Error PaletteV2ToPaletteV3Converter::convert( +ox::Error ConvertPaletteV2ToPaletteV3( keel::Context&, PaletteV2 &src, - PaletteV3 &dst) const noexcept { + PaletteV3 &dst) noexcept { dst.pages = std::move(src.pages); if (!dst.pages.empty()) { dst.colorInfo.reserve(dst.pages[0].size()); @@ -36,10 +36,10 @@ ox::Error PaletteV2ToPaletteV3Converter::convert( return {}; } -ox::Error PaletteV3ToPaletteV4Converter::convert( +ox::Error ConvertPaletteV3ToPaletteV4( keel::Context&, PaletteV3 &src, - PaletteV4 &dst) const noexcept { + PaletteV4 &dst) noexcept { dst.pages.reserve(src.pages.size()); for (auto i = 1; auto &page : src.pages) { dst.pages.emplace_back(ox::sfmt("Page {}", i), std::move(page)); @@ -52,10 +52,10 @@ ox::Error PaletteV3ToPaletteV4Converter::convert( return {}; } -ox::Error PaletteV4ToPaletteV5Converter::convert( +ox::Error ConvertPaletteV4ToPaletteV5( keel::Context&, PaletteV4 &src, - PaletteV5 &dst) const noexcept { + PaletteV5 &dst) noexcept { dst.colorNames = std::move(src.colorNames); dst.pages.reserve(src.pages.size()); for (auto &s : src.pages) { @@ -72,10 +72,10 @@ ox::Error PaletteV4ToPaletteV5Converter::convert( return {}; } -ox::Error PaletteToCompactPaletteConverter::convert( +ox::Error ConvertPaletteToCompactPalette( keel::Context&, Palette &src, - CompactPalette &dst) const noexcept { + CompactPalette &dst) noexcept { dst.pages.reserve(src.pages.size()); for (auto &page : src.pages) { auto &p = dst.pages.emplace_back(); @@ -86,10 +86,10 @@ ox::Error PaletteToCompactPaletteConverter::convert( return {}; } -ox::Error TileSheetV1ToTileSheetV2Converter::convert( +ox::Error ConvertTileSheetV1ToTileSheetV2( keel::Context&, TileSheetV1 &src, - TileSheetV2 &dst) const noexcept { + TileSheetV2 &dst) noexcept { dst.bpp = src.bpp; dst.defaultPalette = std::move(src.defaultPalette); dst.subsheet.name = "Root"; @@ -99,7 +99,7 @@ ox::Error TileSheetV1ToTileSheetV2Converter::convert( return {}; } -void TileSheetV2ToTileSheetV3Converter::convertSubsheet( +static void convertSubsheet( TileSheetV2::SubSheet &src, TileSheetV3::SubSheet &dst, SubSheetId &idIt) noexcept { @@ -115,10 +115,10 @@ void TileSheetV2ToTileSheetV3Converter::convertSubsheet( } } -ox::Error TileSheetV2ToTileSheetV3Converter::convert( +ox::Error ConvertTileSheetV2ToTileSheetV3( keel::Context&, TileSheetV2 &src, - TileSheetV3 &dst) const noexcept { + TileSheetV3 &dst) noexcept { dst.bpp = src.bpp; dst.defaultPalette = std::move(src.defaultPalette); convertSubsheet(src.subsheet, dst.subsheet, dst.idIt); @@ -126,7 +126,7 @@ ox::Error TileSheetV2ToTileSheetV3Converter::convert( } -void TileSheetV3ToTileSheetV4Converter::convertSubsheet( +static void convertSubsheet( TileSheetV3::SubSheet &src, TileSheetV4::SubSheet &dst, SubSheetId &idIt) noexcept { @@ -142,10 +142,10 @@ void TileSheetV3ToTileSheetV4Converter::convertSubsheet( } } -ox::Error TileSheetV3ToTileSheetV4Converter::convert( +ox::Error ConvertTileSheetV3ToTileSheetV4( keel::Context&, TileSheetV3 &src, - TileSheetV4 &dst) const noexcept { + TileSheetV4 &dst) noexcept { dst.bpp = src.bpp; dst.idIt = src.idIt; dst.defaultPalette = std::move(src.defaultPalette); @@ -154,7 +154,7 @@ ox::Error TileSheetV3ToTileSheetV4Converter::convert( } -void TileSheetV4ToTileSheetV5Converter::convertSubsheet( +static void convertSubsheet( int const bpp, TileSheetV4::SubSheet &src, TileSheetV5::SubSheet &dst) noexcept { @@ -179,10 +179,10 @@ void TileSheetV4ToTileSheetV5Converter::convertSubsheet( } } -ox::Error TileSheetV4ToTileSheetV5Converter::convert( +ox::Error ConvertTileSheetV4ToTileSheetV5( keel::Context&, TileSheetV4 &src, - TileSheetV5 &dst) const noexcept { + TileSheetV5 &dst) noexcept { dst.bpp = src.bpp; dst.idIt = src.idIt; 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&, TileSheet &src, - CompactTileSheet &dst) const noexcept { + CompactTileSheet &dst) noexcept { dst.bpp = src.bpp; dst.defaultPalette = ox::FileAddress{src.defaultPalette}; dst.pixels = pixels(src); diff --git a/src/nostalgia/modules/gfx/src/keel/typeconv.hpp b/src/nostalgia/modules/gfx/src/keel/typeconv.hpp index 101eafa08..c5b05819d 100644 --- a/src/nostalgia/modules/gfx/src/keel/typeconv.hpp +++ b/src/nostalgia/modules/gfx/src/keel/typeconv.hpp @@ -16,60 +16,29 @@ namespace nostalgia::gfx { // Type converters -class NostalgiaPaletteToPaletteV1Converter: public keel::Converter { - ox::Error convert(keel::Context&, NostalgiaPalette &src, PaletteV1 &dst) const noexcept final; -}; +ox::Error ConvertNostalgiaPaletteToPaletteV1( + keel::Context&, + NostalgiaPalette &src, + PaletteV1 &dst) noexcept; -class PaletteV1ToPaletteV2Converter: public keel::Converter { - ox::Error convert(keel::Context&, PaletteV1 &src, PaletteV2 &dst) const noexcept final; -}; +ox::Error ConvertPaletteV1ToPaletteV2(keel::Context&, PaletteV1 &src, PaletteV2 &dst) noexcept; -class PaletteV2ToPaletteV3Converter: public keel::Converter { - ox::Error convert(keel::Context&, PaletteV2 &src, PaletteV3 &dst) const noexcept final; -}; +ox::Error ConvertPaletteV2ToPaletteV3(keel::Context&, PaletteV2 &src, PaletteV3 &dst) noexcept; -class PaletteV3ToPaletteV4Converter: public keel::Converter { - ox::Error convert(keel::Context&, PaletteV3 &src, PaletteV4 &dst) const noexcept final; -}; +ox::Error ConvertPaletteV3ToPaletteV4(keel::Context&, PaletteV3 &src, PaletteV4 &dst) noexcept; -class PaletteV4ToPaletteV5Converter: public keel::Converter { - ox::Error convert(keel::Context&, PaletteV4 &src, PaletteV5 &dst) const noexcept final; -}; +ox::Error ConvertPaletteV4ToPaletteV5(keel::Context&, PaletteV4 &src, PaletteV5 &dst) noexcept; -class PaletteToCompactPaletteConverter: public keel::Converter { - ox::Error convert(keel::Context&, Palette &src, CompactPalette &dst) const noexcept final; -}; +ox::Error ConvertPaletteToCompactPalette(keel::Context&, Palette &src, CompactPalette &dst) noexcept; -class TileSheetV1ToTileSheetV2Converter: public keel::Converter { - ox::Error convert(keel::Context&, TileSheetV1 &src, TileSheetV2 &dst) const noexcept final; -}; +ox::Error ConvertTileSheetV1ToTileSheetV2(keel::Context&, TileSheetV1 &src, TileSheetV2 &dst) noexcept; -class TileSheetV2ToTileSheetV3Converter: public keel::Converter { - static void convertSubsheet( - TileSheetV2::SubSheet &src, - TileSheetV3::SubSheet &dst, - SubSheetId &idIt) noexcept; - ox::Error convert(keel::Context&, TileSheetV2 &src, TileSheetV3 &dst) const noexcept final; -}; +ox::Error ConvertTileSheetV2ToTileSheetV3(keel::Context&, TileSheetV2 &src, TileSheetV3 &dst) noexcept; -class TileSheetV3ToTileSheetV4Converter: public keel::Converter { - static void convertSubsheet( - TileSheetV3::SubSheet &src, - TileSheetV4::SubSheet &dst, - SubSheetId &idIt) noexcept; - ox::Error convert(keel::Context&, TileSheetV3 &src, TileSheetV4 &dst) const noexcept final; -}; +ox::Error ConvertTileSheetV3ToTileSheetV4(keel::Context&, TileSheetV3 &src, TileSheetV4 &dst) noexcept; -class TileSheetV4ToTileSheetV5Converter final: public keel::Converter { - static void convertSubsheet( - int bpp, - TileSheetV4::SubSheet &src, - TileSheetV5::SubSheet &dst) noexcept; - ox::Error convert(keel::Context&, TileSheetV4 &src, TileSheetV5 &dst) const noexcept override; -}; +ox::Error ConvertTileSheetV4ToTileSheetV5(keel::Context&, TileSheetV4 &src, TileSheetV5 &dst) noexcept; -class TileSheetToCompactTileSheetConverter: public keel::Converter { - ox::Error convert(keel::Context&, TileSheet &src, CompactTileSheet &dst) const noexcept final; -}; +ox::Error ConvertTileSheetToCompactTileSheet(keel::Context&, TileSheet &src, CompactTileSheet &dst) noexcept; }