From 11f342795b174f5e5eba46b3160f1ffd123d1aad Mon Sep 17 00:00:00 2001 From: Shiny Metagross <30511800+ShinyMetagross@users.noreply.github.com> Date: Thu, 30 Jun 2022 22:58:03 -0700 Subject: [PATCH] I did a no no - This should fix it --- src/playsim/p_actionfunctions.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/playsim/p_actionfunctions.cpp b/src/playsim/p_actionfunctions.cpp index 2a6252bfe..7668aae4b 100644 --- a/src/playsim/p_actionfunctions.cpp +++ b/src/playsim/p_actionfunctions.cpp @@ -5076,27 +5076,25 @@ DEFINE_ACTION_FUNCTION(AActor, A_ChangeModel) mobj->modelData->modelIDs.Insert(index, queryModel); mobj->modelData->skinIDs.Insert(index, skin != NAME_None ? LoadSkin(skinpath.GetChars(), skin.GetChars()) : FNullTextureID()); - int i = 0; - //[SM] - We need to serialize file paths and model names so that they are pushed on loading save files. Likewise, let's not include models that were already parsed when initialized. if (model != NAME_None) { FString fullName; - fullName.Format("%s%s", modelpath, model.GetChars()); + fullName.Format("%s%s", modelpath.GetChars(), model.GetChars()); bool allowPush = true; - for (i = 0; i < (int)savedModelFiles.Size(); i++) if (!savedModelFiles[i].CompareNoCase(fullName)) allowPush = false; - for (i = 0; i < (int)Models.Size()-1; i++) if (!Models[i]->mFileName.CompareNoCase(fullName)) allowPush = false; + for (unsigned i = 0; i < savedModelFiles.Size(); i++) if (!savedModelFiles[i].CompareNoCase(fullName)) allowPush = false; + for (unsigned i = 0; i < Models.Size()-1; i++) if (!Models[i]->mFileName.CompareNoCase(fullName)) allowPush = false; if(allowPush) savedModelFiles.Push(fullName); } //[SM] - if an indice of modelIDs or skinIDs comes up blank and it's the last one, just delete it. For using very large amounts of indices, common sense says to just not run this repeatedly. - for (i = 0; i < maxModels; i++) + for (int i = 0; i < maxModels; i++) { if (mobj->modelData->modelIDs.Last() == -1) mobj->modelData->modelIDs.Pop(mobj->modelData->modelIDs.Last()); else break; } - for (i = 0; i < maxSkins; i++) + for (int i = 0; i < maxSkins; i++) { if (mobj->modelData->skinIDs.Last() == FNullTextureID()) mobj->modelData->skinIDs.Pop(mobj->modelData->skinIDs.Last()); else break;