[Scummvm-git-logs] scummvm master -> d35800fce7ab5f149c9f70c657bf4012bc030cbd

grisenti noreply at scummvm.org
Wed Oct 11 14:14:38 UTC 2023


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
d35800fce7 HPL1: Add workaround for invalid collider


Commit: d35800fce7ab5f149c9f70c657bf4012bc030cbd
    https://github.com/scummvm/scummvm/commit/d35800fce7ab5f149c9f70c657bf4012bc030cbd
Author: grisenti (emanuele at grisenti.net)
Date: 2023-10-11T16:14:16+02:00

Commit Message:
HPL1: Add workaround for invalid collider

Changed paths:
    engines/hpl1/engine/impl/MeshLoaderCollada.cpp


diff --git a/engines/hpl1/engine/impl/MeshLoaderCollada.cpp b/engines/hpl1/engine/impl/MeshLoaderCollada.cpp
index 467190d15ca..26746c2c4a0 100644
--- a/engines/hpl1/engine/impl/MeshLoaderCollada.cpp
+++ b/engines/hpl1/engine/impl/MeshLoaderCollada.cpp
@@ -1406,6 +1406,13 @@ cMeshEntity *cMeshLoaderCollada::CreateStaticMeshEntity(cColladaNode *apNode, cW
 			pVtxBuffer->GetArray(eVertexFlag_Position)[22] = -64.470757f;
 		}
 
+		// WORKAROUND: Bug #14572: "HPL1: crash after breaking the ice in level "Lake Utuqaq""
+		// The object below has an empty mesh that generates an invalid collider, which causes a crash when the Newton library
+		// tries to resolve a collision between the object and another physics body called "ice4_broken_pieceShape3".
+		if (apNode->msName == "Shape01") {
+			return nullptr;
+		}
+
 		iCollideShape *pShape = apWorld->GetPhysicsWorld()->CreateMeshShape(pVtxBuffer);
 		iPhysicsBody *pBody = apWorld->GetPhysicsWorld()->CreateBody(apNode->msName, pShape);
 




More information about the Scummvm-git-logs mailing list