From e02690af58ec91af8bc54bec4a8d5085c6296af4 Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Mon, 12 Jul 2021 13:27:49 +0300 Subject: [PATCH] - do not precache unreferenced textures https://forum.zdoom.org/viewtopic.php?t=72649 --- src/p_setup.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/p_setup.cpp b/src/p_setup.cpp index 785d43df2..b96830a1f 100644 --- a/src/p_setup.cpp +++ b/src/p_setup.cpp @@ -209,14 +209,16 @@ static void PrecacheLevel(FLevelLocals *Level) AddToList(hitlist.Data(), Level->skytexture2, FTextureManager::HIT_Sky); } + static const BITFIELD checkForTextureFlags = FTextureManager::TEXMAN_Overridable | FTextureManager::TEXMAN_TryAny | FTextureManager::TEXMAN_ReturnFirst | FTextureManager::TEXMAN_DontCreate; + for (auto n : gameinfo.PrecachedTextures) { - FTextureID tex = TexMan.CheckForTexture(n, ETextureType::Wall, FTextureManager::TEXMAN_Overridable | FTextureManager::TEXMAN_TryAny | FTextureManager::TEXMAN_ReturnFirst); + FTextureID tex = TexMan.CheckForTexture(n, ETextureType::Wall, checkForTextureFlags); if (tex.Exists()) AddToList(hitlist.Data(), tex, FTextureManager::HIT_Wall); } for (unsigned i = 0; i < Level->info->PrecacheTextures.Size(); i++) { - FTextureID tex = TexMan.CheckForTexture(Level->info->PrecacheTextures[i], ETextureType::Wall, FTextureManager::TEXMAN_Overridable | FTextureManager::TEXMAN_TryAny | FTextureManager::TEXMAN_ReturnFirst); + FTextureID tex = TexMan.CheckForTexture(Level->info->PrecacheTextures[i], ETextureType::Wall, checkForTextureFlags); if (tex.Exists()) AddToList(hitlist.Data(), tex, FTextureManager::HIT_Wall); }