#pragma once #include #include #include namespace T5M { namespace Effects { namespace Explosion { struct ExplosionParticle { DirectX::SimpleMath::Vector3 pos; DirectX::SimpleMath::Vector3 vel; DirectX::SimpleMath::Vector4 tint; float size; float rotation; float angularVel; float age; float life; int room; int sprite; bool active; }; extern std::array explosionParticles; void TriggerExplosion(DirectX::SimpleMath::Vector3& pos, float size, bool triggerSparks, bool triggerSmoke, bool triggerShockwave, int room); void UpdateExplosionParticles(); ExplosionParticle& getFreeExplosionParticle(); void SpawnExplosionParticle(DirectX::SimpleMath::Vector3& pos); } } }