[Scummvm-git-logs] scummvm master -> b7a2a1339f3066a0a0198b664a31f08efcb2a99b
aquadran
noreply at scummvm.org
Sat Oct 19 10:26:10 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:
b7a2a1339f WINTERMUTE: Synced FrameNode::updateMatrices() with original code
Commit: b7a2a1339f3066a0a0198b664a31f08efcb2a99b
https://github.com/scummvm/scummvm/commit/b7a2a1339f3066a0a0198b664a31f08efcb2a99b
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2024-10-19T12:26:05+02:00
Commit Message:
WINTERMUTE: Synced FrameNode::updateMatrices() with original code
Changed paths:
engines/wintermute/base/gfx/xframe_node.cpp
diff --git a/engines/wintermute/base/gfx/xframe_node.cpp b/engines/wintermute/base/gfx/xframe_node.cpp
index bc2065c28d4..4179405c239 100644
--- a/engines/wintermute/base/gfx/xframe_node.cpp
+++ b/engines/wintermute/base/gfx/xframe_node.cpp
@@ -251,46 +251,40 @@ FrameNode *FrameNode::findFrame(const char *frameName) {
//////////////////////////////////////////////////////////////////////////
bool FrameNode::updateMatrices(DXMatrix *parentMat) {
if (_transUsed[0]) {
- DXVector3 transPos = DXVector3(_transPos[0]);
- DXVector3 transScale = DXVector3(_transScale[0]);
- DXQuaternion transRot = DXQuaternion(_transRot[0]);
+ DXVector3 transPos = _transPos[0];
+ DXVector3 transScale = _transScale[0];
+ DXQuaternion transRot = _transRot[0];
float lerpValue = _lerpValue[0];
if (_transUsed[1]) {
- DXVector3 transPos1 = DXVector3(_transPos[1]);
- DXVector3 transScale1 = DXVector3(_transScale[1]);
- DXQuaternion transRot1 = DXQuaternion(_transRot[1]);
- DXVec3Lerp(&transScale, &transScale, &transScale1, lerpValue);
- DXQuaternionSlerp(&transRot, &transRot, &transRot1, lerpValue);
- DXVec3Lerp(&transPos, &transPos, &transPos1, lerpValue);
+ DXVec3Lerp(&transScale, &transScale, &_transScale[1], lerpValue);
+ DXQuaternionSlerp(&transRot, &transRot, &_transRot[1], lerpValue);
+ DXVec3Lerp(&transPos, &transPos, &_transPos[1], lerpValue);
}
// prepare local transformation matrix
- DXMatrix transformationMatrix = DXMatrix(_transformationMatrix);
- DXMatrixIdentity(&transformationMatrix);
-
+ DXMatrixIdentity(&_transformationMatrix);
+
DXMatrix scaleMat;
DXMatrixScaling(&scaleMat, transScale._x, transScale._y, transScale._z);
DXMatrixTranspose(&scaleMat, &scaleMat);
- DXMatrixMultiply(&transformationMatrix, &scaleMat, &transformationMatrix);
+ DXMatrixMultiply(&_transformationMatrix, &scaleMat, &_transformationMatrix);
DXMatrix rotMat;
DXMatrixRotationQuaternion(&rotMat, &transRot);
DXMatrixTranspose(&rotMat, &rotMat);
- DXMatrixMultiply(&transformationMatrix, &rotMat, &transformationMatrix);
+ DXMatrixMultiply(&_transformationMatrix, &rotMat, &_transformationMatrix);
DXMatrix posMat;
DXMatrixTranslation(&posMat, transPos._x, transPos._y, transPos._z);
DXMatrixTranspose(&posMat, &posMat);
- DXMatrixMultiply(&transformationMatrix, &posMat, &transformationMatrix);
- _transformationMatrix = transformationMatrix;
+ DXMatrixMultiply(&_transformationMatrix, &posMat, &_transformationMatrix);
}
_transUsed[0] = _transUsed[1] = false;
// multiply by parent transformation
- DXMatrix transformationMatrix = DXMatrix(_transformationMatrix);
- DXMatrixMultiply(&_combinedMatrix, parentMat, &transformationMatrix);
+ DXMatrixMultiply(&_combinedMatrix, parentMat, &_transformationMatrix);
// update child frames
for (uint32 i = 0; i < _frames.size(); i++) {
More information about the Scummvm-git-logs
mailing list