Compare commits

..

No commits in common. "e86180e842fb3ac746ab3528e7d3fe8b56bfd24d" and "f1c2113dd37eddee42c37e356c2133ef2ac8185c" have entirely different histories.

9 changed files with 49 additions and 49 deletions

View File

@ -39,19 +39,19 @@ static class: public keel::Module {
} }
[[nodiscard]] [[nodiscard]]
ox::Vector<keel::Converter> converters() const noexcept final { ox::Vector<keel::ConverterWrap> converters() const noexcept final {
return { return {
keel::Converter::make<convertNostalgiaPaletteToPaletteV1>(), keel::ConverterWrap::make<ConvertNostalgiaPaletteToPaletteV1>(),
keel::Converter::make<convertPaletteV1ToPaletteV2>(), keel::ConverterWrap::make<ConvertPaletteV1ToPaletteV2>(),
keel::Converter::make<convertPaletteV2ToPaletteV3>(), keel::ConverterWrap::make<ConvertPaletteV2ToPaletteV3>(),
keel::Converter::make<convertPaletteV3ToPaletteV4>(), keel::ConverterWrap::make<ConvertPaletteV3ToPaletteV4>(),
keel::Converter::make<convertPaletteV4ToPaletteV5>(), keel::ConverterWrap::make<ConvertPaletteV4ToPaletteV5>(),
keel::Converter::make<convertPaletteToCompactPalette>(), keel::ConverterWrap::make<ConvertPaletteToCompactPalette>(),
keel::Converter::make<convertTileSheetV1ToTileSheetV2>(), keel::ConverterWrap::make<ConvertTileSheetV1ToTileSheetV2>(),
keel::Converter::make<convertTileSheetV2ToTileSheetV3>(), keel::ConverterWrap::make<ConvertTileSheetV2ToTileSheetV3>(),
keel::Converter::make<convertTileSheetV3ToTileSheetV4>(), keel::ConverterWrap::make<ConvertTileSheetV3ToTileSheetV4>(),
keel::Converter::make<convertTileSheetV4ToTileSheetV5>(), keel::ConverterWrap::make<ConvertTileSheetV4ToTileSheetV5>(),
keel::Converter::make<convertTileSheetToCompactTileSheet>(), keel::ConverterWrap::make<ConvertTileSheetToCompactTileSheet>(),
}; };
} }

View File

