Ideally particle systems are purely visual and disabling them should not affect game logic. However currently this does not appear to be the case.
Example:
ParticleSystem *ParticleSystemManager::createParticleSystem( const ParticleSystemTemplate *sysTemplate, Bool createSlaves )
{
return nullptr; // <-- disable particles
// sanity
if (sysTemplate == nullptr)
return nullptr;
m_uniqueSystemID = (ParticleSystemID)((UnsignedInt)m_uniqueSystemID + 1);
ParticleSystem *sys = newInstance(ParticleSystem)( sysTemplate, m_uniqueSystemID, createSlaves );
return sys;
}
This causes mismatching in Golden Replay #1.
I could trace this back to TransitionDamageFX, by allowing particles to be created there but nowhere else, but this moved the mismatch just further along to another frame, so there are multiple causes.
Issue also happens in a win32 replay.
Ideally particle systems are purely visual and disabling them should not affect game logic. However currently this does not appear to be the case.
Example:
This causes mismatching in Golden Replay #1.
I could trace this back to
TransitionDamageFX, by allowing particles to be created there but nowhere else, but this moved the mismatch just further along to another frame, so there are multiple causes.Issue also happens in a win32 replay.