From 014ab6991aa6ccca5027f17de62c0d15a64ef78b Mon Sep 17 00:00:00 2001 From: ZombieSoul Date: Sun, 15 Mar 2026 10:15:30 -0400 Subject: [PATCH] Fix wrong variable in physics collision loop In Player::updatePos(), when processing physics collision results, the code was incorrectly using col.object instead of colCheck.object when checking if the collision object is a player. This caused: - First iteration: col.object is uninitialized (zeroed), leading to null pointer access - Subsequent iterations: col.object contains the previous iteration's value, causing incorrect type checks The fix changes col.object to colCheck.object to properly check the current collision object. --- Engine/source/T3D/player.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Engine/source/T3D/player.cpp b/Engine/source/T3D/player.cpp index c72dd94fa..96893a7ba 100644 --- a/Engine/source/T3D/player.cpp +++ b/Engine/source/T3D/player.cpp @@ -5169,7 +5169,7 @@ bool Player::updatePos(const F32 travelTime) Collision& colCheck = collisionList[i]; if (colCheck.object) { - SceneObject* obj = static_cast(col.object); + SceneObject* obj = static_cast(colCheck.object); if (obj->getTypeMask() & PlayerObjectType) { _handleCollision( colCheck );