From 0ac7af6cd79b3a04ac8f0e79f4fc56a348607fd3 Mon Sep 17 00:00:00 2001 From: Mitchell Richters Date: Thu, 23 Mar 2023 15:22:51 +1100 Subject: [PATCH] - Exhumed: Avoid unnecessarily iterating through tsprites twice. --- source/games/exhumed/src/view.cpp | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/source/games/exhumed/src/view.cpp b/source/games/exhumed/src/view.cpp index 37c393216..808327aaf 100644 --- a/source/games/exhumed/src/view.cpp +++ b/source/games/exhumed/src/view.cpp @@ -62,23 +62,15 @@ static void analyzesprites(tspriteArray& tsprites, const DVector3& view, double { mytspriteArray = &tsprites; - for (unsigned i = 0; i < tsprites.Size(); i++) - { - auto pTSprite = tsprites.get(i); - - if (pTSprite->ownerActor) - { - // interpolate sprite position - pTSprite->pos = pTSprite->ownerActor->interpolatedpos(interpfrac); - pTSprite->Angles.Yaw = pTSprite->ownerActor->interpolatedyaw(interpfrac); - } - } - for (int nTSprite = int(tsprites.Size()-1); nTSprite >= 0; nTSprite--) { auto pTSprite = tsprites.get(nTSprite); auto pActor = static_cast(pTSprite->ownerActor); + // interpolate sprite position + pTSprite->pos = pActor->interpolatedpos(interpfrac); + pTSprite->Angles.Yaw = pActor->interpolatedyaw(interpfrac); + if (pTSprite->sectp != nullptr) { sectortype *pTSector = pTSprite->sectp;