From 77ef842670d502dfcd2fbfa2a16c873603f7e45c Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Wed, 27 Jul 2022 16:26:58 -0500 Subject: [PATCH] particle emission safeties both for player specifically, and emission in general --- Engine/source/T3D/fx/particleEmitter.cpp | 1 + Engine/source/T3D/player.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Engine/source/T3D/fx/particleEmitter.cpp b/Engine/source/T3D/fx/particleEmitter.cpp index 79d2e6f1d..9a600a094 100644 --- a/Engine/source/T3D/fx/particleEmitter.cpp +++ b/Engine/source/T3D/fx/particleEmitter.cpp @@ -787,6 +787,7 @@ void ParticleEmitterData::allocPrimBuffer( S32 overrideSize ) { // calculate particle list size AssertFatal(particleDataBlocks.size() > 0, "Error, no particles found." ); + if (particleDataBlocks.empty()) return; U32 maxPartLife = particleDataBlocks[0]->lifetimeMS + particleDataBlocks[0]->lifetimeVarianceMS; for (S32 i = 1; i < particleDataBlocks.size(); i++) { diff --git a/Engine/source/T3D/player.cpp b/Engine/source/T3D/player.cpp index f6560c9da..9dd153574 100644 --- a/Engine/source/T3D/player.cpp +++ b/Engine/source/T3D/player.cpp @@ -3954,7 +3954,8 @@ void Player::updateActionThread() // Emit footpuffs. if (!footfallDustOverride && rInfo.t <= 0.5f && mWaterCoverage == 0.0f - && material && material->mShowDust ) + && material && material->mShowDust + && mDataBlock->footPuffEmitter != nullptr) { // New emitter every time for visibility reasons ParticleEmitter * emitter = new ParticleEmitter;