From 145ce8f924a060eb1be2a1a4c2c22f69c8896e0e Mon Sep 17 00:00:00 2001 From: Alexei Kotov Date: Wed, 6 Sep 2023 20:54:04 +0300 Subject: [PATCH] Deduplicate some version checks, avoid resizing twice --- components/nif/data.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/components/nif/data.cpp b/components/nif/data.cpp index fddb2057e9..08abcc1621 100644 --- a/components/nif/data.cpp +++ b/components/nif/data.cpp @@ -416,13 +416,14 @@ namespace Nif nif->read(numStrips); nif->read(bonesPerVertex); nif->readVector(mBones, numBones); - if (nif->getVersion() < NIFStream::generateVersion(10, 1, 0, 0) || nif->get()) + bool hasPresenceFlags = nif->getVersion() >= NIFStream::generateVersion(10, 1, 0, 0); + if (!hasPresenceFlags || nif->get()) nif->readVector(mVertexMap, numVertices); - if (nif->getVersion() < NIFStream::generateVersion(10, 1, 0, 0) || nif->get()) + if (!hasPresenceFlags || nif->get()) nif->readVector(mWeights, numVertices * bonesPerVertex); std::vector stripLengths; nif->readVector(stripLengths, numStrips); - if (nif->getVersion() < NIFStream::generateVersion(10, 1, 0, 0) || nif->get()) + if (!hasPresenceFlags || nif->get()) { if (numStrips) { @@ -509,12 +510,8 @@ namespace Nif uint32_t numEntries; nif->read(numEntries); - // Fill the entire palette with black even if there isn't enough entries. - mColors.resize(256); - if (numEntries > 256) - mColors.resize(numEntries); - + mColors.resize(numEntries > 256 ? numEntries : 256); for (uint32_t i = 0; i < numEntries; i++) { nif->read(mColors[i]);