[keel] Split out Nostalgia Foundation and Pack lib into Keel

This commit is contained in:
2023-03-24 21:20:55 -05:00
parent 4a95a79926
commit 7beb3cc6fc
50 changed files with 185 additions and 206 deletions
+1 -1
View File
@@ -51,7 +51,7 @@ endif()
target_link_libraries(
NostalgiaCore-Common PUBLIC
NostalgiaFoundation
Keel
)
target_link_libraries(
+2 -2
View File
@@ -8,7 +8,7 @@
#include <ox/model/desctypes.hpp>
#include <ox/std/buffer.hpp>
#include <nostalgia/foundation/context.hpp>
#include <keel/context.hpp>
#include <nostalgia/geo/size.hpp>
#include "event.hpp"
@@ -59,7 +59,7 @@ struct BgCbbData {
};
// User Input Output
class Context: public foundation::Context {
class Context: public keel::Context {
friend constexpr void setApplicationData(Context *ctx, void *applicationData) noexcept;
template<typename T>
friend constexpr T *applicationData(Context *ctx) noexcept;
+2 -2
View File
@@ -6,7 +6,7 @@
#include <ox/mc/mc.hpp>
#include <ox/std/array.hpp>
#include <nostalgia/foundation/media.hpp>
#include <keel/media.hpp>
#include <nostalgia/core/context.hpp>
#include <nostalgia/core/gfx.hpp>
@@ -130,7 +130,7 @@ ox::Error initConsole(Context *ctx) noexcept {
setBgStatus(ctx, 0b0001);
if (!ctx) {
ctx = new (ox_alloca(sizeof(Context))) Context();
oxRequire(rom, foundation::loadRom());
oxRequire(rom, keel::loadRom());
ox::FileStore32 fs(rom, 32 * ox::units::MB);
auto romFs = new (ox_alloca(sizeof(ox::FileSystem32))) ox::FileSystem32(fs);
new (&ctx->rom) ox::UniquePtr<ox::FileSystem>(romFs);
+2 -2
View File
@@ -5,7 +5,7 @@
#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include <nostalgia/foundation/foundation.hpp>
#include <keel/keel.hpp>
#include <nostalgia/core/gfx.hpp>
#include <nostalgia/core/input.hpp>
#include <nostalgia/core/opengl/gfx.hpp>
@@ -15,7 +15,7 @@
namespace nostalgia::core {
ox::Result<ox::UPtr<Context>> init(ox::UPtr<ox::FileSystem> fs, ox::CRStringView appName) noexcept {
oxRequireM(ctx, foundation::init<Context>(std::move(fs), appName));
oxRequireM(ctx, keel::init<Context>(std::move(fs), appName));
const auto id = ox::make<GlfwImplData>();
ctx->setWindowerData(id);
using namespace std::chrono;
+19 -19
View File
@@ -4,8 +4,8 @@
#include <ox/model/model.hpp>
#include <nostalgia/foundation/asset.hpp>
#include <nostalgia/foundation/module.hpp>
#include <keel/asset.hpp>
#include <keel/module.hpp>
#include "gfx.hpp"
#include "typeconv.hpp"
@@ -14,7 +14,7 @@
namespace nostalgia::core {
class CoreModule: public foundation::Module {
class CoreModule: public keel::Module {
private:
NostalgiaPaletteToPaletteConverter nostalgiaPaletteToPaletteConverter;
TileSheetV1ToTileSheetConverter nostalgiaGraphicToTileSheetConverter;
@@ -24,31 +24,31 @@ class CoreModule: public foundation::Module {
public:
static CoreModule mod;
[[nodiscard]]
ox::Vector<foundation::TypeDescGenerator> types() const noexcept override;
ox::Vector<keel::TypeDescGenerator> types() const noexcept override;
[[nodiscard]]
ox::Vector<const foundation::BaseConverter*> converters() const noexcept override;
ox::Vector<const keel::BaseConverter*> converters() const noexcept override;
[[nodiscard]]
ox::Vector<foundation::PackTransform> packTransforms() const noexcept override;
ox::Vector<keel::PackTransform> packTransforms() const noexcept override;
};
CoreModule CoreModule::mod;
const foundation::Module *module() noexcept {
const keel::Module *module() noexcept {
return &CoreModule::mod;
}
ox::Vector<foundation::TypeDescGenerator> CoreModule::types() const noexcept {
ox::Vector<keel::TypeDescGenerator> CoreModule::types() const noexcept {
return {
foundation::generateTypeDesc<TileSheetV1>,
foundation::generateTypeDesc<TileSheetV2>,
foundation::generateTypeDesc<TileSheet>,
foundation::generateTypeDesc<CompactTileSheet>,
foundation::generateTypeDesc<NostalgiaPalette>,
foundation::generateTypeDesc<Palette>,
keel::generateTypeDesc<TileSheetV1>,
keel::generateTypeDesc<TileSheetV2>,
keel::generateTypeDesc<TileSheet>,
keel::generateTypeDesc<CompactTileSheet>,
keel::generateTypeDesc<NostalgiaPalette>,
keel::generateTypeDesc<Palette>,
};
}
ox::Vector<const foundation::BaseConverter*> CoreModule::converters() const noexcept {
ox::Vector<const keel::BaseConverter*> CoreModule::converters() const noexcept {
return {
&nostalgiaPaletteToPaletteConverter,
&nostalgiaGraphicToTileSheetConverter,
@@ -57,16 +57,16 @@ ox::Vector<const foundation::BaseConverter*> CoreModule::converters() const noex
};
}
ox::Vector<foundation::PackTransform> CoreModule::packTransforms() const noexcept {
ox::Vector<keel::PackTransform> CoreModule::packTransforms() const noexcept {
return {
// convert tilesheets to CompactTileSheets
[](foundation::Context *ctx, ox::Buffer *buff) -> ox::Error {
oxRequire(hdr, foundation::readAssetHeader(*buff));
[](keel::Context *ctx, ox::Buffer *buff) -> ox::Error {
oxRequire(hdr, keel::readAssetHeader(*buff));
const auto typeId = ox::buildTypeId(hdr.clawHdr.typeName, hdr.clawHdr.typeVersion, hdr.clawHdr.typeParams);
if (typeId == ox::buildTypeId<TileSheetV1>() ||
typeId == ox::buildTypeId<TileSheetV2>() ||
typeId == ox::buildTypeId<TileSheet>()) {
oxReturnError(foundation::convertBuffToBuff<core::CompactTileSheet>(
oxReturnError(keel::convertBuffToBuff<core::CompactTileSheet>(
ctx, *buff, ox::ClawFormat::Metal).moveTo(buff));
}
return {};
+2 -2
View File
@@ -4,10 +4,10 @@
#pragma once
#include <nostalgia/foundation/module.hpp>
#include <keel/module.hpp>
namespace nostalgia::core {
const foundation::Module *module() noexcept;
const keel::Module *module() noexcept;
}
+1 -1
View File
@@ -3,7 +3,7 @@
*/
#include <nostalgia/core/gfx.hpp>
#include <nostalgia/foundation/media.hpp>
#include <keel/media.hpp>
#include "gfx.hpp"
@@ -5,7 +5,7 @@
#include <imgui.h>
#include <nostalgia/core/gfx.hpp>
#include <nostalgia/foundation/media.hpp>
#include <keel/media.hpp>
#include <ox/std/memory.hpp>
#include "paletteeditor.hpp"
@@ -19,7 +19,7 @@ ox::Result<PaletteEditorImGui*> PaletteEditorImGui::make(Context *ctx, ox::CRStr
out->m_itemPath = path;
const auto lastSlash = std::find(out->m_itemPath.rbegin(), out->m_itemPath.rend(), '/').offset();
out->m_itemName = out->m_itemPath.substr(lastSlash + 1);
oxRequire(pal, foundation::readObj<Palette>(out->m_ctx, ox::FileAddress(out->m_itemPath.c_str())));
oxRequire(pal, keel::readObj<Palette>(out->m_ctx, ox::FileAddress(out->m_itemPath.c_str())));
out->m_pal = *pal;
return out.release();
}
@@ -5,7 +5,7 @@
#include <imgui.h>
#include <lodepng.h>
#include <nostalgia/foundation/media.hpp>
#include <keel/media.hpp>
#include <nostalgia/geo/point.hpp>
#include "tilesheeteditor-imgui.hpp"
@@ -9,7 +9,7 @@
#include <ox/std/memory.hpp>
#include <nostalgia/core/clipboard.hpp>
#include <nostalgia/foundation/media.hpp>
#include <keel/media.hpp>
#include "tilesheeteditormodel.hpp"
@@ -23,7 +23,7 @@ class TileSheetEditorModel: public ox::SignalHandler {
static const Palette s_defaultPalette;
TileSheet m_img;
TileSheet::SubSheetIdx m_activeSubsSheetIdx;
foundation::AssetRef<Palette> m_pal;
keel::AssetRef<Palette> m_pal;
studio::UndoStack m_undoStack;
class DrawCommand *m_ongoingDrawCommand = nullptr;
bool m_updated = false;
@@ -3,7 +3,7 @@
*/
#include <nostalgia/core/consts.hpp>
#include <nostalgia/foundation/media.hpp>
#include <keel/media.hpp>
#include <nostalgia/geo/point.hpp>
#include "tilesheeteditorview.hpp"
+4 -4
View File
@@ -7,7 +7,7 @@
namespace nostalgia::core {
ox::Error NostalgiaPaletteToPaletteConverter::convert(
foundation::Context*,
keel::Context*,
NostalgiaPalette *src,
Palette *dst) const noexcept {
dst->colors = std::move(src->colors);
@@ -15,7 +15,7 @@ ox::Error NostalgiaPaletteToPaletteConverter::convert(
}
ox::Error TileSheetV1ToTileSheetConverter::convert(
foundation::Context*,
keel::Context*,
TileSheetV1 *src,
TileSheet *dst) const noexcept {
dst->bpp = src->bpp;
@@ -28,7 +28,7 @@ ox::Error TileSheetV1ToTileSheetConverter::convert(
}
ox::Error TileSheetToCompactTileSheetConverter::convert(
foundation::Context*,
keel::Context*,
TileSheet *src,
CompactTileSheet *dst) const noexcept {
dst->bpp = src->bpp;
@@ -55,7 +55,7 @@ void TileSheetV2ToTileSheetConverter::convertSubsheet(
}
ox::Error TileSheetV2ToTileSheetConverter::convert(
foundation::Context*,
keel::Context*,
TileSheetV2 *src,
TileSheet *dst) const noexcept {
dst->bpp = src->bpp;
+9 -9
View File
@@ -6,7 +6,7 @@
#include <ox/std/def.hpp>
#include <nostalgia/foundation/typeconv.hpp>
#include <keel/typeconv.hpp>
#include "context.hpp"
#include "gfx.hpp"
@@ -15,25 +15,25 @@ namespace nostalgia::core {
// Type converters
class NostalgiaPaletteToPaletteConverter: public foundation::Converter<NostalgiaPalette, Palette> {
ox::Error convert(foundation::Context*, NostalgiaPalette *src, Palette *dst) const noexcept final;
class NostalgiaPaletteToPaletteConverter: public keel::Converter<NostalgiaPalette, Palette> {
ox::Error convert(keel::Context*, NostalgiaPalette *src, Palette *dst) const noexcept final;
};
class TileSheetV1ToTileSheetConverter: public foundation::Converter<TileSheetV1, TileSheet> {
ox::Error convert(foundation::Context*, TileSheetV1 *src, TileSheet *dst) const noexcept final;
class TileSheetV1ToTileSheetConverter: public keel::Converter<TileSheetV1, TileSheet> {
ox::Error convert(keel::Context*, TileSheetV1 *src, TileSheet *dst) const noexcept final;
};
class TileSheetToCompactTileSheetConverter: public foundation::Converter<TileSheet, CompactTileSheet> {
ox::Error convert(foundation::Context*, TileSheet *src, CompactTileSheet *dst) const noexcept final;
class TileSheetToCompactTileSheetConverter: public keel::Converter<TileSheet, CompactTileSheet> {
ox::Error convert(keel::Context*, TileSheet *src, CompactTileSheet *dst) const noexcept final;
};
class TileSheetV2ToTileSheetConverter: public foundation::Converter<TileSheetV2, TileSheet> {
class TileSheetV2ToTileSheetConverter: public keel::Converter<TileSheetV2, TileSheet> {
static void convertSubsheet(
TileSheetV2::SubSheet *src,
TileSheet::SubSheet *dst,
SubSheetId *idIt) noexcept;
ox::Error convert(foundation::Context*, TileSheetV2 *src, TileSheet *dst) const noexcept final;
ox::Error convert(keel::Context*, TileSheetV2 *src, TileSheet *dst) const noexcept final;
};