[Scummvm-git-logs] scummvm master -> 63d69a365893824bc1f257f862b9313fefedad5f

aquadran noreply at scummvm.org
Thu Oct 17 15:37:50 UTC 2024


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:
63d69a3658 WINTERMUTE: Sync code with original for function getBonePosition3D


Commit: 63d69a365893824bc1f257f862b9313fefedad5f
    https://github.com/scummvm/scummvm/commit/63d69a365893824bc1f257f862b9313fefedad5f
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2024-10-17T17:37:45+02:00

Commit Message:
WINTERMUTE: Sync code with original for function getBonePosition3D

Changed paths:
    engines/wintermute/ad/ad_object_3d.cpp


diff --git a/engines/wintermute/ad/ad_object_3d.cpp b/engines/wintermute/ad/ad_object_3d.cpp
index e99b64a3909..377df08d9be 100644
--- a/engines/wintermute/ad/ad_object_3d.cpp
+++ b/engines/wintermute/ad/ad_object_3d.cpp
@@ -643,16 +643,16 @@ bool AdObject3D::getBonePosition3D(const char *boneName, Math::Vector3d *pos, Ma
 		return false;
 	}
 
-	Math::Matrix4 boneMatrix;
-	boneMatrix.setData(*boneMat);
-	Math::Matrix4 bonePosMat = boneMatrix * _worldMatrix;
-	*pos = Math::Vector3d(0.0f, 0.0f, 0.0f);
+	DXMatrix bonePosMat, worldMatrix = DXMatrix(_worldMatrix.getData());
+	DXMatrixMultiply(&bonePosMat, boneMat, &worldMatrix);
 
-	if (offset) {
-		*pos = *offset;
-	}
+	DXVector4 vectBone4;
+	DXVector3 vectBone3(offset->x(), offset->x(), offset->y());
+	DXVec3Transform(&vectBone4, &vectBone3, &bonePosMat);
 
-	bonePosMat.transform(pos, true);
+	pos->x() = vectBone4._x;
+	pos->y() = vectBone4._y;
+	pos->z() = vectBone4._z;
 
 	return true;
 }




More information about the Scummvm-git-logs mailing list