From 0afb04b9a251a27a0cb5e3235d487178910c4269 Mon Sep 17 00:00:00 2001 From: scawful Date: Sat, 11 Nov 2023 19:02:39 -0500 Subject: [PATCH] Add `ExperimentFlags` --- src/app/core/common.h | 12 ++++++++++++ src/app/editor/master_editor.cc | 2 ++ src/app/editor/master_editor.h | 9 ++++----- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/app/core/common.h b/src/app/core/common.h index 3818c64b..e8c4d9b0 100644 --- a/src/app/core/common.h +++ b/src/app/core/common.h @@ -9,6 +9,18 @@ namespace yaze { namespace app { namespace core { +class ExperimentFlags { + private: + struct Flags { + bool kDrawOverworldSprites = false; + }; + Flags flags_; + + public: + auto flags() const { return flags_; } + Flags *mutable_flags() { return &flags_; } +}; + uint32_t SnesToPc(uint32_t addr); uint32_t PcToSnes(uint32_t addr); diff --git a/src/app/editor/master_editor.cc b/src/app/editor/master_editor.cc index dacc3985..527af004 100644 --- a/src/app/editor/master_editor.cc +++ b/src/app/editor/master_editor.cc @@ -199,6 +199,8 @@ void MasterEditor::DrawFileMenu() { if (ImGui::BeginMenu("Options")) { ImGui::MenuItem("Backup ROM", "", &backup_rom_); + ImGui::Checkbox("Enable Overworld Sprites", + &mutable_flags()->kDrawOverworldSprites); ImGui::EndMenu(); } ImGui::EndMenu(); diff --git a/src/app/editor/master_editor.h b/src/app/editor/master_editor.h index 9dbb48f1..0ba0d887 100644 --- a/src/app/editor/master_editor.h +++ b/src/app/editor/master_editor.h @@ -8,6 +8,7 @@ #include #include "absl/status/status.h" +#include "app/core/common.h" #include "app/core/constants.h" #include "app/core/emulator.h" #include "app/core/pipeline.h" @@ -30,13 +31,11 @@ namespace yaze { namespace app { namespace editor { -class MasterEditor : public SharedROM { +class MasterEditor : public SharedROM, public core::ExperimentFlags { public: void SetupScreen(std::shared_ptr renderer); void UpdateScreen(); - void Shutdown() { - overworld_editor_.Shutdown(); - } + void Shutdown() { overworld_editor_.Shutdown(); } private: void DrawFileDialog(); @@ -49,7 +48,7 @@ class MasterEditor : public SharedROM { void DrawEditMenu(); void DrawViewMenu(); void DrawHelpMenu(); - + bool about_ = false; bool rom_info_ = false; bool backup_rom_ = true;