[Scummvm-git-logs] scummvm master -> 87166527a1ad54bd2b0769f5fb22dbe24358fef3
aquadran
noreply at scummvm.org
Sat Oct 12 07:30:16 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:
87166527a1 WINTERMUTE: Improved _skinnedMesh usage
Commit: 87166527a1ad54bd2b0769f5fb22dbe24358fef3
https://github.com/scummvm/scummvm/commit/87166527a1ad54bd2b0769f5fb22dbe24358fef3
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2024-10-12T09:30:11+02:00
Commit Message:
WINTERMUTE: Improved _skinnedMesh usage
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 7d450ed5386..5ba75ceab01 100644
--- a/engines/wintermute/base/gfx/xmesh.cpp
+++ b/engines/wintermute/base/gfx/xmesh.cpp
@@ -65,7 +65,7 @@ bool XMesh::loadFromXData(const Common::String &filename, XFileData *xobj) {
// load mesh
DXBuffer bufMaterials;
//DXBuffer bufBoneOffset;
- //uint32 numFaces;
+ uint32 numFaces;
uint32 numMaterials;
DXMesh *mesh;
DXSkinInfo *skinInfo = nullptr;
@@ -81,6 +81,9 @@ bool XMesh::loadFromXData(const Common::String &filename, XFileData *xobj) {
_skinMesh = new SkinMeshHelper(meshLoader, mesh, skinInfo);
+ numFaces = _skinMesh->getNumFaces();
+
+ uint32 numBones = _skinMesh->getNumBones();
// check for materials
if ((bufMaterials.ptr() == nullptr) || (numMaterials == 0)) {
@@ -106,11 +109,9 @@ bool XMesh::loadFromXData(const Common::String &filename, XFileData *xobj) {
}
}
- _skinnedMesh = false;
-
- if (skinInfo) {
- _skinnedMesh = skinInfo->getNumBones() > 0;
- for (uint index = 0; index < skinInfo->getNumBones(); index++) {
+ _skinnedMesh = numBones > 0;
+ if (_skinnedMesh) {
+ for (uint index = 0; index < numBones; index++) {
SkinWeights currSkinWeights;
DXBone *bone = skinInfo->getBone(index);
currSkinWeights._boneName = bone->_name;
diff --git a/engines/wintermute/base/gfx/xskinmesh.cpp b/engines/wintermute/base/gfx/xskinmesh.cpp
index dfc46c0eb23..3d61c34f395 100644
--- a/engines/wintermute/base/gfx/xskinmesh.cpp
+++ b/engines/wintermute/base/gfx/xskinmesh.cpp
@@ -1066,9 +1066,9 @@ static bool parseMesh(XFileData *fileData, struct MeshData *meshData) {
}
if (!meshData->_skinInfo) {
- /*result = createSkinInfo(meshData->_numVertices, meshData->_boneCount, &meshData->_skinInfo);
+ result = createSkinInfo(meshData->_numVertices, meshData->_boneCount, &meshData->_skinInfo);
if (!result)
- return false;*/
+ return false;
}
return true;
More information about the Scummvm-git-logs
mailing list