Read BSWindModifier and NiPSysBombModifier

macos_ci_fix
Alexei Kotov 1 year ago
parent 5de3bdd2bc
commit 0ad3463d36

@ -294,6 +294,7 @@ namespace Nif
// Modifiers, Gamebryo
{ "NiPSysAgeDeathModifier", &construct<NiPSysAgeDeathModifier, RC_NiPSysAgeDeathModifier> },
{ "NiPSysBombModifier", &construct<NiPSysBombModifier, RC_NiPSysBombModifier> },
{ "NiPSysBoundUpdateModifier", &construct<NiPSysBoundUpdateModifier, RC_NiPSysBoundUpdateModifier> },
{ "NiPSysDragModifier", &construct<NiPSysDragModifier, RC_NiPSysDragModifier> },
{ "NiPSysGravityModifier", &construct<NiPSysGravityModifier, RC_NiPSysGravityModifier> },
@ -310,6 +311,7 @@ namespace Nif
{ "BSPSysSimpleColorModifier", &construct<BSPSysSimpleColorModifier, RC_BSPSysSimpleColorModifier> },
{ "BSPSysStripUpdateModifier", &construct<BSPSysStripUpdateModifier, RC_BSPSysStripUpdateModifier> },
{ "BSPSysSubTexModifier", &construct<BSPSysSubTexModifier, RC_BSPSysSubTexModifier> },
{ "BSWindModifier", &construct<BSWindModifier, RC_BSWindModifier> },
// Emitters
{ "NiPSysBoxEmitter", &construct<NiPSysBoxEmitter, RC_NiPSysBoxEmitter> },

@ -253,6 +253,25 @@ namespace Nif
mSpawnModifier.post(nif);
}
void NiPSysBombModifier::read(NIFStream* nif)
{
NiPSysModifier::read(nif);
mBombObject.read(nif);
nif->read(mBombAxis);
nif->read(mDecay);
nif->read(mDeltaV);
nif->read(mDecayType);
nif->read(mSymmetryType);
}
void NiPSysBombModifier::post(Reader& nif)
{
NiPSysModifier::post(nif);
mBombObject.post(nif);
}
void NiPSysBoundUpdateModifier::read(NIFStream* nif)
{
NiPSysModifier::read(nif);
@ -422,6 +441,13 @@ namespace Nif
nif->read(mFrameCountFudge);
}
void BSWindModifier::read(NIFStream* nif)
{
NiPSysModifier::read(nif);
nif->read(mStrength);
}
void NiPSysEmitter::read(NIFStream* nif)
{
NiPSysModifier::read(nif);

@ -186,6 +186,19 @@ namespace Nif
void post(Reader& nif) override;
};
struct NiPSysBombModifier : NiPSysModifier
{
NiAVObjectPtr mBombObject;
osg::Vec3f mBombAxis;
float mDecay;
float mDeltaV;
uint32_t mDecayType;
uint32_t mSymmetryType;
void read(NIFStream* nif) override;
void post(Reader& nif) override;
};
struct NiPSysBoundUpdateModifier : public NiPSysModifier
{
uint16_t mUpdateSkip;
@ -318,6 +331,13 @@ namespace Nif
void read(NIFStream* nif) override;
};
struct BSWindModifier : NiPSysModifier
{
float mStrength;
void read(NIFStream* nif) override;
};
// Abstract
struct NiPSysEmitter : public NiPSysModifier
{

@ -113,6 +113,7 @@ namespace Nif
RC_BSTriShape,
RC_BSWArray,
RC_BSWaterShaderProperty,
RC_BSWindModifier,
RC_BSXFlags,
RC_DistantLODShaderProperty,
RC_HairShaderProperty,
@ -193,8 +194,9 @@ namespace Nif
RC_NiPSysAirFieldAirFrictionCtlr,
RC_NiPSysAirFieldInheritVelocityCtlr,
RC_NiPSysAirFieldSpreadCtlr,
RC_NiPSysBoxEmitter,
RC_NiPSysBombModifier,
RC_NiPSysBoundUpdateModifier,
RC_NiPSysBoxEmitter,
RC_NiPSysColliderManager,
RC_NiPSysCylinderEmitter,
RC_NiPSysData,

Loading…
Cancel
Save