yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
feature_flag_editor_panel.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_AGENT_PANELS_FEATURE_FLAG_EDITOR_PANEL_H_
2#define YAZE_APP_EDITOR_AGENT_PANELS_FEATURE_FLAG_EDITOR_PANEL_H_
3
4#include <string>
5#include <vector>
6
8
9namespace yaze {
10namespace project {
11class YazeProject;
12}
13
14namespace editor {
15
30 public:
33
37 void SetProject(project::YazeProject* project) { project_ = project; }
38
42 void Draw();
43
44 private:
49
54 bool SaveToFile();
55
59 std::string ResolveConfigPath() const;
60
61 // The project we read the manifest from
63
64 // Local mutable copy of flags (allows toggling before saving)
65 struct EditableFlag {
66 std::string name;
67 int value;
68 bool enabled;
69 std::string source;
70 bool dirty = false; // Changed since last save
71 };
72 std::vector<EditableFlag> flags_;
73
74 // UI state
75 bool needs_refresh_ = true;
76 std::string status_message_;
77 bool status_is_error_ = false;
78 char filter_text_[128] = {};
79};
80
81} // namespace editor
82} // namespace yaze
83
84#endif // YAZE_APP_EDITOR_AGENT_PANELS_FEATURE_FLAG_EDITOR_PANEL_H_
Panel for viewing and toggling ASM feature flags from the hack manifest.
void RefreshFromManifest()
Refresh the local flags list from the hack manifest.
bool SaveToFile()
Write the current flag state to Config/feature_flags.asm.
void SetProject(project::YazeProject *project)
Set the project pointer for manifest and path access.
void Draw()
Draw the panel content (no ImGui::Begin/End).
std::string ResolveConfigPath() const
Resolve the absolute path to Config/feature_flags.asm.
Modern project structure with comprehensive settings consolidation.
Definition project.h:120