mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-04-10 15:45:37 +00:00
Read BSSegmentedTriShape
This commit is contained in:
parent
67e24a0ffe
commit
052fb416c6
@ -272,6 +272,7 @@ namespace Nif
|
|||||||
{ "BSDynamicTriShape", &construct<BSDynamicTriShape, RC_BSDynamicTriShape> },
|
{ "BSDynamicTriShape", &construct<BSDynamicTriShape, RC_BSDynamicTriShape> },
|
||||||
{ "BSLODTriShape", &construct<BSLODTriShape, RC_BSLODTriShape> },
|
{ "BSLODTriShape", &construct<BSLODTriShape, RC_BSLODTriShape> },
|
||||||
{ "BSMeshLODTriShape", &construct<BSMeshLODTriShape, RC_BSMeshLODTriShape> },
|
{ "BSMeshLODTriShape", &construct<BSMeshLODTriShape, RC_BSMeshLODTriShape> },
|
||||||
|
{ "BSSegmentedTriShape", &construct<BSSegmentedTriShape, RC_BSSegmentedTriShape> },
|
||||||
|
|
||||||
// PARTICLES
|
// PARTICLES
|
||||||
|
|
||||||
|
@ -196,6 +196,7 @@ namespace Nif
|
|||||||
{
|
{
|
||||||
case RC_NiTriShape:
|
case RC_NiTriShape:
|
||||||
case RC_BSLODTriShape:
|
case RC_BSLODTriShape:
|
||||||
|
case RC_BSSegmentedTriShape:
|
||||||
if (mData->recType != RC_NiTriShapeData)
|
if (mData->recType != RC_NiTriShapeData)
|
||||||
mData = NiGeometryDataPtr(nullptr);
|
mData = NiGeometryDataPtr(nullptr);
|
||||||
break;
|
break;
|
||||||
@ -217,6 +218,19 @@ namespace Nif
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BSSegmentedTriShape::read(NIFStream* nif)
|
||||||
|
{
|
||||||
|
NiTriShape::read(nif);
|
||||||
|
|
||||||
|
mSegments.resize(nif->get<uint32_t>());
|
||||||
|
for (SegmentData& segment : mSegments)
|
||||||
|
{
|
||||||
|
nif->read(segment.mFlags);
|
||||||
|
nif->read(segment.mStartIndex);
|
||||||
|
nif->read(segment.mNumTriangles);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void BSLODTriShape::read(NIFStream* nif)
|
void BSLODTriShape::read(NIFStream* nif)
|
||||||
{
|
{
|
||||||
NiTriBasedGeom::read(nif);
|
NiTriBasedGeom::read(nif);
|
||||||
|
@ -161,6 +161,20 @@ namespace Nif
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct BSSegmentedTriShape : NiTriShape
|
||||||
|
{
|
||||||
|
struct SegmentData
|
||||||
|
{
|
||||||
|
uint8_t mFlags;
|
||||||
|
uint32_t mStartIndex;
|
||||||
|
uint32_t mNumTriangles;
|
||||||
|
};
|
||||||
|
|
||||||
|
std::vector<SegmentData> mSegments;
|
||||||
|
|
||||||
|
void read(NIFStream* nif);
|
||||||
|
};
|
||||||
|
|
||||||
struct NiTriStrips : NiTriBasedGeom
|
struct NiTriStrips : NiTriBasedGeom
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@ -120,6 +120,7 @@ namespace Nif
|
|||||||
RC_BSStripPSysData,
|
RC_BSStripPSysData,
|
||||||
RC_BSRefractionFirePeriodController,
|
RC_BSRefractionFirePeriodController,
|
||||||
RC_BSRefractionStrengthController,
|
RC_BSRefractionStrengthController,
|
||||||
|
RC_BSSegmentedTriShape,
|
||||||
RC_BSShaderNoLightingProperty,
|
RC_BSShaderNoLightingProperty,
|
||||||
RC_BSShaderPPLightingProperty,
|
RC_BSShaderPPLightingProperty,
|
||||||
RC_BSShaderProperty,
|
RC_BSShaderProperty,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user