@@ -47,6 +47,8 @@ static const FieldParse s_theFXListFieldParse[] = {
4747 { " TerrainScorch" , reinterpret_cast <inifieldparse_t >(PICK_ADDRESS (0x004CAC80 , 0x00760F20 )) /* &TerrainScorchFXNugget::Parse */ , nullptr , 0 },
4848 { " ParticleSystem" , reinterpret_cast <inifieldparse_t >(PICK_ADDRESS (0x004CAE10 , 0x00761350 )) /* &ParticleSystemFXNugget::Parse */ , nullptr , 0 },
4949 { " FXListAtBonePos" , reinterpret_cast <inifieldparse_t >(PICK_ADDRESS (0x004CB8E0 , 0x00761D00 )) /* &FXListAtBonePosFXNugget::Parse */ , nullptr , 0 },
50+ #else
51+ { " ParticleSystem" , &ParticleSystemFXNugget::Parse, nullptr , 0 },
5052#endif
5153 { nullptr , nullptr , nullptr , 0 },
5254};
@@ -132,3 +134,29 @@ void SoundFXNugget::Parse(INI *ini, void *formal, void *, const void *)
132134 ini->Init_From_INI (nugget, _fieldParse);
133135 reinterpret_cast <FXList *>(formal)->Add_FXNugget (nugget);
134136}
137+
138+ void ParticleSystemFXNugget::Do_FX_Pos (
139+ const Coord3D *primary, const Matrix3D *primary_mtx, float primary_speed, const Coord3D *secondary, float radius) const
140+ {
141+ captainslog_dbgassert (false , " ParticleSystemFXNugget::Do_FX_Pos not implemented!" );
142+ }
143+
144+ void ParticleSystemFXNugget::Do_FX_Obj (const Object *primary, const Object *secondary) const
145+ {
146+ captainslog_dbgassert (false , " ParticleSystemFXNugget::Do_FX_Obj not implemented!" );
147+ }
148+
149+ void ParticleSystemFXNugget::Parse (INI *ini, void *formal, void *, const void *)
150+ {
151+ static const FieldParse _fieldParse[] = {
152+ { " Name" , INI::Parse_AsciiString, nullptr , offsetof (ParticleSystemFXNugget, m_sysName) },
153+ { " Height" , &GameClientRandomVariable::Parse, nullptr , offsetof (ParticleSystemFXNugget, m_height) },
154+ { " OrientToObject" , INI::Parse_Bool, nullptr , offsetof (ParticleSystemFXNugget, m_orientToObject) },
155+ { " Ricochet" , INI::Parse_Bool, nullptr , offsetof (ParticleSystemFXNugget, m_ricochet) },
156+ { nullptr , nullptr , nullptr , 0 },
157+ };
158+
159+ ParticleSystemFXNugget *nugget = new ParticleSystemFXNugget{};
160+ ini->Init_From_INI (nugget, _fieldParse);
161+ reinterpret_cast <FXList *>(formal)->Add_FXNugget (nugget);
162+ }
0 commit comments