From f9187ef58a999b93cac7d7105a4b3d191a282212 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Wed, 6 May 2026 03:42:54 -0700 Subject: [PATCH] fix(editor): exportZone preserves user displayName + dedupes tile list Two related zone-manifest bugs: 1. displayName was always overwritten with the .adt prefix on every export, throwing away whatever the user typed in the Zone Metadata panel. 2. tiles vector was push_back'd to without clearing, so re-exporting the same zone would accumulate duplicate tile entries. Both fixed by checking displayName.empty() before assignment and calling tiles.clear() before the rebuild loop. --- tools/editor/editor_app.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/editor/editor_app.cpp b/tools/editor/editor_app.cpp index 5a082e9a..55cdbfe4 100644 --- a/tools/editor/editor_app.cpp +++ b/tools/editor/editor_app.cpp @@ -1291,7 +1291,10 @@ void EditorApp::exportZone(const std::string& outputDir) { // Scan output directory for all exported tiles (includes adjacent tiles) ZoneManifest& manifest = zoneManifest_; manifest.mapName = loadedMap_; - manifest.displayName = loadedMap_; + // Preserve user-set displayName from the Zone Metadata panel; only fill in + // the default when the user hasn't customized it. + if (manifest.displayName.empty()) manifest.displayName = loadedMap_; + manifest.tiles.clear(); manifest.tiles.push_back({loadedTileX_, loadedTileY_}); namespace fs = std::filesystem; if (fs::exists(base)) {