From b69c1f3ef35df87674629264d55d6cac08c58da6 Mon Sep 17 00:00:00 2001 From: scawful Date: Mon, 22 Jan 2024 03:27:20 -0500 Subject: [PATCH] OverworldEditor housekeeping --- src/app/editor/overworld_editor.cc | 54 ++++++++++++++++-------------- src/app/zelda3/overworld.h | 2 +- 2 files changed, 29 insertions(+), 27 deletions(-) diff --git a/src/app/editor/overworld_editor.cc b/src/app/editor/overworld_editor.cc index fcd646b1..3859859e 100644 --- a/src/app/editor/overworld_editor.cc +++ b/src/app/editor/overworld_editor.cc @@ -28,7 +28,12 @@ namespace yaze { namespace app { namespace editor { +using ImGui::BeginTabBar; +using ImGui::BeginTabItem; +using ImGui::BeginTable; using ImGui::Button; +using ImGui::EndTabBar; +using ImGui::EndTabItem; using ImGui::Separator; using ImGui::TableHeadersRow; using ImGui::TableNextColumn; @@ -37,12 +42,12 @@ using ImGui::TableSetupColumn; using ImGui::Text; absl::Status OverworldEditor::Update() { - if (rom()->isLoaded() && !all_gfx_loaded_) { + if (rom()->is_loaded() && !all_gfx_loaded_) { RETURN_IF_ERROR(tile16_editor_.InitBlockset( tile16_blockset_bmp_, current_gfx_bmp_, tile16_individual_)); gfx_group_editor_.InitBlockset(tile16_blockset_bmp_); all_gfx_loaded_ = true; - } else if (!rom()->isLoaded() && all_gfx_loaded_) { + } else if (!rom()->is_loaded() && all_gfx_loaded_) { // TODO: Destroy the overworld graphics canvas. // Reset the editor if the ROM is unloaded Shutdown(); @@ -55,16 +60,13 @@ absl::Status OverworldEditor::Update() { status_ = UpdateOverworldEdit(); END_TAB_ITEM() TAB_ITEM("Usage Statistics") - status_ = UpdateUsageStats(); + if (rom()->is_loaded()) { + status_ = UpdateUsageStats(); + } END_TAB_ITEM() END_TAB_BAR() - if (!status_.ok()) { - auto temp = status_; - status_ = absl::OkStatus(); - return temp; - } - + CLEAR_AND_RETURN_STATUS(status_); return absl::OkStatus(); } @@ -72,7 +74,7 @@ absl::Status OverworldEditor::UpdateOverworldEdit() { // Draws the toolset for editing the Overworld. RETURN_IF_ERROR(DrawToolset()) - if (ImGui::BeginTable(kOWEditTable.data(), 2, kOWEditFlags, ImVec2(0, 0))) { + if (BeginTable(kOWEditTable.data(), 2, kOWEditFlags, ImVec2(0, 0))) { TableSetupColumn("Canvas", ImGuiTableColumnFlags_WidthStretch, ImGui::GetContentRegionAvail().x); TableSetupColumn("Tile Selector", ImGuiTableColumnFlags_WidthFixed, 256); @@ -88,7 +90,7 @@ absl::Status OverworldEditor::UpdateOverworldEdit() { } absl::Status OverworldEditor::UpdateUsageStats() { - if (ImGui::BeginTable("##UsageStatsTable", 3, kOWEditFlags, ImVec2(0, 0))) { + if (BeginTable("##UsageStatsTable", 3, kOWEditFlags, ImVec2(0, 0))) { TableSetupColumn("Entrances"); TableSetupColumn("Grid", ImGuiTableColumnFlags_WidthStretch, ImGui::GetContentRegionAvail().x); @@ -186,7 +188,7 @@ absl::Status OverworldEditor::DrawToolset() { static bool show_tile16 = false; static bool show_properties = false; - if (ImGui::BeginTable("OWToolset", 20, kToolsetTableFlags, ImVec2(0, 0))) { + if (BeginTable("OWToolset", 20, kToolsetTableFlags, ImVec2(0, 0))) { for (const auto &name : kToolsetColumnNames) ImGui::TableSetupColumn(name.data()); @@ -269,7 +271,7 @@ absl::Status OverworldEditor::DrawToolset() { TEXT_COLUMN(ICON_MD_MORE_VERT) // Separator TableNextColumn(); // Palette - palette_editor_.DisplayPalette(palette_, overworld_.isLoaded()); + palette_editor_.DisplayPalette(palette_, overworld_.is_loaded()); TEXT_COLUMN(ICON_MD_MORE_VERT) // Separator @@ -339,7 +341,7 @@ void OverworldEditor::DrawOverworldProperties() { // ---------------------------------------------------------------------------- void OverworldEditor::DrawOverworldMapSettings() { - if (ImGui::BeginTable(kOWMapTable.data(), 7, kOWMapFlags, ImVec2(0, 0), -1)) { + if (BeginTable(kOWMapTable.data(), 7, kOWMapFlags, ImVec2(0, 0), -1)) { for (const auto &name : {"##1stCol", "##gfxCol", "##palCol", "##sprgfxCol", "##sprpalCol", "##msgidCol", "##2ndCol"}) ImGui::TableSetupColumn(name); @@ -752,7 +754,7 @@ void OverworldEditor::DrawOverworldCanvas() { ow_map_canvas_.DrawBackground(ImVec2(0x200 * 8, 0x200 * 8)); ImGui::PopStyleVar(2); ow_map_canvas_.DrawContextMenu(); - if (overworld_.isLoaded()) { + if (overworld_.is_loaded()) { DrawOverworldMaps(); DrawOverworldEntrances(ow_map_canvas_.zero_point(), ow_map_canvas_.Scrolling()); @@ -761,7 +763,7 @@ void OverworldEditor::DrawOverworldCanvas() { if (flags()->kDrawOverworldSprites) { DrawOverworldSprites(); } - CheckForCurrentMap(); + //CheckForCurrentMap(); CheckForOverworldEdits(); } ow_map_canvas_.DrawGrid(64.0f); @@ -797,29 +799,29 @@ void OverworldEditor::DrawTile8Selector() { } void OverworldEditor::DrawTileSelector() { - if (ImGui::BeginTabBar(kTileSelectorTab.data(), - ImGuiTabBarFlags_FittingPolicyScroll)) { - if (ImGui::BeginTabItem("Tile16")) { + if (BeginTabBar(kTileSelectorTab.data(), + ImGuiTabBarFlags_FittingPolicyScroll)) { + if (BeginTabItem("Tile16")) { gui::BitmapCanvasPipeline(blockset_canvas_, tile16_blockset_bmp_, 0x100, (8192 * 2), 0x20, map_blockset_loaded_, true, 1); - ImGui::EndTabItem(); + EndTabItem(); } - if (ImGui::BeginTabItem("Tile8")) { + if (BeginTabItem("Tile8")) { if (ImGui::BeginChild("##tile8viewer", ImGui::GetContentRegionAvail(), true, ImGuiWindowFlags_AlwaysVerticalScrollbar)) { DrawTile8Selector(); } ImGui::EndChild(); - ImGui::EndTabItem(); + EndTabItem(); } - if (ImGui::BeginTabItem("Area Graphics")) { + if (BeginTabItem("Area Graphics")) { gui::BitmapCanvasPipeline(current_gfx_canvas_, current_gfx_bmp_, 256, - 0x10 * 0x40, 0x20, overworld_.isLoaded(), true, + 0x10 * 0x40, 0x20, overworld_.is_loaded(), true, 3); - ImGui::EndTabItem(); + EndTabItem(); } - ImGui::EndTabBar(); + EndTabBar(); } } diff --git a/src/app/zelda3/overworld.h b/src/app/zelda3/overworld.h index 50ebd723..91adbaaf 100644 --- a/src/app/zelda3/overworld.h +++ b/src/app/zelda3/overworld.h @@ -373,7 +373,7 @@ class Overworld : public SharedROM, public core::ExperimentFlags { auto Tile16Blockset() const { return overworld_maps_[current_map_].Tile16Blockset(); } - auto isLoaded() const { return is_loaded_; } + auto is_loaded() const { return is_loaded_; } void SetCurrentMap(int i) { current_map_ = i; } auto MapTiles() const { return map_tiles_; }