diff --git a/tools/editor/editor_app.hpp b/tools/editor/editor_app.hpp index 73587c24..c889f876 100644 --- a/tools/editor/editor_app.hpp +++ b/tools/editor/editor_app.hpp @@ -85,6 +85,7 @@ public: mode_ = m; } void markObjectsDirty() { objectsDirty_ = true; autoSavePendingChanges_ = true; } + bool hasUnsavedNonTerrainChanges() const { return autoSavePendingChanges_; } void startGizmoMode(TransformMode mode); void setGizmoAxis(TransformAxis axis); diff --git a/tools/editor/editor_ui.cpp b/tools/editor/editor_ui.cpp index a5619762..6057fb02 100644 --- a/tools/editor/editor_ui.cpp +++ b/tools/editor/editor_ui.cpp @@ -2788,9 +2788,11 @@ void EditorUI::renderStatusBar(EditorApp& app) { const char* ms[] = {"Sculpt", "Paint", "Objects", "Water", "NPCs", "Quests"}; const char* m = ms[static_cast(app.getMode())]; if (app.hasTerrainLoaded()) { + bool dirty = app.getTerrainEditor().hasUnsavedChanges() || + app.hasUnsavedNonTerrainChanges(); ImGui::Text("[%s] %s [%d,%d]%s", m, app.getLoadedMap().c_str(), app.getLoadedTileX(), app.getLoadedTileY(), - app.getTerrainEditor().hasUnsavedChanges() ? " *" : ""); + dirty ? " *" : ""); ImGui::SameLine(vp->Size.x * 0.35f); ImGui::Text("Obj:%zu NPC:%zu Q:%zu", app.getObjectPlacer().objectCount(),