update FlagsMenu

This commit is contained in:
scawful
2024-07-20 10:31:22 -04:00
parent a5c9944fb6
commit 53604dc240
3 changed files with 55 additions and 46 deletions

View File

@@ -540,8 +540,11 @@ void MasterEditor::DrawFileMenu() {
MenuItem("Backup ROM", "", &backup_rom_); MenuItem("Backup ROM", "", &backup_rom_);
MenuItem("Save New Auto", "", &save_new_auto_); MenuItem("Save New Auto", "", &save_new_auto_);
Separator(); Separator();
static FlagsMenu flags_menu; if (BeginMenu("Experiment Flags")) {
flags_menu.Draw(); static FlagsMenu flags_menu;
flags_menu.Draw();
ImGui::EndMenu();
}
ImGui::EndMenu(); ImGui::EndMenu();
} }

View File

@@ -8,8 +8,13 @@ namespace yaze {
namespace app { namespace app {
namespace editor { namespace editor {
using ImGui::BeginChild;
using ImGui::BeginMenu;
using ImGui::BeginTabBar; using ImGui::BeginTabBar;
using ImGui::BeginTabItem; using ImGui::BeginTabItem;
using ImGui::Checkbox;
using ImGui::EndChild;
using ImGui::EndMenu;
using ImGui::EndTabBar; using ImGui::EndTabBar;
using ImGui::EndTabItem; using ImGui::EndTabItem;
using ImGui::Text; using ImGui::Text;
@@ -17,8 +22,12 @@ using ImGui::Text;
absl::Status SettingsEditor::Update() { absl::Status SettingsEditor::Update() {
if (BeginTabBar("Settings", ImGuiTabBarFlags_None)) { if (BeginTabBar("Settings", ImGuiTabBarFlags_None)) {
if (BeginTabItem("General")) { if (BeginTabItem("General")) {
static FlagsMenu flags; if (BeginChild("##GeneralSettingsStyleWrapper", ImVec2(0, 0),
flags.Draw(); ImGuiChildFlags_FrameStyle)) {
static FlagsMenu flags;
flags.Draw();
}
EndChild();
EndTabItem(); EndTabItem();
} }
if (BeginTabItem("Keyboard Shortcuts")) { if (BeginTabItem("Keyboard Shortcuts")) {

View File

@@ -16,50 +16,47 @@ using ImGui::Separator;
struct FlagsMenu : public core::ExperimentFlags { struct FlagsMenu : public core::ExperimentFlags {
void Draw() { void Draw() {
if (BeginMenu("Experiment Flags")) { if (BeginMenu("Overworld Flags")) {
if (BeginMenu("Overworld Flags")) { Checkbox("Enable Overworld Sprites",
Checkbox("Enable Overworld Sprites", &mutable_flags()->overworld.kDrawOverworldSprites);
&mutable_flags()->overworld.kDrawOverworldSprites); Separator();
Separator(); Checkbox("Save Overworld Maps",
Checkbox("Save Overworld Maps", &mutable_flags()->overworld.kSaveOverworldMaps);
&mutable_flags()->overworld.kSaveOverworldMaps); Checkbox("Save Overworld Entrances",
Checkbox("Save Overworld Entrances", &mutable_flags()->overworld.kSaveOverworldEntrances);
&mutable_flags()->overworld.kSaveOverworldEntrances); Checkbox("Save Overworld Exits",
Checkbox("Save Overworld Exits", &mutable_flags()->overworld.kSaveOverworldExits);
&mutable_flags()->overworld.kSaveOverworldExits); Checkbox("Save Overworld Items",
Checkbox("Save Overworld Items", &mutable_flags()->overworld.kSaveOverworldItems);
&mutable_flags()->overworld.kSaveOverworldItems); Checkbox("Save Overworld Properties",
Checkbox("Save Overworld Properties", &mutable_flags()->overworld.kSaveOverworldProperties);
&mutable_flags()->overworld.kSaveOverworldProperties);
ImGui::EndMenu();
}
if (BeginMenu("Dungeon Flags")) {
Checkbox("Draw Dungeon Room Graphics",
&mutable_flags()->kDrawDungeonRoomGraphics);
Separator();
Checkbox("Save Dungeon Maps", &mutable_flags()->kSaveDungeonMaps);
ImGui::EndMenu();
}
if (BeginMenu("Emulator Flags")) {
Checkbox("Load Audio Device", &mutable_flags()->kLoadAudioDevice);
ImGui::EndMenu();
}
Checkbox("Use built-in file dialog",
&mutable_flags()->kNewFileDialogWrapper);
Checkbox("Enable Console Logging", &mutable_flags()->kLogToConsole);
Checkbox("Enable Texture Streaming",
&mutable_flags()->kLoadTexturesAsStreaming);
Checkbox("Use Bitmap Manager", &mutable_flags()->kUseBitmapManager);
Checkbox("Log Instructions to Debugger",
&mutable_flags()->kLogInstructions);
Checkbox("Save All Palettes", &mutable_flags()->kSaveAllPalettes);
Checkbox("Save Gfx Groups", &mutable_flags()->kSaveGfxGroups);
Checkbox("Use New ImGui Input", &mutable_flags()->kUseNewImGuiInput);
ImGui::EndMenu(); ImGui::EndMenu();
} }
if (BeginMenu("Dungeon Flags")) {
Checkbox("Draw Dungeon Room Graphics",
&mutable_flags()->kDrawDungeonRoomGraphics);
Separator();
Checkbox("Save Dungeon Maps", &mutable_flags()->kSaveDungeonMaps);
ImGui::EndMenu();
}
if (BeginMenu("Emulator Flags")) {
Checkbox("Load Audio Device", &mutable_flags()->kLoadAudioDevice);
ImGui::EndMenu();
}
Checkbox("Use built-in file dialog",
&mutable_flags()->kNewFileDialogWrapper);
Checkbox("Enable Console Logging", &mutable_flags()->kLogToConsole);
Checkbox("Enable Texture Streaming",
&mutable_flags()->kLoadTexturesAsStreaming);
Checkbox("Use Bitmap Manager", &mutable_flags()->kUseBitmapManager);
Checkbox("Log Instructions to Debugger",
&mutable_flags()->kLogInstructions);
Checkbox("Save All Palettes", &mutable_flags()->kSaveAllPalettes);
Checkbox("Save Gfx Groups", &mutable_flags()->kSaveGfxGroups);
Checkbox("Use New ImGui Input", &mutable_flags()->kUseNewImGuiInput);
} }
}; };