mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-03-20 10:20:50 +00:00
Deduplicate some version checks, avoid resizing twice
This commit is contained in:
parent
b7c69d109f
commit
145ce8f924
@ -416,13 +416,14 @@ namespace Nif
|
|||||||
nif->read(numStrips);
|
nif->read(numStrips);
|
||||||
nif->read(bonesPerVertex);
|
nif->read(bonesPerVertex);
|
||||||
nif->readVector(mBones, numBones);
|
nif->readVector(mBones, numBones);
|
||||||
if (nif->getVersion() < NIFStream::generateVersion(10, 1, 0, 0) || nif->get<bool>())
|
bool hasPresenceFlags = nif->getVersion() >= NIFStream::generateVersion(10, 1, 0, 0);
|
||||||
|
if (!hasPresenceFlags || nif->get<bool>())
|
||||||
nif->readVector(mVertexMap, numVertices);
|
nif->readVector(mVertexMap, numVertices);
|
||||||
if (nif->getVersion() < NIFStream::generateVersion(10, 1, 0, 0) || nif->get<bool>())
|
if (!hasPresenceFlags || nif->get<bool>())
|
||||||
nif->readVector(mWeights, numVertices * bonesPerVertex);
|
nif->readVector(mWeights, numVertices * bonesPerVertex);
|
||||||
std::vector<unsigned short> stripLengths;
|
std::vector<unsigned short> stripLengths;
|
||||||
nif->readVector(stripLengths, numStrips);
|
nif->readVector(stripLengths, numStrips);
|
||||||
if (nif->getVersion() < NIFStream::generateVersion(10, 1, 0, 0) || nif->get<bool>())
|
if (!hasPresenceFlags || nif->get<bool>())
|
||||||
{
|
{
|
||||||
if (numStrips)
|
if (numStrips)
|
||||||
{
|
{
|
||||||
@ -509,12 +510,8 @@ namespace Nif
|
|||||||
|
|
||||||
uint32_t numEntries;
|
uint32_t numEntries;
|
||||||
nif->read(numEntries);
|
nif->read(numEntries);
|
||||||
|
|
||||||
// Fill the entire palette with black even if there isn't enough entries.
|
// Fill the entire palette with black even if there isn't enough entries.
|
||||||
mColors.resize(256);
|
mColors.resize(numEntries > 256 ? numEntries : 256);
|
||||||
if (numEntries > 256)
|
|
||||||
mColors.resize(numEntries);
|
|
||||||
|
|
||||||
for (uint32_t i = 0; i < numEntries; i++)
|
for (uint32_t i = 0; i < numEntries; i++)
|
||||||
{
|
{
|
||||||
nif->read(mColors[i]);
|
nif->read(mColors[i]);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user