From b51ba58063588217d72cd297820450bb6c7952db Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Mon, 2 Jun 2025 14:56:51 +0200 Subject: [PATCH] Fix crash on invalid particle data to be a soft check instead --- .../Particles/Graph/CPU/ParticleEmitterGraph.CPU.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Source/Engine/Particles/Graph/CPU/ParticleEmitterGraph.CPU.cpp b/Source/Engine/Particles/Graph/CPU/ParticleEmitterGraph.CPU.cpp index f198a3b8f..39f87d561 100644 --- a/Source/Engine/Particles/Graph/CPU/ParticleEmitterGraph.CPU.cpp +++ b/Source/Engine/Particles/Graph/CPU/ParticleEmitterGraph.CPU.cpp @@ -223,7 +223,7 @@ bool ParticleEmitterGraphCPUExecutor::ComputeBounds(ParticleEmitter* emitter, Pa #endif } #endif - ASSERT(!isnan(sphere.Radius) && !isinf(sphere.Radius) && !sphere.Center.IsNanOrInfinity()); + CHECK_RETURN(!isnan(sphere.Radius) && !isinf(sphere.Radius) && !sphere.Center.IsNanOrInfinity(), false); // Expand sphere based on the render modules rules (sprite or mesh size) for (int32 moduleIndex = 0; moduleIndex < emitter->Graph.RenderModules.Count(); moduleIndex++) @@ -244,7 +244,7 @@ bool ParticleEmitterGraphCPUExecutor::ComputeBounds(ParticleEmitter* emitter, Pa Vector2::Max(*((Vector2*)spriteSize), maxSpriteSize, maxSpriteSize); spriteSize += stride; } - ASSERT(!maxSpriteSize.IsNanOrInfinity()); + CHECK_RETURN(!maxSpriteSize.IsNanOrInfinity(), false); // Enlarge the emitter bounds sphere sphere.Radius += maxSpriteSize.MaxValue(); @@ -267,7 +267,7 @@ bool ParticleEmitterGraphCPUExecutor::ComputeBounds(ParticleEmitter* emitter, Pa if (radius > maxRadius) maxRadius = radius; } - ASSERT(!isnan(maxRadius) && !isinf(maxRadius)); + CHECK_RETURN(!isnan(maxRadius) && !isinf(maxRadius), false); // Enlarge the emitter bounds sphere sphere.Radius += maxRadius; @@ -315,7 +315,7 @@ bool ParticleEmitterGraphCPUExecutor::ComputeBounds(ParticleEmitter* emitter, Pa maxRibbonWidth = Math::Max(*((float*)ribbonWidth), maxRibbonWidth); ribbonWidth += stride; } - ASSERT(!isnan(maxRibbonWidth) && !isinf(maxRibbonWidth)); + CHECK_RETURN(!isnan(maxRibbonWidth) && !isinf(maxRibbonWidth), false); // Enlarge the emitter bounds sphere sphere.Radius += maxRibbonWidth * 0.5f; @@ -335,7 +335,7 @@ bool ParticleEmitterGraphCPUExecutor::ComputeBounds(ParticleEmitter* emitter, Pa maxRadius = Math::Max(*((float*)radius), maxRadius); radius += stride; } - ASSERT(!isnan(maxRadius) && !isinf(maxRadius)); + CHECK_RETURN(!isnan(maxRadius) && !isinf(maxRadius), false); } else {