[nostalgia/core] Make core::setMainViewEnabled take a Context
This commit is contained in:
parent
323d5d8d53
commit
8679f6b5a3
@ -15,6 +15,7 @@
|
|||||||
#include "input.hpp"
|
#include "input.hpp"
|
||||||
|
|
||||||
namespace nostalgia::core::gl {
|
namespace nostalgia::core::gl {
|
||||||
|
void setMainViewEnabled(core::Context *ctx, bool enabled) noexcept;
|
||||||
void drawMainView(core::Context*) noexcept;
|
void drawMainView(core::Context*) noexcept;
|
||||||
void setRenderSize(core::Context*, int width, int height) noexcept;
|
void setRenderSize(core::Context*, int width, int height) noexcept;
|
||||||
geo::Size getRenderSize(core::Context*) noexcept;
|
geo::Size getRenderSize(core::Context*) noexcept;
|
||||||
@ -105,6 +106,7 @@ class Context: public keel::Context {
|
|||||||
unsigned spriteSize,
|
unsigned spriteSize,
|
||||||
unsigned flipX) noexcept;
|
unsigned flipX) noexcept;
|
||||||
friend void hideSprite(Context *ctx, unsigned idx) noexcept;
|
friend void hideSprite(Context *ctx, unsigned idx) noexcept;
|
||||||
|
friend void gl::setMainViewEnabled(core::Context *ctx, bool enabled) noexcept;
|
||||||
friend void gl::drawMainView(core::Context*) noexcept;
|
friend void gl::drawMainView(core::Context*) noexcept;
|
||||||
friend void gl::setRenderSize(core::Context*, int width, int height) noexcept;
|
friend void gl::setRenderSize(core::Context*, int width, int height) noexcept;
|
||||||
friend geo::Size gl::getRenderSize(core::Context*) noexcept;
|
friend geo::Size gl::getRenderSize(core::Context*) noexcept;
|
||||||
|
@ -18,12 +18,6 @@
|
|||||||
|
|
||||||
namespace nostalgia::core {
|
namespace nostalgia::core {
|
||||||
|
|
||||||
namespace gl {
|
|
||||||
|
|
||||||
void setMainViewEnabled(bool) noexcept;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
extern ox::Array<char, 128> charMap;
|
extern ox::Array<char, 128> charMap;
|
||||||
|
|
||||||
class Drawer {
|
class Drawer {
|
||||||
|
@ -20,12 +20,6 @@ void ImGui_Impl_NewFrame() noexcept;
|
|||||||
|
|
||||||
namespace gl {
|
namespace gl {
|
||||||
|
|
||||||
static bool mainViewEnabled = true;
|
|
||||||
|
|
||||||
void setMainViewEnabled(bool enabled) noexcept {
|
|
||||||
mainViewEnabled = enabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace renderer {
|
namespace renderer {
|
||||||
@ -73,6 +67,7 @@ struct GlImplData {
|
|||||||
glutils::GLProgram spriteShader;
|
glutils::GLProgram spriteShader;
|
||||||
int64_t prevFpsCheckTime = 0;
|
int64_t prevFpsCheckTime = 0;
|
||||||
uint64_t draws = 0;
|
uint64_t draws = 0;
|
||||||
|
bool mainViewEnabled = true;
|
||||||
ox::Array<CBB, 4> cbbs;
|
ox::Array<CBB, 4> cbbs;
|
||||||
SpriteBlockset spriteBlocks;
|
SpriteBlockset spriteBlocks;
|
||||||
ox::Array<Sprite, 128> spriteStates;
|
ox::Array<Sprite, 128> spriteStates;
|
||||||
@ -448,7 +443,7 @@ void draw(Context *ctx) noexcept {
|
|||||||
glClearColor(0, 0, 0, 1);
|
glClearColor(0, 0, 0, 1);
|
||||||
glClear(GL_COLOR_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT);
|
||||||
// render
|
// render
|
||||||
if (gl::mainViewEnabled) {
|
if (id->mainViewEnabled) {
|
||||||
gl::drawMainView(ctx);
|
gl::drawMainView(ctx);
|
||||||
}
|
}
|
||||||
for (const auto cd : ctx->drawers) {
|
for (const auto cd : ctx->drawers) {
|
||||||
@ -557,6 +552,11 @@ void setTile(Context *ctx, unsigned bgIdx, int column, int row, uint8_t tile) no
|
|||||||
|
|
||||||
namespace gl {
|
namespace gl {
|
||||||
|
|
||||||
|
void setMainViewEnabled(core::Context *ctx, bool enabled) noexcept {
|
||||||
|
const auto id = ctx->rendererData<renderer::GlImplData>();
|
||||||
|
id->mainViewEnabled = enabled;
|
||||||
|
}
|
||||||
|
|
||||||
void drawMainView(core::Context *ctx) noexcept {
|
void drawMainView(core::Context *ctx) noexcept {
|
||||||
const auto id = ctx->rendererData<renderer::GlImplData>();
|
const auto id = ctx->rendererData<renderer::GlImplData>();
|
||||||
renderer::drawBackgrounds(ctx, id);
|
renderer::drawBackgrounds(ctx, id);
|
||||||
|
@ -48,7 +48,7 @@ static ox::Error run(ox::UniquePtr<ox::FileSystem> fs) noexcept {
|
|||||||
core::setUpdateHandler(ctx.get(), updateHandler);
|
core::setUpdateHandler(ctx.get(), updateHandler);
|
||||||
core::setKeyEventHandler(ctx.get(), keyEventHandler);
|
core::setKeyEventHandler(ctx.get(), keyEventHandler);
|
||||||
core::setConstantRefresh(ctx.get(), false);
|
core::setConstantRefresh(ctx.get(), false);
|
||||||
core::gl::setMainViewEnabled(false);
|
core::gl::setMainViewEnabled(ctx.get(), false);
|
||||||
studio::StudioContext studioCtx;
|
studio::StudioContext studioCtx;
|
||||||
core::setApplicationData(ctx.get(), &studioCtx);
|
core::setApplicationData(ctx.get(), &studioCtx);
|
||||||
StudioUI ui(ctx.get());
|
StudioUI ui(ctx.get());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user