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

aquadran noreply at scummvm.org
Sat Oct 12 17:53:06 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:
e1d838a757 WINTERMUTE: Moved matrix conversion to mesh loader


Commit: e1d838a75741ef26e14a377a1f3c299ad38b4509
    https://github.com/scummvm/scummvm/commit/e1d838a75741ef26e14a377a1f3c299ad38b4509
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2024-10-12T19:53:01+02:00

Commit Message:
WINTERMUTE: Moved matrix conversion to mesh loader

Changed paths:
    engines/wintermute/base/gfx/xmesh.cpp
    engines/wintermute/base/gfx/xskinmesh.cpp


diff --git a/engines/wintermute/base/gfx/xmesh.cpp b/engines/wintermute/base/gfx/xmesh.cpp
index d9464b9e3bd..d34d00f8bbe 100644
--- a/engines/wintermute/base/gfx/xmesh.cpp
+++ b/engines/wintermute/base/gfx/xmesh.cpp
@@ -186,17 +186,6 @@ bool XMesh::loadFromXData(const Common::String &filename, XFileData *xobj) {
 			}
 		}
 
-		// mirror at orign
-		currSkinWeights._offsetMatrix(2, 3) *= -1.0f;
-
-		// mirror base vectors
-		currSkinWeights._offsetMatrix(2, 0) *= -1.0f;
-		currSkinWeights._offsetMatrix(2, 1) *= -1.0f;
-
-		// change handedness
-		currSkinWeights._offsetMatrix(0, 2) *= -1.0f;
-		currSkinWeights._offsetMatrix(1, 2) *= -1.0f;
-
 		meshLoader->_skinWeightsList.push_back(currSkinWeights);
 	}
 
diff --git a/engines/wintermute/base/gfx/xskinmesh.cpp b/engines/wintermute/base/gfx/xskinmesh.cpp
index 3d61c34f395..8930f76cd42 100644
--- a/engines/wintermute/base/gfx/xskinmesh.cpp
+++ b/engines/wintermute/base/gfx/xskinmesh.cpp
@@ -556,6 +556,18 @@ bool DXSkinInfo::setBoneOffsetMatrix(uint32 boneIdx, const float *boneTransform)
 	for (int m = 0; m < 16; m++) {
 		_bones[boneIdx]._transform._m4x4[m] = boneTransform[m];
 	}
+
+	// mirror at orign
+	_bones[boneIdx]._transform._m[3][2] *= -1.0f;
+
+	// mirror base vectors
+	_bones[boneIdx]._transform._m[0][2] *= -1.0f;
+	_bones[boneIdx]._transform._m[1][2] *= -1.0f;
+
+	// change handedness
+	_bones[boneIdx]._transform._m[2][0] *= -1.0f;
+	_bones[boneIdx]._transform._m[2][1] *= -1.0f;
+
 	return true;
 }
 




More information about the Scummvm-git-logs mailing list