1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-06-25 05:11:37 +00:00

Load BSDismemberSkinInstance

This commit is contained in:
Alexei Dobrohotov 2021-11-10 19:40:02 +03:00
parent 5571099147
commit 41097352a8
4 changed files with 15 additions and 1 deletions

View file

@ -34,6 +34,13 @@ void NiSkinInstance::post(NIFFile *nif)
} }
} }
void BSDismemberSkinInstance::read(NIFStream *nif)
{
NiSkinInstance::read(nif);
unsigned int numPartitions = nif->getUInt();
nif->skip(4 * numPartitions); // Body part information
}
void NiGeometryData::read(NIFStream *nif) void NiGeometryData::read(NIFStream *nif)
{ {
if (nif->getVersion() >= NIFStream::generateVersion(10,1,0,114)) if (nif->getVersion() >= NIFStream::generateVersion(10,1,0,114))

View file

@ -170,6 +170,11 @@ struct NiSkinInstance : public Record
void post(NIFFile *nif) override; void post(NIFFile *nif) override;
}; };
struct BSDismemberSkinInstance : public NiSkinInstance
{
void read(NIFStream *nif) override;
};
struct NiSkinData : public Record struct NiSkinData : public Record
{ {
struct VertWeight struct VertWeight

View file

@ -139,6 +139,7 @@ static std::map<std::string,RecordFactoryEntry> makeFactory()
factory["BSFurnitureMarker"] = {&construct <BSFurnitureMarker> , RC_BSFurnitureMarker }; factory["BSFurnitureMarker"] = {&construct <BSFurnitureMarker> , RC_BSFurnitureMarker };
factory["NiCollisionObject"] = {&construct <NiCollisionObject> , RC_NiCollisionObject }; factory["NiCollisionObject"] = {&construct <NiCollisionObject> , RC_NiCollisionObject };
factory["bhkCollisionObject"] = {&construct <bhkCollisionObject> , RC_bhkCollisionObject }; factory["bhkCollisionObject"] = {&construct <bhkCollisionObject> , RC_bhkCollisionObject };
factory["BSDismemberSkinInstance"] = {&construct <BSDismemberSkinInstance> , RC_BSDismemberSkinInstance };
return factory; return factory;
} }

View file

@ -128,7 +128,8 @@ enum RecordType
RC_BSShaderNoLightingProperty, RC_BSShaderNoLightingProperty,
RC_BSFurnitureMarker, RC_BSFurnitureMarker,
RC_NiCollisionObject, RC_NiCollisionObject,
RC_bhkCollisionObject RC_bhkCollisionObject,
RC_BSDismemberSkinInstance
}; };
/// Base class for all records /// Base class for all records