diff --git a/src/editor/Gui.cpp b/src/editor/Gui.cpp index 03b4e087..b060e92d 100644 --- a/src/editor/Gui.cpp +++ b/src/editor/Gui.cpp @@ -2579,7 +2579,7 @@ void Gui::drawDebugWidget() } - if (ImGui::Button("PRESS ME TO DECAL")) + if (map && ImGui::Button("PRESS ME TO DECAL")) { for (auto& ent : map->ents) { @@ -2591,7 +2591,7 @@ void Gui::drawDebugWidget() } } - if (renderer->needReloadDebugTextures) + if (renderer && map && renderer->needReloadDebugTextures) { renderer->needReloadDebugTextures = false; lastupdate = app->curTime; @@ -2635,6 +2635,19 @@ void Gui::drawDebugWidget() } } + for (size_t i = 0; i < map->ents.size(); i++) + { + if (map->ents[i]->hasKey("classname") && map->ents[i]->keyvalues["classname"] == "infodecal") + { + if (map->ents[i]->hasKey("texture")) + { + std::string texture = map->ents[i]->keyvalues["texture"]; + if (!mapTexsUsage["decals.wad"].count(texture)) + mapTexsUsage["decals.wad"].insert(texture); + } + } + } + if (mapTexsUsage.size()) logf("Debug: Used %d wad files(include map file)\n", (int)mapTexsUsage.size()); }