1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-06-26 14:11:33 +00:00

Read BSWindModifier and NiPSysBombModifier

This commit is contained in:
Alexei Kotov 2023-09-22 05:28:18 +03:00
parent 5de3bdd2bc
commit 0ad3463d36
4 changed files with 51 additions and 1 deletions

View file

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

View file

@ -253,6 +253,25 @@ namespace Nif
mSpawnModifier.post(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) void NiPSysBoundUpdateModifier::read(NIFStream* nif)
{ {
NiPSysModifier::read(nif); NiPSysModifier::read(nif);
@ -422,6 +441,13 @@ namespace Nif
nif->read(mFrameCountFudge); nif->read(mFrameCountFudge);
} }
void BSWindModifier::read(NIFStream* nif)
{
NiPSysModifier::read(nif);
nif->read(mStrength);
}
void NiPSysEmitter::read(NIFStream* nif) void NiPSysEmitter::read(NIFStream* nif)
{ {
NiPSysModifier::read(nif); NiPSysModifier::read(nif);

View file

@ -186,6 +186,19 @@ namespace Nif
void post(Reader& nif) override; 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 struct NiPSysBoundUpdateModifier : public NiPSysModifier
{ {
uint16_t mUpdateSkip; uint16_t mUpdateSkip;
@ -318,6 +331,13 @@ namespace Nif
void read(NIFStream* nif) override; void read(NIFStream* nif) override;
}; };
struct BSWindModifier : NiPSysModifier
{
float mStrength;
void read(NIFStream* nif) override;
};
// Abstract // Abstract
struct NiPSysEmitter : public NiPSysModifier struct NiPSysEmitter : public NiPSysModifier
{ {

View file

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