[nostalgia,studio] Make module handling consistent

This commit is contained in:
2023-06-03 14:44:33 -05:00
parent 2874620bc6
commit ed169eb9b8
34 changed files with 257 additions and 209 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
add_library(
NostalgiaCore-Studio OBJECT
module.cpp
studiomodule.cpp
paletteeditor.cpp
paletteeditor-imgui.cpp
tilesheeteditor-imgui.cpp
-17
View File
@@ -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;
}
}
@@ -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;
}