]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_shared.c
rearranged stale worldmodel removal a bit so that trying to load a level that doesn...
[xonotic/darkplaces.git] / model_shared.c
index 34859f8c8ad611ab30ef73a06c0fcca25c0c6171..50fb26998462c43ab0094a3e8f915435b200a232 100644 (file)
@@ -280,14 +280,6 @@ static model_t *Mod_LoadModel(model_t *mod, qboolean crash, qboolean checkdisk,
        Con_DPrintf("loading model %s\n", mod->name);
        // LordHavoc: unload the existing model in this slot (if there is one)
        Mod_UnloadModel(mod);
-       if (isworldmodel)
-       {
-               // clear out any stale submodels lying around, as well as the old world model itself
-               int i;
-               for (i = 0;i < MAX_MOD_KNOWN;i++)
-                       if (mod_known[i].isworldmodel)
-                               Mod_UnloadModel(mod_known + i);
-       }
 
        // load the model
        mod->isworldmodel = isworldmodel;
@@ -384,6 +376,15 @@ void Mod_PurgeUnused(void)
                                Mod_FreeModel(mod);
 }
 
+// only used during loading!
+void Mod_RemoveStaleWorldModels(model_t *skip)
+{
+       int i;
+       for (i = 0;i < MAX_MOD_KNOWN;i++)
+               if (mod_known[i].isworldmodel && skip != &mod_known[i])
+                       Mod_UnloadModel(mod_known + i);
+}
+
 void Mod_LoadModels(void)
 {
        int i;