From 4df1f198a7c06723e817ee7503db731e84407319 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Fri, 12 Jul 2013 22:30:25 -0700 Subject: [PATCH] Avoid a map lookup for every skin body part when updating --- apps/openmw/mwrender/npcanimation.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/openmw/mwrender/npcanimation.cpp b/apps/openmw/mwrender/npcanimation.cpp index ee27f710aa..b905a8bdce 100644 --- a/apps/openmw/mwrender/npcanimation.cpp +++ b/apps/openmw/mwrender/npcanimation.cpp @@ -357,11 +357,15 @@ void NpcAnimation::updateParts(bool forceupdate) } } - for (int part = ESM::PRT_Neck; part < ESM::PRT_Count; ++part) + const std::vector &parts = sRaceMapping[thisCombination]; + for(int part = ESM::PRT_Neck; part < ESM::PRT_Count; ++part) { - const ESM::BodyPart* bodypart = sRaceMapping[thisCombination][part]; - if (mPartPriorities[part] < 1 && bodypart) - addOrReplaceIndividualPart(part, -1,1, "meshes\\"+bodypart->mModel); + if(mPartPriorities[part] < 1) + { + const ESM::BodyPart* bodypart = parts[part]; + if(bodypart) + addOrReplaceIndividualPart(part, -1,1, "meshes\\"+bodypart->mModel); + } } }