mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-03-28 08:37:12 +00:00
Read NiPSysColorModifier, NiPSysGrowFadeModifier, BSPSysArrayEmitter
This commit is contained in:
parent
655dcef34c
commit
a416d18adf
@ -296,8 +296,10 @@ namespace Nif
|
||||
{ "NiPSysAgeDeathModifier", &construct<NiPSysAgeDeathModifier, RC_NiPSysAgeDeathModifier> },
|
||||
{ "NiPSysBombModifier", &construct<NiPSysBombModifier, RC_NiPSysBombModifier> },
|
||||
{ "NiPSysBoundUpdateModifier", &construct<NiPSysBoundUpdateModifier, RC_NiPSysBoundUpdateModifier> },
|
||||
{ "NiPSysColorModifier", &construct<NiPSysColorModifier, RC_NiPSysColorModifier> },
|
||||
{ "NiPSysDragModifier", &construct<NiPSysDragModifier, RC_NiPSysDragModifier> },
|
||||
{ "NiPSysGravityModifier", &construct<NiPSysGravityModifier, RC_NiPSysGravityModifier> },
|
||||
{ "NiPSysGrowFadeModifier", &construct<NiPSysGrowFadeModifier, RC_NiPSysGrowFadeModifier> },
|
||||
{ "NiPSysPositionModifier", &construct<NiPSysModifier, RC_NiPSysPositionModifier> },
|
||||
{ "NiPSysRotationModifier", &construct<NiPSysRotationModifier, RC_NiPSysRotationModifier> },
|
||||
{ "NiPSysSpawnModifier", &construct<NiPSysSpawnModifier, RC_NiPSysSpawnModifier> },
|
||||
@ -313,12 +315,15 @@ namespace Nif
|
||||
{ "BSPSysSubTexModifier", &construct<BSPSysSubTexModifier, RC_BSPSysSubTexModifier> },
|
||||
{ "BSWindModifier", &construct<BSWindModifier, RC_BSWindModifier> },
|
||||
|
||||
// Emitters
|
||||
// Emitters, Gamebryo
|
||||
{ "NiPSysBoxEmitter", &construct<NiPSysBoxEmitter, RC_NiPSysBoxEmitter> },
|
||||
{ "NiPSysCylinderEmitter", &construct<NiPSysCylinderEmitter, RC_NiPSysCylinderEmitter> },
|
||||
{ "NiPSysMeshEmitter", &construct<NiPSysMeshEmitter, RC_NiPSysMeshEmitter> },
|
||||
{ "NiPSysSphereEmitter", &construct<NiPSysSphereEmitter, RC_NiPSysSphereEmitter> },
|
||||
|
||||
// Emitters, Bethesda
|
||||
{ "BSPSysArrayEmitter", &construct<NiPSysVolumeEmitter, RC_BSPSysArrayEmitter> },
|
||||
|
||||
// Modifier controllers, Gamebryo
|
||||
{ "NiPSysAirFieldAirFrictionCtlr", &construct<NiPSysModifierFloatCtlr, RC_NiPSysAirFieldAirFrictionCtlr> },
|
||||
{ "NiPSysAirFieldInheritVelocityCtlr",
|
||||
|
@ -279,6 +279,20 @@ namespace Nif
|
||||
nif->read(mUpdateSkip);
|
||||
}
|
||||
|
||||
void NiPSysColorModifier::read(NIFStream* nif)
|
||||
{
|
||||
NiPSysModifier::read(nif);
|
||||
|
||||
mData.read(nif);
|
||||
}
|
||||
|
||||
void NiPSysColorModifier::post(Reader& nif)
|
||||
{
|
||||
NiPSysModifier::post(nif);
|
||||
|
||||
mData.post(nif);
|
||||
}
|
||||
|
||||
void NiPSysDragModifier::read(NIFStream* nif)
|
||||
{
|
||||
NiPSysModifier::read(nif);
|
||||
@ -320,6 +334,19 @@ namespace Nif
|
||||
mGravityObject.post(nif);
|
||||
}
|
||||
|
||||
void NiPSysGrowFadeModifier::read(NIFStream* nif)
|
||||
{
|
||||
NiPSysModifier::read(nif);
|
||||
|
||||
nif->read(mGrowTime);
|
||||
nif->read(mGrowGeneration);
|
||||
nif->read(mFadeTime);
|
||||
nif->read(mFadeGeneration);
|
||||
if (nif->getVersion() == NIFFile::NIFVersion::VER_BGS
|
||||
&& nif->getBethVersion() >= NIFFile::BethVersion::BETHVER_FO3)
|
||||
nif->read(mBaseScale);
|
||||
}
|
||||
|
||||
void NiPSysRotationModifier::read(NIFStream* nif)
|
||||
{
|
||||
NiPSysModifier::read(nif);
|
||||
|
@ -206,6 +206,14 @@ namespace Nif
|
||||
void read(NIFStream* nif) override;
|
||||
};
|
||||
|
||||
struct NiPSysColorModifier : NiPSysModifier
|
||||
{
|
||||
NiColorDataPtr mData;
|
||||
|
||||
void read(NIFStream* nif) override;
|
||||
void post(Reader& nif) override;
|
||||
};
|
||||
|
||||
struct NiPSysDragModifier : public NiPSysModifier
|
||||
{
|
||||
NiAVObjectPtr mDragObject;
|
||||
@ -233,6 +241,17 @@ namespace Nif
|
||||
void post(Reader& nif) override;
|
||||
};
|
||||
|
||||
struct NiPSysGrowFadeModifier : NiPSysModifier
|
||||
{
|
||||
float mGrowTime;
|
||||
uint16_t mGrowGeneration;
|
||||
float mFadeTime;
|
||||
uint16_t mFadeGeneration;
|
||||
float mBaseScale;
|
||||
|
||||
void read(NIFStream* nif) override;
|
||||
};
|
||||
|
||||
struct NiPSysRotationModifier : public NiPSysModifier
|
||||
{
|
||||
float mRotationSpeed;
|
||||
|
@ -94,6 +94,7 @@ namespace Nif
|
||||
RC_BSMultiBoundSphere,
|
||||
RC_BSNiAlphaPropertyTestRefController,
|
||||
RC_BSPackedAdditionalGeometryData,
|
||||
RC_BSPSysArrayEmitter,
|
||||
RC_BSPSysInheritVelocityModifier,
|
||||
RC_BSPSysLODModifier,
|
||||
RC_BSPSysRecycleBoundModifier,
|
||||
@ -198,6 +199,7 @@ namespace Nif
|
||||
RC_NiPSysBoundUpdateModifier,
|
||||
RC_NiPSysBoxEmitter,
|
||||
RC_NiPSysColliderManager,
|
||||
RC_NiPSysColorModifier,
|
||||
RC_NiPSysCylinderEmitter,
|
||||
RC_NiPSysData,
|
||||
RC_NiPSysDragModifier,
|
||||
@ -215,6 +217,7 @@ namespace Nif
|
||||
RC_NiPSysFieldMaxDistanceCtlr,
|
||||
RC_NiPSysGravityModifier,
|
||||
RC_NiPSysGravityStrengthCtlr,
|
||||
RC_NiPSysGrowFadeModifier,
|
||||
RC_NiPSysInitialRotSpeedCtlr,
|
||||
RC_NiPSysInitialRotSpeedVarCtlr,
|
||||
RC_NiPSysInitialRotAngleCtlr,
|
||||
|
Loading…
x
Reference in New Issue
Block a user