瀏覽代碼

Merge pull request #833 from Azaezel/alpha40/particlePainPunt

particle emission safeties
Brian Roberts 3 年之前
父節點
當前提交
14d1b16892
共有 2 個文件被更改,包括 3 次插入1 次删除
  1. 1 0
      Engine/source/T3D/fx/particleEmitter.cpp
  2. 2 1
      Engine/source/T3D/player.cpp

+ 1 - 0
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++)
    {

+ 2 - 1
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;