mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-04-16 08:42:23 +00:00
Further cleanup
This commit is contained in:
parent
5b8f574be3
commit
bf64ad6470
@ -94,12 +94,9 @@ namespace Nif
|
|||||||
|
|
||||||
uint32_t numIndices;
|
uint32_t numIndices;
|
||||||
nif->read(numIndices);
|
nif->read(numIndices);
|
||||||
bool hasTriangles = true;
|
if (nif->getVersion() > NIFFile::NIFVersion::VER_OB_OLD && !nif->get<bool>())
|
||||||
if (nif->getVersion() > NIFFile::NIFVersion::VER_OB_OLD)
|
numIndices = 0;
|
||||||
nif->read(hasTriangles);
|
|
||||||
if (hasTriangles)
|
|
||||||
nif->readVector(mTriangles, numIndices);
|
nif->readVector(mTriangles, numIndices);
|
||||||
|
|
||||||
mMatchGroups.resize(nif->get<uint16_t>());
|
mMatchGroups.resize(nif->get<uint16_t>());
|
||||||
for (auto& group : mMatchGroups)
|
for (auto& group : mMatchGroups)
|
||||||
nif->readVector(group, nif->get<uint16_t>());
|
nif->readVector(group, nif->get<uint16_t>());
|
||||||
@ -113,13 +110,8 @@ namespace Nif
|
|||||||
nif->read(numStrips);
|
nif->read(numStrips);
|
||||||
std::vector<uint16_t> lengths;
|
std::vector<uint16_t> lengths;
|
||||||
nif->readVector(lengths, numStrips);
|
nif->readVector(lengths, numStrips);
|
||||||
|
if (nif->getVersion() > NIFFile::NIFVersion::VER_OB_OLD && !nif->get<bool>())
|
||||||
bool hasStrips = true;
|
numStrips = 0;
|
||||||
if (nif->getVersion() > NIFFile::NIFVersion::VER_OB_OLD)
|
|
||||||
nif->read(hasStrips);
|
|
||||||
if (!hasStrips || !numStrips)
|
|
||||||
return;
|
|
||||||
|
|
||||||
mStrips.resize(numStrips);
|
mStrips.resize(numStrips);
|
||||||
for (int i = 0; i < numStrips; i++)
|
for (int i = 0; i < numStrips; i++)
|
||||||
nif->readVector(mStrips[i], lengths[i]);
|
nif->readVector(mStrips[i], lengths[i]);
|
||||||
@ -205,13 +197,8 @@ namespace Nif
|
|||||||
{
|
{
|
||||||
NiParticlesData::read(nif);
|
NiParticlesData::read(nif);
|
||||||
|
|
||||||
if (nif->getVersion() > NIFStream::generateVersion(4, 2, 2, 0))
|
if (nif->getVersion() <= NIFStream::generateVersion(4, 2, 2, 0) && nif->get<bool>())
|
||||||
return;
|
nif->readVector(mRotations, mNumParticles);
|
||||||
|
|
||||||
bool hasRotations;
|
|
||||||
nif->read(hasRotations);
|
|
||||||
if (hasRotations)
|
|
||||||
nif->readVector(mRotations, mNumVertices);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void NiPosData::read(NIFStream* nif)
|
void NiPosData::read(NIFStream* nif)
|
||||||
@ -429,26 +416,13 @@ 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 hasVertexMap = true;
|
|
||||||
if (nif->getVersion() >= NIFStream::generateVersion(10, 1, 0, 0))
|
|
||||||
nif->read(hasVertexMap);
|
|
||||||
if (hasVertexMap)
|
|
||||||
nif->readVector(mVertexMap, numVertices);
|
nif->readVector(mVertexMap, numVertices);
|
||||||
|
if (nif->getVersion() < NIFStream::generateVersion(10, 1, 0, 0) || nif->get<bool>())
|
||||||
bool hasVertexWeights = true;
|
|
||||||
if (nif->getVersion() >= NIFStream::generateVersion(10, 1, 0, 0))
|
|
||||||
nif->read(hasVertexWeights);
|
|
||||||
if (hasVertexWeights)
|
|
||||||
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>())
|
||||||
bool hasFaces = true;
|
|
||||||
if (nif->getVersion() >= NIFStream::generateVersion(10, 1, 0, 0))
|
|
||||||
nif->read(hasFaces);
|
|
||||||
if (hasFaces)
|
|
||||||
{
|
{
|
||||||
if (numStrips)
|
if (numStrips)
|
||||||
{
|
{
|
||||||
@ -465,14 +439,15 @@ namespace Nif
|
|||||||
{
|
{
|
||||||
nif->read(mLODLevel);
|
nif->read(mLODLevel);
|
||||||
nif->read(mGlobalVB);
|
nif->read(mGlobalVB);
|
||||||
}
|
|
||||||
|
|
||||||
if (nif->getBethVersion() == NIFFile::BethVersion::BETHVER_SSE)
|
if (nif->getBethVersion() == NIFFile::BethVersion::BETHVER_SSE)
|
||||||
{
|
{
|
||||||
mVertexDesc.read(nif);
|
mVertexDesc.read(nif);
|
||||||
nif->readVector(mTrueTriangles, numTriangles * 3);
|
nif->readVector(mTrueTriangles, numTriangles * 3);
|
||||||
}
|
}
|
||||||
else if (!mVertexMap.empty())
|
}
|
||||||
|
|
||||||
|
// Not technically a part of the loading process
|
||||||
|
if (mTrueTriangles.empty() && !mVertexMap.empty())
|
||||||
{
|
{
|
||||||
if (!mStrips.empty())
|
if (!mStrips.empty())
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user