diff --git a/tools/editor/editor_ui.cpp b/tools/editor/editor_ui.cpp index ed2f93c7..e7275732 100644 --- a/tools/editor/editor_ui.cpp +++ b/tools/editor/editor_ui.cpp @@ -115,6 +115,10 @@ void EditorUI::processActions(EditorApp& app) { newRequested_ = false; app.createNewTerrain(newMapNameBuf_, newTileX_, newTileY_, newBaseHeight_, static_cast(newBiomeIdx_)); + if (generateAfterCreate_) { + generateAfterCreate_ = false; + app.generateCompleteZone(); + } } if (loadRequested_) { loadRequested_ = false; @@ -362,8 +366,8 @@ void EditorUI::renderNewTerrainDialog(EditorApp& /*app*/) { ImGui::SameLine(); if (ImGui::Button("Create + Generate", ImVec2(130, 0))) { newRequested_ = true; + generateAfterCreate_ = true; showNewDialog_ = false; - // Will call generateCompleteZone after terrain is created } ImGui::SameLine(); if (ImGui::Button("Cancel", ImVec2(80, 0))) showNewDialog_ = false; diff --git a/tools/editor/editor_ui.hpp b/tools/editor/editor_ui.hpp index 5aea612f..873bf232 100644 --- a/tools/editor/editor_ui.hpp +++ b/tools/editor/editor_ui.hpp @@ -44,6 +44,7 @@ private: bool showSaveDialog_ = false; bool showHelp_ = false; bool showAbout_ = false; + bool generateAfterCreate_ = false; char newMapNameBuf_[256] = "CustomZone"; int newTileX_ = 32;