[nostalgia/gfx/keel] Cleanup
All checks were successful
Build / build (push) Successful in 1m9s

This commit is contained in:
2026-02-03 02:22:58 -06:00
parent 96c5223e44
commit 7848cbbbff
2 changed files with 63 additions and 76 deletions

View File

@@ -13,79 +13,66 @@
namespace nostalgia::gfx {
static class: public keel::Module {
public:
[[nodiscard]]
ox::String id() const noexcept override {
return ox::String{"net.drinkingtea.nostalgia.gfx"};
}
static struct: keel::Module {
[[nodiscard]]
ox::Vector<keel::TypeDescGenerator> types() const noexcept final {
return {
keel::generateTypeDesc<TileSheetV1>,
keel::generateTypeDesc<TileSheetV2>,
keel::generateTypeDesc<TileSheetV3>,
keel::generateTypeDesc<TileSheetV4>,
keel::generateTypeDesc<TileSheetV5>,
keel::generateTypeDesc<CompactTileSheetV1>,
keel::generateTypeDesc<PaletteV1>,
keel::generateTypeDesc<PaletteV2>,
keel::generateTypeDesc<PaletteV3>,
keel::generateTypeDesc<PaletteV4>,
keel::generateTypeDesc<PaletteV5>,
keel::generateTypeDesc<CompactPaletteV1>,
};
}
[[nodiscard]]
ox::String id() const noexcept override {
return ox::String{"net.drinkingtea.nostalgia.gfx"};
}
[[nodiscard]]
ox::Vector<keel::Converter> converters() const noexcept final {
return {
keel::Converter::make<convertNostalgiaPaletteToPaletteV1>(),
keel::Converter::make<convertPaletteV1ToPaletteV2>(),
keel::Converter::make<convertPaletteV2ToPaletteV3>(),
keel::Converter::make<convertPaletteV3ToPaletteV4>(),
keel::Converter::make<convertPaletteV4ToPaletteV5>(),
keel::Converter::make<convertPaletteToCompactPalette>(),
keel::Converter::make<convertTileSheetV1ToTileSheetV2>(),
keel::Converter::make<convertTileSheetV2ToTileSheetV3>(),
keel::Converter::make<convertTileSheetV3ToTileSheetV4>(),
keel::Converter::make<convertTileSheetV4ToTileSheetV5>(),
keel::Converter::make<convertTileSheetToCompactTileSheet>(),
};
}
[[nodiscard]]
ox::Vector<keel::TypeDescGenerator> types() const noexcept final {
return {
keel::generateTypeDesc<TileSheetV1>,
keel::generateTypeDesc<TileSheetV2>,
keel::generateTypeDesc<TileSheetV3>,
keel::generateTypeDesc<TileSheetV4>,
keel::generateTypeDesc<TileSheetV5>,
keel::generateTypeDesc<CompactTileSheetV1>,
keel::generateTypeDesc<PaletteV1>,
keel::generateTypeDesc<PaletteV2>,
keel::generateTypeDesc<PaletteV3>,
keel::generateTypeDesc<PaletteV4>,
keel::generateTypeDesc<PaletteV5>,
keel::generateTypeDesc<CompactPaletteV1>,
};
}
[[nodiscard]]
ox::Vector<keel::PackTransform> packTransforms() const noexcept final {
return {
// convert tilesheets to CompactTileSheets
[](keel::Context &ctx, ox::Buffer &buff, ox::StringViewCR typeId) -> ox::Result<bool> {
if (typeId == ox::ModelTypeId_v<TileSheetV1> ||
typeId == ox::ModelTypeId_v<TileSheetV2> ||
typeId == ox::ModelTypeId_v<TileSheetV3> ||
typeId == ox::ModelTypeId_v<TileSheetV4> ||
typeId == ox::ModelTypeId_v<TileSheetV5>) {
OX_RETURN_ERROR(keel::convertBuffToBuff<CompactTileSheet>(
ctx, buff, ox::ClawFormat::Metal).moveTo(buff));
return true;
}
return false;
},
[](keel::Context &ctx, ox::Buffer &buff, ox::StringViewCR typeId) -> ox::Result<bool> {
if (typeId == ox::ModelTypeId_v<NostalgiaPalette> ||
typeId == ox::ModelTypeId_v<PaletteV1> ||
typeId == ox::ModelTypeId_v<PaletteV2> ||
typeId == ox::ModelTypeId_v<PaletteV3> ||
typeId == ox::ModelTypeId_v<PaletteV4> ||
typeId == ox::ModelTypeId_v<PaletteV5>) {
OX_RETURN_ERROR(keel::convertBuffToBuff<CompactPalette>(
ctx, buff, ox::ClawFormat::Metal).moveTo(buff));
return true;
}
return false;
},
};
}
[[nodiscard]]
ox::Vector<keel::Converter> converters() const noexcept final {
return {
keel::Converter::make<convertNostalgiaPaletteToPaletteV1>(),
keel::Converter::make<convertPaletteV1ToPaletteV2>(),
keel::Converter::make<convertPaletteV2ToPaletteV3>(),
keel::Converter::make<convertPaletteV3ToPaletteV4>(),
keel::Converter::make<convertPaletteV4ToPaletteV5>(),
keel::Converter::make<convertPaletteToCompactPalette>(),
keel::Converter::make<convertTileSheetV1ToTileSheetV2>(),
keel::Converter::make<convertTileSheetV2ToTileSheetV3>(),
keel::Converter::make<convertTileSheetV3ToTileSheetV4>(),
keel::Converter::make<convertTileSheetV4ToTileSheetV5>(),
keel::Converter::make<convertTileSheetToCompactTileSheet>(),
};
}
[[nodiscard]]
ox::Vector<keel::PackTransform> packTransforms() const noexcept final {
return {
// convert tilesheets to CompactTileSheets
keel::transformRule<TileSheetV1, CompactTileSheet>,
keel::transformRule<TileSheetV2, CompactTileSheet>,
keel::transformRule<TileSheetV3, CompactTileSheet>,
keel::transformRule<TileSheetV4, CompactTileSheet>,
keel::transformRule<TileSheetV5, CompactTileSheet>,
// convert palettes to CompactPalettes
keel::transformRule<NostalgiaPalette, CompactPalette>,
keel::transformRule<PaletteV1, CompactPalette>,
keel::transformRule<PaletteV2, CompactPalette>,
keel::transformRule<PaletteV3, CompactPalette>,
keel::transformRule<PaletteV4, CompactPalette>,
keel::transformRule<PaletteV5, CompactPalette>,
};
}
} const mod;

View File

@@ -109,8 +109,8 @@ static void convertSubsheet(
dst.rows = src.rows;
dst.pixels = std::move(src.pixels);
++idIt;
dst.subsheets.resize(src.subsheets.size());
for (auto i = 0u; i < src.subsheets.size(); ++i) {
dst.subsheets.reserveResize(src.subsheets.size());
for (size_t i{}; i < src.subsheets.size(); ++i) {
convertSubsheet(src.subsheets[i], dst.subsheets[i], idIt);
}
}
@@ -136,8 +136,8 @@ static void convertSubsheet(
dst.rows = src.rows;
dst.pixels = std::move(src.pixels);
++idIt;
dst.subsheets.resize(src.subsheets.size());
for (auto i = 0u; i < src.subsheets.size(); ++i) {
dst.subsheets.reserveResize(src.subsheets.size());
for (size_t i{}; i < src.subsheets.size(); ++i) {
convertSubsheet(src.subsheets[i], dst.subsheets[i], idIt);
}
}
@@ -173,8 +173,8 @@ static void convertSubsheet(
} else {
dst.pixels = std::move(src.pixels);
}
dst.subsheets.resize(src.subsheets.size());
for (auto i = 0u; i < src.subsheets.size(); ++i) {
dst.subsheets.reserveResize(src.subsheets.size());
for (size_t i{}; i < src.subsheets.size(); ++i) {
convertSubsheet(bpp, src.subsheets[i], dst.subsheets[i]);
}
}