@ -6,7 +6,7 @@
namespace nostalgia::gfx { namespace nostalgia::gfx {
ox::Error convertNostalgiaPaletteToPaletteV1( ox::Error ConvertNostalgiaPaletteToPaletteV1(
keel::Context&, keel::Context&,
NostalgiaPalette &src, NostalgiaPalette &src,
PaletteV1 &dst) noexcept { PaletteV1 &dst) noexcept {
@ -14,7 +14,7 @@ ox::Error convertNostalgiaPaletteToPaletteV1(
return {}; return {};
} }
ox::Error convertPaletteV1ToPaletteV2( ox::Error ConvertPaletteV1ToPaletteV2(
keel::Context&, keel::Context&,
PaletteV1 &src, PaletteV1 &src,
PaletteV2 &dst) noexcept { PaletteV2 &dst) noexcept {
@ -22,7 +22,7 @@ ox::Error convertPaletteV1ToPaletteV2(
return {}; return {};
} }
ox::Error convertPaletteV2ToPaletteV3( ox::Error ConvertPaletteV2ToPaletteV3(
keel::Context&, keel::Context&,
PaletteV2 &src, PaletteV2 &src,
PaletteV3 &dst) noexcept { PaletteV3 &dst) noexcept {
@ -36,7 +36,7 @@ ox::Error convertPaletteV2ToPaletteV3(
return {}; return {};
} }
ox::Error convertPaletteV3ToPaletteV4( ox::Error ConvertPaletteV3ToPaletteV4(
keel::Context&, keel::Context&,
PaletteV3 &src, PaletteV3 &src,
PaletteV4 &dst) noexcept { PaletteV4 &dst) noexcept {
@ -52,7 +52,7 @@ ox::Error convertPaletteV3ToPaletteV4(
return {}; return {};
} }
ox::Error convertPaletteV4ToPaletteV5( ox::Error ConvertPaletteV4ToPaletteV5(
keel::Context&, keel::Context&,
PaletteV4 &src, PaletteV4 &src,
PaletteV5 &dst) noexcept { PaletteV5 &dst) noexcept {
@ -72,7 +72,7 @@ ox::Error convertPaletteV4ToPaletteV5(
return {}; return {};
} }
ox::Error convertPaletteToCompactPalette( ox::Error ConvertPaletteToCompactPalette(
keel::Context&, keel::Context&,
Palette &src, Palette &src,
CompactPalette &dst) noexcept { CompactPalette &dst) noexcept {
@ -86,7 +86,7 @@ ox::Error convertPaletteToCompactPalette(
return {}; return {};
} }
ox::Error convertTileSheetV1ToTileSheetV2( ox::Error ConvertTileSheetV1ToTileSheetV2(
keel::Context&, keel::Context&,
TileSheetV1 &src, TileSheetV1 &src,
TileSheetV2 &dst) noexcept { TileSheetV2 &dst) noexcept {
@ -115,7 +115,7 @@ static void convertSubsheet(
} }
} }
ox::Error convertTileSheetV2ToTileSheetV3( ox::Error ConvertTileSheetV2ToTileSheetV3(
keel::Context&, keel::Context&,
TileSheetV2 &src, TileSheetV2 &src,
TileSheetV3 &dst) noexcept { TileSheetV3 &dst) noexcept {
@ -142,7 +142,7 @@ static void convertSubsheet(
} }
} }
ox::Error convertTileSheetV3ToTileSheetV4( ox::Error ConvertTileSheetV3ToTileSheetV4(
keel::Context&, keel::Context&,
TileSheetV3 &src, TileSheetV3 &src,
TileSheetV4 &dst) noexcept { TileSheetV4 &dst) noexcept {
@ -179,7 +179,7 @@ static void convertSubsheet(
} }
} }
ox::Error convertTileSheetV4ToTileSheetV5( ox::Error ConvertTileSheetV4ToTileSheetV5(
keel::Context&, keel::Context&,
TileSheetV4 &src, TileSheetV4 &src,
TileSheetV5 &dst) noexcept { TileSheetV5 &dst) noexcept {
@ -191,7 +191,7 @@ ox::Error convertTileSheetV4ToTileSheetV5(
} }
ox::Error convertTileSheetToCompactTileSheet( ox::Error ConvertTileSheetToCompactTileSheet(
keel::Context&, keel::Context&,
TileSheet &src, TileSheet &src,
CompactTileSheet &dst) noexcept { CompactTileSheet &dst) noexcept {

View File

@ -16,26 +16,26 @@ namespace nostalgia::gfx {
// Type converters // 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; ox::Error ConvertPaletteV1ToPaletteV2(keel::Context&, PaletteV1 &src, PaletteV2 &dst) noexcept;
ox::Error convertPaletteV2ToPaletteV3(keel::Context&, PaletteV2 &src, PaletteV3 &dst) noexcept; ox::Error ConvertPaletteV2ToPaletteV3(keel::Context&, PaletteV2 &src, PaletteV3 &dst) noexcept;
ox::Error convertPaletteV3ToPaletteV4(keel::Context&, PaletteV3 &src, PaletteV4 &dst) noexcept; ox::Error ConvertPaletteV3ToPaletteV4(keel::Context&, PaletteV3 &src, PaletteV4 &dst) noexcept;
ox::Error convertPaletteV4ToPaletteV5(keel::Context&, PaletteV4 &src, PaletteV5 &dst) noexcept; ox::Error ConvertPaletteV4ToPaletteV5(keel::Context&, PaletteV4 &src, PaletteV5 &dst) noexcept;
ox::Error convertPaletteToCompactPalette(keel::Context&, Palette &src, CompactPalette &dst) noexcept; ox::Error ConvertPaletteToCompactPalette(keel::Context&, Palette &src, CompactPalette &dst) noexcept;
ox::Error convertTileSheetV1ToTileSheetV2(keel::Context&, TileSheetV1 &src, TileSheetV2 &dst) noexcept; ox::Error ConvertTileSheetV1ToTileSheetV2(keel::Context&, TileSheetV1 &src, TileSheetV2 &dst) noexcept;
ox::Error convertTileSheetV2ToTileSheetV3(keel::Context&, TileSheetV2 &src, TileSheetV3 &dst) noexcept; ox::Error ConvertTileSheetV2ToTileSheetV3(keel::Context&, TileSheetV2 &src, TileSheetV3 &dst) noexcept;
ox::Error convertTileSheetV3ToTileSheetV4(keel::Context&, TileSheetV3 &src, TileSheetV4 &dst) noexcept; ox::Error ConvertTileSheetV3ToTileSheetV4(keel::Context&, TileSheetV3 &src, TileSheetV4 &dst) noexcept;
ox::Error convertTileSheetV4ToTileSheetV5(keel::Context&, TileSheetV4 &src, TileSheetV5 &dst) noexcept; ox::Error ConvertTileSheetV4ToTileSheetV5(keel::Context&, TileSheetV4 &src, TileSheetV5 &dst) noexcept;
ox::Error convertTileSheetToCompactTileSheet(keel::Context&, TileSheet &src, CompactTileSheet &dst) noexcept; ox::Error ConvertTileSheetToCompactTileSheet(keel::Context&, TileSheet &src, CompactTileSheet &dst) noexcept;
} }

View File

@ -26,7 +26,7 @@ static class: public keel::Module {
} }
[[nodiscard]] [[nodiscard]]
ox::Vector<keel::Converter> converters() const noexcept final { ox::Vector<keel::ConverterWrap> converters() const noexcept final {
return { return {
}; };
} }

View File

@ -22,7 +22,7 @@ class Context {
AssetManager assetManager; AssetManager assetManager;
ox::HashMap<ox::String, ox::UUID> pathToUuid; ox::HashMap<ox::String, ox::UUID> pathToUuid;
ox::HashMap<ox::UUIDStr, ox::String> uuidToPath; ox::HashMap<ox::UUIDStr, ox::String> uuidToPath;
ox::Vector<Converter> converters; ox::Vector<ConverterWrap> converters;
ox::Vector<PackTransform> packTransforms; ox::Vector<PackTransform> packTransforms;
#else #else
std::size_t preloadSectionOffset = 0; std::size_t preloadSectionOffset = 0;
@ -45,7 +45,7 @@ constexpr ox::SpanView<PackTransform> packTransforms(
#endif #endif
} }
constexpr ox::SpanView<Converter> converters( constexpr ox::SpanView<ConverterWrap> converters(
[[maybe_unused]] Context const&ctx) noexcept { [[maybe_unused]] Context const&ctx) noexcept {
#ifndef OX_BARE_METAL #ifndef OX_BARE_METAL
return ctx.converters; return ctx.converters;

View File

@ -32,7 +32,7 @@ class Module {
[[nodiscard]] [[nodiscard]]
virtual ox::Vector<TypeDescGenerator> types() const noexcept; virtual ox::Vector<TypeDescGenerator> types() const noexcept;
[[nodiscard]] [[nodiscard]]
virtual ox::Vector<Converter> converters() const noexcept; virtual ox::Vector<ConverterWrap> converters() const noexcept;
[[nodiscard]] [[nodiscard]]
virtual ox::Vector<PackTransform> packTransforms() const noexcept; virtual ox::Vector<PackTransform> packTransforms() const noexcept;
}; };

View File

@ -129,7 +129,7 @@ class BaseConverter {
template<auto Func> template<auto Func>
class ConverterFunc: public BaseConverter { class Converter: public BaseConverter {
private: private:
template<typename SrcType, typename DstType> template<typename SrcType, typename DstType>
struct ParamExtractor { struct ParamExtractor {
@ -194,20 +194,20 @@ class ConverterFunc: public BaseConverter {
}; };
class Converter { class ConverterWrap {
private: private:
ox::AllocAlias<BaseConverter> m_buff{}; ox::AllocAlias<BaseConverter> m_buff{};
BaseConverter *m_conv{}; BaseConverter *m_conv{};
public: public:
template<auto Func> template<auto Func>
static Converter make() { static ConverterWrap make() {
Converter out; ConverterWrap out;
static_assert(sizeof(ConverterFunc<Func>) <= sizeof(out.m_buff)); static_assert(sizeof(Converter<Func>) <= sizeof(out.m_buff));
out.m_conv = new (out.m_buff.data()) ConverterFunc<Func>{}; out.m_conv = new (out.m_buff.data()) Converter<Func>{};
return out; return out;
} }
constexpr Converter() {} constexpr ConverterWrap() {}
Converter(Converter const &other): ConverterWrap(ConverterWrap const &other):
m_buff{other.m_buff}, m_buff{other.m_buff},
m_conv{m_buff.data()} {} m_conv{m_buff.data()} {}
[[nodiscard]] [[nodiscard]]

View File

@ -24,7 +24,7 @@ ox::Vector<TypeDescGenerator> Module::types() const noexcept {
return {}; return {};
} }
ox::Vector<Converter> Module::converters() const noexcept { ox::Vector<ConverterWrap> Module::converters() const noexcept {
return {}; return {};
} }

View File

@ -9,7 +9,7 @@
namespace keel { namespace keel {
static ox::Result<BaseConverter const*> findConverter( static ox::Result<BaseConverter const*> findConverter(
ox::SpanView<Converter> const&converters, ox::SpanView<ConverterWrap> const&converters,
ox::StringViewCR srcTypeName, ox::StringViewCR srcTypeName,
int const srcTypeVersion, int const srcTypeVersion,
ox::StringViewCR dstTypeName, ox::StringViewCR dstTypeName,
@ -32,7 +32,7 @@ static ox::Result<ox::UPtr<Wrap>> convert(BaseConverter const&c, Context &ctx, W
static ox::Result<ox::UPtr<Wrap>> convert( static ox::Result<ox::UPtr<Wrap>> convert(
Context &ctx, Context &ctx,
ox::SpanView<Converter> const&converters, ox::SpanView<ConverterWrap> const&converters,
auto &src, auto &src,
ox::StringViewCR srcTypeName, ox::StringViewCR srcTypeName,
int const srcTypeVersion, int const srcTypeVersion,