From 4af3b9da82bda354346a9e18443dcd83e8ff9db5 Mon Sep 17 00:00:00 2001 From: Antoine Pilote Date: Thu, 15 Aug 2024 23:17:07 -0400 Subject: [PATCH] Added Jolt error reporting --- Nuake/src/Physics/DynamicWorld.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Nuake/src/Physics/DynamicWorld.cpp b/Nuake/src/Physics/DynamicWorld.cpp index 2c11c618..29bd3da3 100644 --- a/Nuake/src/Physics/DynamicWorld.cpp +++ b/Nuake/src/Physics/DynamicWorld.cpp @@ -753,7 +753,24 @@ namespace Nuake } } - _JoltPhysicsSystem->Update(ts, collisionSteps, joltTempAllocator.get(), _JoltJobSystem); + auto error = _JoltPhysicsSystem->Update(ts, collisionSteps, joltTempAllocator.get(), _JoltJobSystem); + if (error != JPH::EPhysicsUpdateError::None) + { + std::string errMsg = ""; + switch (error) + { + case JPH::EPhysicsUpdateError::ManifoldCacheFull: + errMsg = "Manifold cache full"; + break; + case JPH::EPhysicsUpdateError::BodyPairCacheFull: + errMsg = "Body pair cache full"; + break; + case JPH::EPhysicsUpdateError::ContactConstraintsFull: + errMsg = "contact constraints full"; + break; + } + Logger::Log("Jolt physics encountered an error: " + errMsg, "jolt", CRITICAL); + } } catch (...) {