mirror of https://github.com/OpenMW/openmw
Reserve capacity for extra data NIF collections
This commit is contained in:
parent
ea506019dc
commit
7332b4e232
|
|
@ -64,11 +64,10 @@ namespace Nif
|
|||
{
|
||||
Extra::read(nif);
|
||||
|
||||
const uint32_t num = nif->get<uint32_t>();
|
||||
if (nif->getBethVersion() <= NIFFile::BethVersion::BETHVER_FO3)
|
||||
nif->readVectorOfRecords(num, mLegacyMarkers);
|
||||
nif->readVectorOfRecords<uint32_t>(mLegacyMarkers);
|
||||
else
|
||||
nif->readVectorOfRecords(num, mMarkers);
|
||||
nif->readVectorOfRecords<uint32_t>(mMarkers);
|
||||
}
|
||||
|
||||
void BSInvMarker::read(NIFStream* nif)
|
||||
|
|
@ -94,9 +93,7 @@ namespace Nif
|
|||
{
|
||||
Extra::read(nif);
|
||||
|
||||
mData.resize(nif->get<uint32_t>());
|
||||
for (BoneLOD& lod : mData)
|
||||
lod.read(nif);
|
||||
nif->readVectorOfRecords<uint32_t>(mData);
|
||||
}
|
||||
|
||||
void BSBoneLODExtraData::BoneLOD::read(NIFStream* nif)
|
||||
|
|
@ -109,9 +106,7 @@ namespace Nif
|
|||
{
|
||||
NiFloatExtraData::read(nif);
|
||||
|
||||
mBlocks.resize(nif->get<uint16_t>());
|
||||
for (Block& block : mBlocks)
|
||||
block.read(nif);
|
||||
nif->readVectorOfRecords<uint16_t>(mBlocks);
|
||||
}
|
||||
|
||||
void BSDecalPlacementVectorExtraData::Block::read(NIFStream* nif)
|
||||
|
|
@ -143,9 +138,7 @@ namespace Nif
|
|||
{
|
||||
NiExtraData::read(nif);
|
||||
|
||||
mPoints.resize(nif->get<uint32_t>());
|
||||
for (Point& point : mPoints)
|
||||
point.read(nif);
|
||||
nif->readVectorOfRecords<uint32_t>(mPoints);
|
||||
}
|
||||
|
||||
void BSConnectPoint::Children::read(NIFStream* nif)
|
||||
|
|
@ -179,9 +172,7 @@ namespace Nif
|
|||
nif->read(mLOD1TriOffset);
|
||||
nif->read(mLOD2TriCount);
|
||||
nif->read(mLOD2TriOffset);
|
||||
mCombined.resize(nif->get<uint32_t>());
|
||||
for (BSPackedGeomDataCombined& data : mCombined)
|
||||
data.read(nif);
|
||||
nif->readVectorOfRecords<uint32_t>(mCombined);
|
||||
mVertexDesc.read(nif);
|
||||
}
|
||||
|
||||
|
|
@ -194,12 +185,8 @@ namespace Nif
|
|||
nif->read(mNumTriangles);
|
||||
nif->read(mFlags1);
|
||||
nif->read(mFlags2);
|
||||
mObjects.resize(nif->get<uint32_t>());
|
||||
for (BSPackedGeomObject& object : mObjects)
|
||||
object.read(nif);
|
||||
mObjectData.resize(mObjects.size());
|
||||
for (BSPackedSharedGeomData& objectData : mObjectData)
|
||||
objectData.read(nif);
|
||||
nif->readVectorOfRecords<uint32_t>(mObjects);
|
||||
nif->readVectorOfRecords(mObjects.size(), mObjectData);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue