Skip to content

Particle systems cause game logic / CRC changes #2717

Description

@stephanmeesters

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugSomething is not working right, typically is user facingMajorSeverity: Minor < Major < Critical < Blocker

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions