From d36631d242f790c3267407b156d48382a815e0ec Mon Sep 17 00:00:00 2001 From: Kelsi Date: Tue, 5 May 2026 09:17:23 -0700 Subject: [PATCH] fix(editor): Create + Generate button now actually runs generation pipeline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - "Create + Generate" was setting a flag but never calling generateCompleteZone() - Now properly chains: create terrain → run full procedural pipeline (noise → smooth → normals → height paint → slope paint → detail → water → beaches) - Uses generateAfterCreate_ flag to defer generation until after terrain is created --- tools/editor/editor_ui.cpp | 6 +++++- tools/editor/editor_ui.hpp | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) 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;