[nostalgia,studio] Make module handling consistent
This commit is contained in:
@@ -1,22 +1,35 @@
|
||||
add_library(
|
||||
NostalgiaAppModules OBJECT
|
||||
appmodules.cpp
|
||||
NostalgiaKeelModules OBJECT
|
||||
keelmodules.cpp
|
||||
)
|
||||
|
||||
if(NOT MSVC)
|
||||
target_compile_options(NostalgiaAppModules PRIVATE -Wsign-conversion)
|
||||
endif()
|
||||
|
||||
target_link_libraries(
|
||||
NostalgiaAppModules PUBLIC
|
||||
NostalgiaKeelModules PUBLIC
|
||||
Keel
|
||||
NostalgiaCore
|
||||
NostalgiaScene
|
||||
)
|
||||
|
||||
if(NOT MSVC)
|
||||
target_compile_options(NostalgiaKeelModules PRIVATE -Wsign-conversion)
|
||||
endif()
|
||||
install(
|
||||
FILES
|
||||
appmodules.hpp
|
||||
keelmodules.hpp
|
||||
DESTINATION
|
||||
include/nostalgia/appmodules
|
||||
)
|
||||
|
||||
if(NOSTALGIA_BUILD_TYPE STREQUAL "Native")
|
||||
add_library(
|
||||
NostalgiaStudioModules
|
||||
studiomodules.cpp
|
||||
)
|
||||
target_link_libraries(
|
||||
NostalgiaStudioModules PUBLIC
|
||||
StudioAppLib
|
||||
NostalgiaCore-Studio
|
||||
NostalgiaScene-Studio
|
||||
)
|
||||
if(NOT MSVC)
|
||||
target_compile_options(NostalgiaStudioModules PRIVATE -Wsign-conversion)
|
||||
endif()
|
||||
endif()
|
@@ -1,22 +0,0 @@
|
||||
/*
|
||||
* Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved.
|
||||
*/
|
||||
|
||||
#include <keel/module.hpp>
|
||||
|
||||
#include <nostalgia/core/module.hpp>
|
||||
#include <nostalgia/scene/scenemodule.hpp>
|
||||
|
||||
namespace nostalgia {
|
||||
|
||||
static bool modulesLoaded = false;
|
||||
void loadModules() noexcept {
|
||||
if (modulesLoaded) {
|
||||
return;
|
||||
}
|
||||
keel::registerModule(core::module());
|
||||
keel::registerModule(scene::module());
|
||||
modulesLoaded = true;
|
||||
}
|
||||
|
||||
}
|
22
src/nostalgia/appmodules/keelmodules.cpp
Normal file
22
src/nostalgia/appmodules/keelmodules.cpp
Normal file
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved.
|
||||
*/
|
||||
|
||||
#include <keel/module.hpp>
|
||||
|
||||
#include <nostalgia/core/keelmodule.hpp>
|
||||
#include <nostalgia/scene/keelmodule.hpp>
|
||||
|
||||
namespace nostalgia {
|
||||
|
||||
static bool modulesRegistered = false;
|
||||
void registerKeelModules() noexcept {
|
||||
if (modulesRegistered) {
|
||||
return;
|
||||
}
|
||||
keel::registerModule(core::keelModule());
|
||||
keel::registerModule(scene::keelModule());
|
||||
modulesRegistered = true;
|
||||
}
|
||||
|
||||
}
|
@@ -6,6 +6,6 @@
|
||||
|
||||
namespace nostalgia {
|
||||
|
||||
void loadModules() noexcept;
|
||||
void registerKeelModules() noexcept;
|
||||
|
||||
}
|
24
src/nostalgia/appmodules/studiomodules.cpp
Normal file
24
src/nostalgia/appmodules/studiomodules.cpp
Normal file
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
* Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved.
|
||||
*/
|
||||
|
||||
#include <keel/module.hpp>
|
||||
|
||||
#include <studioapp/studioapp.hpp>
|
||||
|
||||
#include <nostalgia/core/studio/studiomodule.hpp>
|
||||
#include <nostalgia/scene/studio/studiomodule.hpp>
|
||||
|
||||
namespace nostalgia {
|
||||
|
||||
static bool modulesRegistered = false;
|
||||
void registerStudioModules() noexcept {
|
||||
if (modulesRegistered) {
|
||||
return;
|
||||
}
|
||||
studio::registerModule(core::studioModule());
|
||||
studio::registerModule(scene::studioModule());
|
||||
modulesRegistered = true;
|
||||
}
|
||||
|
||||
}
|
11
src/nostalgia/appmodules/studiomodules.hpp
Normal file
11
src/nostalgia/appmodules/studiomodules.hpp
Normal file
@@ -0,0 +1,11 @@
|
||||
/*
|
||||
* Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace nostalgia {
|
||||
|
||||
void registerStudioModules() noexcept;
|
||||
|
||||
}
|
@@ -2,7 +2,7 @@ add_library(
|
||||
NostalgiaCore
|
||||
context.cpp
|
||||
gfx.cpp
|
||||
module.cpp
|
||||
keelmodule.cpp
|
||||
tilesheet.cpp
|
||||
typeconv.cpp
|
||||
)
|
||||
|
71
src/nostalgia/core/keelmodule.cpp
Normal file
71
src/nostalgia/core/keelmodule.cpp
Normal file
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
* Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved.
|
||||
*/
|
||||
|
||||
#include <ox/model/model.hpp>
|
||||
|
||||
#include <keel/asset.hpp>
|
||||
#include <keel/module.hpp>
|
||||
|
||||
#include "gfx.hpp"
|
||||
#include "typeconv.hpp"
|
||||
|
||||
#include "keelmodule.hpp"
|
||||
|
||||
namespace nostalgia::core {
|
||||
|
||||
class CoreModule: public keel::Module {
|
||||
private:
|
||||
NostalgiaPaletteToPaletteConverter nostalgiaPaletteToPaletteConverter;
|
||||
TileSheetV1ToTileSheetConverter nostalgiaGraphicToTileSheetConverter;
|
||||
TileSheetToCompactTileSheetConverter tileSheetToCompactTileSheetConverter;
|
||||
TileSheetV2ToTileSheetConverter tileSheetV2ToTileSheetConverter;
|
||||
|
||||
public:
|
||||
[[nodiscard]]
|
||||
ox::Vector<keel::TypeDescGenerator> types() const noexcept final {
|
||||
return {
|
||||
keel::generateTypeDesc<TileSheetV1>,
|
||||
keel::generateTypeDesc<TileSheetV2>,
|
||||
keel::generateTypeDesc<TileSheet>,
|
||||
keel::generateTypeDesc<CompactTileSheet>,
|
||||
keel::generateTypeDesc<NostalgiaPalette>,
|
||||
keel::generateTypeDesc<Palette>,
|
||||
};
|
||||
}
|
||||
|
||||
[[nodiscard]]
|
||||
ox::Vector<const keel::BaseConverter*> converters() const noexcept final {
|
||||
return {
|
||||
&nostalgiaPaletteToPaletteConverter,
|
||||
&nostalgiaGraphicToTileSheetConverter,
|
||||
&tileSheetToCompactTileSheetConverter,
|
||||
&tileSheetV2ToTileSheetConverter,
|
||||
};
|
||||
}
|
||||
|
||||
[[nodiscard]]
|
||||
ox::Vector<keel::PackTransform> packTransforms() const noexcept final {
|
||||
return {
|
||||
// convert tilesheets to CompactTileSheets
|
||||
[](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(keel::convertBuffToBuff<core::CompactTileSheet>(
|
||||
ctx, *buff, ox::ClawFormat::Metal).moveTo(buff));
|
||||
}
|
||||
return {};
|
||||
},
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
static CoreModule mod;
|
||||
const keel::Module *keelModule() noexcept {
|
||||
return &mod;
|
||||
}
|
||||
|
||||
}
|
@@ -8,6 +8,6 @@
|
||||
|
||||
namespace nostalgia::core {
|
||||
|
||||
const keel::Module *module() noexcept;
|
||||
const keel::Module *keelModule() noexcept;
|
||||
|
||||
}
|
@@ -1,77 +0,0 @@
|
||||
/*
|
||||
* Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved.
|
||||
*/
|
||||
|
||||
#include <ox/model/model.hpp>
|
||||
|
||||
#include <keel/asset.hpp>
|
||||
#include <keel/module.hpp>
|
||||
|
||||
#include "gfx.hpp"
|
||||
#include "typeconv.hpp"
|
||||
|
||||
#include "module.hpp"
|
||||
|
||||
namespace nostalgia::core {
|
||||
|
||||
class CoreModule: public keel::Module {
|
||||
private:
|
||||
NostalgiaPaletteToPaletteConverter nostalgiaPaletteToPaletteConverter;
|
||||
TileSheetV1ToTileSheetConverter nostalgiaGraphicToTileSheetConverter;
|
||||
TileSheetToCompactTileSheetConverter tileSheetToCompactTileSheetConverter;
|
||||
TileSheetV2ToTileSheetConverter tileSheetV2ToTileSheetConverter;
|
||||
|
||||
public:
|
||||
static CoreModule mod;
|
||||
[[nodiscard]]
|
||||
ox::Vector<keel::TypeDescGenerator> types() const noexcept override;
|
||||
[[nodiscard]]
|
||||
ox::Vector<const keel::BaseConverter*> converters() const noexcept override;
|
||||
[[nodiscard]]
|
||||
ox::Vector<keel::PackTransform> packTransforms() const noexcept override;
|
||||
};
|
||||
|
||||
CoreModule CoreModule::mod;
|
||||
|
||||
const keel::Module *module() noexcept {
|
||||
return &CoreModule::mod;
|
||||
}
|
||||
|
||||
ox::Vector<keel::TypeDescGenerator> CoreModule::types() const noexcept {
|
||||
return {
|
||||
keel::generateTypeDesc<TileSheetV1>,
|
||||
keel::generateTypeDesc<TileSheetV2>,
|
||||
keel::generateTypeDesc<TileSheet>,
|
||||
keel::generateTypeDesc<CompactTileSheet>,
|
||||
keel::generateTypeDesc<NostalgiaPalette>,
|
||||
keel::generateTypeDesc<Palette>,
|
||||
};
|
||||
}
|
||||
|
||||
ox::Vector<const keel::BaseConverter*> CoreModule::converters() const noexcept {
|
||||
return {
|
||||
&nostalgiaPaletteToPaletteConverter,
|
||||
&nostalgiaGraphicToTileSheetConverter,
|
||||
&tileSheetToCompactTileSheetConverter,
|
||||
&tileSheetV2ToTileSheetConverter,
|
||||
};
|
||||
}
|
||||
|
||||
ox::Vector<keel::PackTransform> CoreModule::packTransforms() const noexcept {
|
||||
return {
|
||||
// convert tilesheets to CompactTileSheets
|
||||
[](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(keel::convertBuffToBuff<core::CompactTileSheet>(
|
||||
ctx, *buff, ox::ClawFormat::Metal).moveTo(buff));
|
||||
}
|
||||
return {};
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
add_library(
|
||||
NostalgiaCore-Studio OBJECT
|
||||
module.cpp
|
||||
studiomodule.cpp
|
||||
paletteeditor.cpp
|
||||
paletteeditor-imgui.cpp
|
||||
tilesheeteditor-imgui.cpp
|
||||
|
@@ -1,17 +0,0 @@
|
||||
/*
|
||||
* Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <studio/studio.hpp>
|
||||
|
||||
namespace nostalgia::core {
|
||||
|
||||
class StudioModule: public studio::Module {
|
||||
public:
|
||||
ox::Vector<studio::EditorMaker> editors(turbine::Context *ctx) noexcept override;
|
||||
ox::Vector<ox::UniquePtr<studio::ItemMaker>> itemMakers(turbine::Context*) noexcept override;
|
||||
};
|
||||
|
||||
}
|
@@ -7,11 +7,17 @@
|
||||
#include "paletteeditor-imgui.hpp"
|
||||
#include "tilesheeteditor-imgui.hpp"
|
||||
|
||||
#include "module.hpp"
|
||||
#include "studiomodule.hpp"
|
||||
|
||||
namespace nostalgia::core {
|
||||
|
||||
ox::Vector<studio::EditorMaker> StudioModule::editors(turbine::Context *ctx) noexcept {
|
||||
class StudioModule: public studio::Module {
|
||||
public:
|
||||
ox::Vector<studio::EditorMaker> editors(turbine::Context *ctx) const noexcept override;
|
||||
ox::Vector<ox::UniquePtr<studio::ItemMaker>> itemMakers(turbine::Context*) const noexcept override;
|
||||
};
|
||||
|
||||
ox::Vector<studio::EditorMaker> StudioModule::editors(turbine::Context *ctx) const noexcept {
|
||||
return {
|
||||
{
|
||||
{FileExt_ng},
|
||||
@@ -32,11 +38,16 @@ ox::Vector<studio::EditorMaker> StudioModule::editors(turbine::Context *ctx) noe
|
||||
};
|
||||
}
|
||||
|
||||
ox::Vector<ox::UniquePtr<studio::ItemMaker>> StudioModule::itemMakers(turbine::Context*) noexcept {
|
||||
ox::Vector<ox::UniquePtr<studio::ItemMaker>> StudioModule::itemMakers(turbine::Context*) const noexcept {
|
||||
ox::Vector<ox::UniquePtr<studio::ItemMaker>> out;
|
||||
out.emplace_back(ox::make<studio::ItemMakerT<core::TileSheet>>("Tile Sheet", "TileSheets", "ng"));
|
||||
out.emplace_back(ox::make<studio::ItemMakerT<core::Palette>>("Palette", "Palettes", "npal"));
|
||||
return out;
|
||||
}
|
||||
|
||||
static StudioModule mod;
|
||||
const studio::Module *studioModule() noexcept {
|
||||
return &mod;
|
||||
}
|
||||
|
||||
}
|
13
src/nostalgia/core/studio/studiomodule.hpp
Normal file
13
src/nostalgia/core/studio/studiomodule.hpp
Normal file
@@ -0,0 +1,13 @@
|
||||
/*
|
||||
* Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <studio/studio.hpp>
|
||||
|
||||
namespace nostalgia::core {
|
||||
|
||||
const studio::Module *studioModule() noexcept;
|
||||
|
||||
}
|
@@ -22,7 +22,7 @@ endif()
|
||||
|
||||
target_link_libraries(
|
||||
nostalgia
|
||||
NostalgiaAppModules
|
||||
NostalgiaKeelModules
|
||||
OxLogConn
|
||||
)
|
||||
|
||||
|
@@ -8,7 +8,7 @@
|
||||
|
||||
#include <nostalgia/core/core.hpp>
|
||||
|
||||
#include <nostalgia/appmodules/appmodules.hpp>
|
||||
#include <nostalgia/appmodules/keelmodules.hpp>
|
||||
|
||||
#include "app.hpp"
|
||||
|
||||
@@ -17,7 +17,7 @@ static ox::Error run(int argc, const char **argv) noexcept {
|
||||
#ifdef OX_USE_STDLIB
|
||||
// GBA doesn't need the modules and calling this doubles the size of the
|
||||
// binary.
|
||||
nostalgia::loadModules();
|
||||
nostalgia::registerKeelModules();
|
||||
#endif
|
||||
if (argc < 2) {
|
||||
oxErr("Please provide path to project directory or OxFS file.\n");
|
||||
|
@@ -3,7 +3,7 @@ add_library(
|
||||
NostalgiaScene
|
||||
scene.cpp
|
||||
scenestatic.cpp
|
||||
scenemodule.cpp
|
||||
keelmodule.cpp
|
||||
typeconv.cpp
|
||||
)
|
||||
|
||||
@@ -15,7 +15,7 @@ target_link_libraries(
|
||||
install(
|
||||
FILES
|
||||
scenestatic.hpp
|
||||
scenemodule.hpp
|
||||
keelmodule.hpp
|
||||
typeconv.hpp
|
||||
DESTINATION
|
||||
include/nostalgia/scene
|
||||
|
@@ -2,12 +2,10 @@
|
||||
* Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved.
|
||||
*/
|
||||
|
||||
#include <ox/model/model.hpp>
|
||||
|
||||
#include "scenestatic.hpp"
|
||||
#include "typeconv.hpp"
|
||||
|
||||
#include "scenemodule.hpp"
|
||||
#include "keelmodule.hpp"
|
||||
|
||||
namespace nostalgia::scene {
|
||||
|
||||
@@ -41,7 +39,7 @@ class SceneModule: public keel::Module {
|
||||
};
|
||||
|
||||
static SceneModule mod;
|
||||
const keel::Module *module() noexcept {
|
||||
const keel::Module *keelModule() noexcept {
|
||||
return &mod;
|
||||
}
|
||||
|
@@ -8,6 +8,6 @@
|
||||
|
||||
namespace nostalgia::scene {
|
||||
|
||||
const keel::Module *module() noexcept;
|
||||
const keel::Module *keelModule() noexcept;
|
||||
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
add_library(
|
||||
NostalgiaScene-Studio OBJECT
|
||||
module.cpp
|
||||
studiomodule.cpp
|
||||
sceneeditor-imgui.cpp
|
||||
sceneeditor.cpp
|
||||
sceneeditorview.cpp
|
||||
|
@@ -1,18 +0,0 @@
|
||||
/*
|
||||
* Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <turbine/turbine.hpp>
|
||||
#include <studio/studio.hpp>
|
||||
|
||||
namespace nostalgia::scene {
|
||||
|
||||
class StudioModule: public studio::Module {
|
||||
public:
|
||||
ox::Vector<studio::EditorMaker> editors(turbine::Context *ctx) noexcept override;
|
||||
ox::Vector<ox::UPtr<studio::ItemMaker>> itemMakers(turbine::Context*) noexcept override;
|
||||
};
|
||||
|
||||
}
|
@@ -3,11 +3,17 @@
|
||||
*/
|
||||
|
||||
#include "sceneeditor-imgui.hpp"
|
||||
#include "module.hpp"
|
||||
#include "studiomodule.hpp"
|
||||
|
||||
namespace nostalgia::scene {
|
||||
|
||||
ox::Vector<studio::EditorMaker> StudioModule::editors(turbine::Context *ctx) noexcept {
|
||||
class StudioModule: public studio::Module {
|
||||
public:
|
||||
ox::Vector<studio::EditorMaker> editors(turbine::Context *ctx) const noexcept override;
|
||||
ox::Vector<ox::UPtr<studio::ItemMaker>> itemMakers(turbine::Context*) const noexcept override;
|
||||
};
|
||||
|
||||
ox::Vector<studio::EditorMaker> StudioModule::editors(turbine::Context *ctx) const noexcept {
|
||||
return {
|
||||
{
|
||||
{"nscn"},
|
||||
@@ -18,9 +24,14 @@ ox::Vector<studio::EditorMaker> StudioModule::editors(turbine::Context *ctx) noe
|
||||
};
|
||||
}
|
||||
|
||||
ox::Vector<ox::UPtr<studio::ItemMaker>> StudioModule::itemMakers(turbine::Context*) noexcept {
|
||||
ox::Vector<ox::UPtr<studio::ItemMaker>> StudioModule::itemMakers(turbine::Context*) const noexcept {
|
||||
ox::Vector<ox::UPtr<studio::ItemMaker>> out;
|
||||
return out;
|
||||
}
|
||||
|
||||
static StudioModule mod;
|
||||
const studio::Module *studioModule() noexcept {
|
||||
return &mod;
|
||||
}
|
||||
|
||||
}
|
14
src/nostalgia/scene/studio/studiomodule.hpp
Normal file
14
src/nostalgia/scene/studio/studiomodule.hpp
Normal file
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
* Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <turbine/turbine.hpp>
|
||||
#include <studio/studio.hpp>
|
||||
|
||||
namespace nostalgia::scene {
|
||||
|
||||
const studio::Module *studioModule() noexcept;
|
||||
|
||||
}
|
@@ -7,9 +7,8 @@ add_executable(
|
||||
|
||||
target_link_libraries(
|
||||
nostalgia-studio
|
||||
NostalgiaAppModules
|
||||
NostalgiaCore-Studio
|
||||
NostalgiaScene-Studio
|
||||
NostalgiaStudioModules
|
||||
NostalgiaKeelModules
|
||||
StudioAppLib
|
||||
)
|
||||
|
||||
@@ -35,4 +34,4 @@ install(
|
||||
RUNTIME DESTINATION
|
||||
${NOSTALGIA_DIST_BIN}
|
||||
BUNDLE DESTINATION .
|
||||
)
|
||||
)
|
||||
|
@@ -2,27 +2,13 @@
|
||||
* Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved.
|
||||
*/
|
||||
|
||||
#include <ox/std/memory.hpp>
|
||||
|
||||
#include <nostalgia/appmodules/appmodules.hpp>
|
||||
#include <nostalgia/core/studio/module.hpp>
|
||||
#include <nostalgia/scene/studio/module.hpp>
|
||||
#include <nostalgia/appmodules/keelmodules.hpp>
|
||||
#include <nostalgia/appmodules/studiomodules.hpp>
|
||||
|
||||
#include <studioapp/studioapp.hpp>
|
||||
|
||||
using namespace nostalgia;
|
||||
|
||||
[[maybe_unused]] // GCC warns about the existence of this "unused" inline list in a header file...
|
||||
ox::Vector<std::function<ox::UPtr<studio::Module>()>> BuiltinModules = {
|
||||
[]() -> ox::UPtr<studio::Module> {
|
||||
return ox::UPtr<studio::Module>(new core::StudioModule());
|
||||
},
|
||||
[]() -> ox::UPtr<studio::Module> {
|
||||
return ox::UPtr<studio::Module>(new scene::StudioModule());
|
||||
},
|
||||
};
|
||||
|
||||
int main(int argc, const char **argv) {
|
||||
nostalgia::loadModules();
|
||||
nostalgia::registerKeelModules();
|
||||
nostalgia::registerStudioModules();
|
||||
return studio::main("Nostalgia Studio", ".nostalgia", argc, argv);
|
||||
}
|
||||
}
|
||||
|
@@ -5,7 +5,7 @@ target_link_libraries(
|
||||
OxClArgs
|
||||
OxLogConn
|
||||
Keel
|
||||
NostalgiaAppModules
|
||||
NostalgiaKeelModules
|
||||
)
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Release" AND NOT WIN32)
|
||||
|
@@ -10,7 +10,7 @@
|
||||
|
||||
#include <keel/keel.hpp>
|
||||
|
||||
#include <nostalgia/appmodules/appmodules.hpp>
|
||||
#include <nostalgia/appmodules/keelmodules.hpp>
|
||||
|
||||
using namespace nostalgia;
|
||||
|
||||
@@ -52,7 +52,7 @@ static ox::Error generateTypes(ox::TypeStore *ts) noexcept {
|
||||
}
|
||||
|
||||
static ox::Error run(const ox::ClArgs &args) noexcept {
|
||||
loadModules();
|
||||
registerKeelModules();
|
||||
const auto argSrc = args.getString("src", "");
|
||||
const auto argRomBin = args.getString("rom-bin", "");
|
||||
if (argSrc == "") {
|
||||
|
Reference in New Issue
Block a user