yaze 0.2.0
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
editor_manager.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_EDITOR_MANAGER_H
2#define YAZE_APP_EDITOR_EDITOR_MANAGER_H
3
4#define IMGUI_DEFINE_MATH_OPERATORS
5
6#include "absl/status/status.h"
7#include "app/core/message.h"
8#include "app/core/project.h"
22#include "app/emu/emulator.h"
23#include "app/gui/input.h"
24#include "app/rom.h"
25#include "imgui/imgui.h"
26#include "yaze.h"
27
28namespace yaze {
29namespace app {
30namespace editor {
31
51 public:
61
62 void SetupScreen(std::string filename = "");
63 absl::Status Update();
64
65 auto emulator() -> emu::Emulator& { return emulator_; }
66 auto quit() { return quit_; }
67
68 private:
71
72 void DrawStatusPopup();
73 void DrawAboutPopup();
74 void DrawInfoPopup();
75
76 void DrawYazeMenu();
77 void DrawYazeMenuBar();
78
79 void LoadRom();
80 void SaveRom();
81
82 void OpenRomOrProject(const std::string& filename);
83 absl::Status OpenProject();
84
85 bool quit_ = false;
86 bool about_ = false;
87 bool rom_info_ = false;
88 bool backup_rom_ = false;
89 bool save_new_auto_ = true;
90 bool show_status_ = false;
91 bool rom_assets_loaded_ = false;
92
93 absl::Status status_;
94
95 ImVector<int> active_tabs_;
96 std::vector<Editor*> active_editors_;
97
100
105
118};
119
120} // namespace editor
121} // namespace app
122} // namespace yaze
123
124#endif // YAZE_APP_EDITOR_EDITOR_MANAGER_H
A class to hold a shared pointer to a Rom object.
Definition rom.h:585
A class to manage experimental feature flags.
Definition common.h:30
Text editor for modifying assembly code.
DungeonEditor class for editing dungeons.
The EditorManager controls the main editor window and manages the various editor classes.
void SetupScreen(std::string filename="")
auto emulator() -> emu::Emulator &
yaze_editor_context editor_context_
void OpenRomOrProject(const std::string &filename)
std::vector< Editor * > active_editors_
MemoryEditorWithDiffChecker memory_editor_
core::MessageDispatcher dispatcher_
Interface for editor classes.
Definition editor.h:39
Allows the user to edit graphics sheets from the game or view prototype graphics.
A class for editing music data in a Rom.
Manipulates the Overworld and OverworldMap data in a Rom.
Allows the user to view and edit in game palettes.
The ScreenEditor class allows the user to edit a variety of screens in the game or create a custom me...
Allows the user to edit sprites.
A class for emulating and debugging SNES games.
Definition emulator.h:26
Definition common.cc:21
Represents a project in the application.
Definition project.h:30
Extension editor context.
Definition yaze.h:42