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/project.h"
19#include "app/emu/emulator.h"
20#include "app/gui/input.h"
21#include "app/rom.h"
22
23namespace yaze {
24namespace app {
25namespace editor {
26
39 public:
50
51 void SetupScreen(std::string filename = "");
52 absl::Status Update();
53
54 auto emulator() -> emu::Emulator & { return emulator_; }
55 auto quit() { return quit_; }
56
57 private:
59 absl::Status DrawDynamicLayout();
60
62 void InitializeCommands();
63
64 void DrawStatusPopup();
65 void DrawAboutPopup();
66 void DrawInfoPopup();
67
68 void DrawYazeMenu();
69 void DrawYazeMenuBar();
70
71 void LoadRom();
72 void SaveRom();
73
74 void OpenRomOrProject(const std::string &filename);
75 absl::Status OpenProject();
76
77 bool quit_ = false;
78 bool about_ = false;
79 bool rom_info_ = false;
80 bool backup_rom_ = false;
81 bool save_new_auto_ = true;
82 bool show_status_ = false;
83 bool rom_assets_loaded_ = false;
84 bool dynamic_layout_ = false;
85
86 absl::Status status_;
87
89
90 std::vector<Editor *> active_editors_;
91 std::vector<EditorLayoutParams> active_layouts_;
92
94
97
110};
111
112} // namespace editor
113} // namespace app
114} // namespace yaze
115
116#endif // YAZE_APP_EDITOR_EDITOR_MANAGER_H
A class to hold a shared pointer to a Rom object.
Definition rom.h:576
A class to manage experimental feature flags.
Definition common.h:36
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 &
void OpenRomOrProject(const std::string &filename)
std::vector< EditorLayoutParams > active_layouts_
MemoryEditorWithDiffChecker memory_editor_
std::vector< Editor * > active_editors_
Interface for editor classes.
Definition editor.h:54
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:65
Definition common.cc:22
Represents a project in the application.
Definition project.h:28
Dynamic Editor Layout Parameters.
Definition editor.h:80