[Scummvm-git-logs] scummvm master -> 6715d944b332df03df9a3af9dd3c9f956924f554
aquadran
noreply at scummvm.org
Fri Oct 11 21:16:17 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:
6715d944b3 WINTERMUTE: Moved face vertex order to mesh loader
Commit: 6715d944b332df03df9a3af9dd3c9f956924f554
https://github.com/scummvm/scummvm/commit/6715d944b332df03df9a3af9dd3c9f956924f554
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2024-10-11T23:16:12+02:00
Commit Message:
WINTERMUTE: Moved face vertex order to mesh loader
Changed paths:
engines/wintermute/base/gfx/xskinmesh.cpp
engines/wintermute/base/gfx/xskinmesh_loader.cpp
diff --git a/engines/wintermute/base/gfx/xskinmesh.cpp b/engines/wintermute/base/gfx/xskinmesh.cpp
index 5dded3d19a1..a02fc7074be 100644
--- a/engines/wintermute/base/gfx/xskinmesh.cpp
+++ b/engines/wintermute/base/gfx/xskinmesh.cpp
@@ -1082,17 +1082,17 @@ bool DXLoadSkinMesh(XFileData *fileData, DXBuffer &adjacencyOut, DXBuffer &mater
for (i = 0; i < meshData._numPolyFaces; i++) {
uint32 count = meshData._numTriPerFace[i];
uint32 firstIndex = *indexInPtr++;
- // 1 -> 1
- // 2 -> 2
- // 3 -> 3
- // 1 -> 4
- // 3 -> 5
- // 4 -> 6
+ // 1 -> 1 -> 3
+ // 2 -> 2 -> 2
+ // 3 -> 3 -> 1
+ // 1 -> 4 -> 6
+ // 3 -> 5 -> 5
+ // 4 -> 6 -> 4
while (count--) {
- *indices++ = firstIndex;
- *indices++ = *indexInPtr;
- indexInPtr++;
- *indices++ = *indexInPtr;
+ indices[2] = firstIndex;
+ indices[1] = *indexInPtr++;
+ indices[0] = *indexInPtr;
+ indices += 3;
}
indexInPtr++;
}
diff --git a/engines/wintermute/base/gfx/xskinmesh_loader.cpp b/engines/wintermute/base/gfx/xskinmesh_loader.cpp
index 42574986fef..801504d036b 100644
--- a/engines/wintermute/base/gfx/xskinmesh_loader.cpp
+++ b/engines/wintermute/base/gfx/xskinmesh_loader.cpp
@@ -113,32 +113,8 @@ void XSkinMeshLoader::loadMesh(const Common::String &filename, XFileData *xobj)
uint32 *indexPtr = (uint32 *)_dxmesh->getIndexBuffer().ptr();
- uint numFaces = _meshObject->_numFaces;
- for (uint i = 0; i < numFaces; ++i) {
- XMeshFace *face = &_meshObject->_faces[i];
- int indexCount = face->_numFaceVertexIndices;
- uint16 index1, index2, index3, index4, index5, index6;
- if (indexCount == 3) {
- index1 = *indexPtr++;
- index2 = *indexPtr++;
- index3 = *indexPtr++;
- _indexData.push_back(index3);
- _indexData.push_back(index2);
- _indexData.push_back(index1);
- } else {
- index1 = *indexPtr++;
- index2 = *indexPtr++;
- index3 = *indexPtr++;
- index4 = *indexPtr++;
- index5 = *indexPtr++;
- index6 = *indexPtr++;
- _indexData.push_back(index3);
- _indexData.push_back(index2);
- _indexData.push_back(index1);
- _indexData.push_back(index6);
- _indexData.push_back(index5);
- _indexData.push_back(index4);
- }
+ for (uint i = 0; i < _dxmesh->getIndexBuffer().size() / sizeof(uint32); ++i) {
+ _indexData.push_back(indexPtr[i]);
}
}
More information about the Scummvm-git-logs
mailing list