[Scummvm-git-logs] scummvm master -> c0b89d8bc16007e31eadeae78ced5360abcd3a25
aquadran
noreply at scummvm.org
Tue Aug 4 12:12:43 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
c0b89d8bc1 WINTERMUTE: Corrected access to attributes array when there is no attributes
Commit: c0b89d8bc16007e31eadeae78ced5360abcd3a25
https://github.com/scummvm/scummvm/commit/c0b89d8bc16007e31eadeae78ced5360abcd3a25
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2026-08-04T14:12:31+02:00
Commit Message:
WINTERMUTE: Corrected access to attributes array when there is no attributes
Changed paths:
engines/wintermute/base/gfx/opengl/meshx_opengl.cpp
engines/wintermute/base/gfx/opengl/meshx_opengl_shader.cpp
engines/wintermute/base/gfx/tinygl/meshx_tinygl.cpp
diff --git a/engines/wintermute/base/gfx/opengl/meshx_opengl.cpp b/engines/wintermute/base/gfx/opengl/meshx_opengl.cpp
index 108a5ea9c88..42a54ee1974 100644
--- a/engines/wintermute/base/gfx/opengl/meshx_opengl.cpp
+++ b/engines/wintermute/base/gfx/opengl/meshx_opengl.cpp
@@ -136,7 +136,7 @@ bool XMeshOpenGL::render(XModel *model) {
if (textureEnable)
glTexCoordPointer(2, GL_FLOAT, vertexSize * sizeof(float), vertexData + textureOffset);
- glDrawElements(GL_TRIANGLES, attrsTable->_ptr[i]._faceCount * 3, GL_UNSIGNED_INT, indexData + attrsTable->_ptr[i]._faceStart * 3);
+ glDrawElements(GL_TRIANGLES, attrs[i]._faceCount * 3, GL_UNSIGNED_INT, indexData + attrs[i]._faceStart * 3);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_NORMAL_ARRAY);
@@ -213,7 +213,7 @@ bool XMeshOpenGL::renderFlatShadowModel(uint32 shadowColor) {
glVertexPointer(3, GL_FLOAT, vertexSize * sizeof(float), vertexData);
- glDrawElements(GL_TRIANGLES, attrsTable->_ptr[i]._faceCount * 3, GL_UNSIGNED_INT, indexData + attrsTable->_ptr[i]._faceStart * 3);
+ glDrawElements(GL_TRIANGLES, attrs[i]._faceCount * 3, GL_UNSIGNED_INT, indexData + attrs[i]._faceStart * 3);
glDisableClientState(GL_VERTEX_ARRAY);
}
@@ -234,7 +234,7 @@ bool XMeshOpenGL::renderFlatShadowModel(uint32 shadowColor) {
glVertexPointer(3, GL_FLOAT, vertexSize * sizeof(float), vertexData);
- glDrawElements(GL_TRIANGLES, attrsTable->_ptr[i]._faceCount * 3, GL_UNSIGNED_INT, indexData + attrsTable->_ptr[i]._faceStart * 3);
+ glDrawElements(GL_TRIANGLES, attrs[i]._faceCount * 3, GL_UNSIGNED_INT, indexData + attrs[i]._faceStart * 3);
glDisableClientState(GL_VERTEX_ARRAY);
}
diff --git a/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.cpp b/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.cpp
index 452e210f47f..13c7972f63f 100644
--- a/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.cpp
+++ b/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.cpp
@@ -154,12 +154,12 @@ bool XMeshOpenGLShader::render(XModel *model) {
_shader->setUniform("effectId", 0);
setupEffect(mat, false);
- size_t offsetFace = 4 * attrsTable->_ptr[i]._faceStart * 3;
- glDrawElements(GL_TRIANGLES, attrsTable->_ptr[i]._faceCount * 3, GL_UNSIGNED_INT, (void *)offsetFace);
+ size_t offsetFace = 4 * attrs[i]._faceStart * 3;
+ glDrawElements(GL_TRIANGLES, attrs[i]._faceCount * 3, GL_UNSIGNED_INT, (void *)offsetFace);
if (setupEffect(mat, true)) {
GLboolean stateCullFace;
glGetBooleanv(GL_CULL_FACE, &stateCullFace);
- glDrawElements(GL_TRIANGLES, attrsTable->_ptr[i]._faceCount * 3, GL_UNSIGNED_INT, (void *)offsetFace);
+ glDrawElements(GL_TRIANGLES, attrs[i]._faceCount * 3, GL_UNSIGNED_INT, (void *)offsetFace);
if (stateCullFace)
glEnable(GL_CULL_FACE);
else
@@ -240,8 +240,8 @@ bool XMeshOpenGLShader::renderFlatShadowModel(uint32 shadowColor) {
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _indexBuffer);
for (uint32 i = 0; i < numAttrs; i++) {
- size_t offsetFace = 4 * attrsTable->_ptr[i]._faceStart * 3;
- glDrawElements(GL_TRIANGLES, attrsTable->_ptr[i]._faceCount * 3, GL_UNSIGNED_INT, (void *)offsetFace);
+ size_t offsetFace = 4 * attrs[i]._faceStart * 3;
+ glDrawElements(GL_TRIANGLES, attrs[i]._faceCount * 3, GL_UNSIGNED_INT, (void *)offsetFace);
}
glStencilFunc(GL_EQUAL, 1, (GLuint)~0);
@@ -255,8 +255,8 @@ bool XMeshOpenGLShader::renderFlatShadowModel(uint32 shadowColor) {
glDepthMask(GL_TRUE);
for (uint32 i = 0; i < numAttrs; i++) {
- size_t offsetFace = 4 * attrsTable->_ptr[i]._faceStart * 3;
- glDrawElements(GL_TRIANGLES, attrsTable->_ptr[i]._faceCount * 3, GL_UNSIGNED_INT, (void *)offsetFace);
+ size_t offsetFace = 4 * attrs[i]._faceStart * 3;
+ glDrawElements(GL_TRIANGLES, attrs[i]._faceCount * 3, GL_UNSIGNED_INT, (void *)offsetFace);
}
glBindBuffer(GL_ARRAY_BUFFER, 0);
diff --git a/engines/wintermute/base/gfx/tinygl/meshx_tinygl.cpp b/engines/wintermute/base/gfx/tinygl/meshx_tinygl.cpp
index f42a4e33156..bb9e6fbef24 100644
--- a/engines/wintermute/base/gfx/tinygl/meshx_tinygl.cpp
+++ b/engines/wintermute/base/gfx/tinygl/meshx_tinygl.cpp
@@ -133,7 +133,7 @@ bool XMeshTinyGL::render(XModel *model) {
if (textureEnable)
tglTexCoordPointer(2, TGL_FLOAT, vertexSize * sizeof(float), vertexData + textureOffset);
- tglDrawElements(TGL_TRIANGLES, attrsTable->_ptr[i]._faceCount * 3, TGL_UNSIGNED_INT, indexData + attrsTable->_ptr[i]._faceStart * 3);
+ tglDrawElements(TGL_TRIANGLES, attrs[i]._faceCount * 3, TGL_UNSIGNED_INT, indexData + attrs[i]._faceStart * 3);
tglDisableClientState(TGL_VERTEX_ARRAY);
tglDisableClientState(TGL_NORMAL_ARRAY);
@@ -210,7 +210,7 @@ bool XMeshTinyGL::renderFlatShadowModel(uint32 shadowColor) {
tglVertexPointer(3, TGL_FLOAT, vertexSize * sizeof(float), vertexData);
- tglDrawElements(TGL_TRIANGLES, attrsTable->_ptr[i]._faceCount * 3, TGL_UNSIGNED_INT, indexData + attrsTable->_ptr[i]._faceStart * 3);
+ tglDrawElements(TGL_TRIANGLES, attrs[i]._faceCount * 3, TGL_UNSIGNED_INT, indexData + attrs[i]._faceStart * 3);
tglDisableClientState(TGL_VERTEX_ARRAY);
}
@@ -231,7 +231,7 @@ bool XMeshTinyGL::renderFlatShadowModel(uint32 shadowColor) {
tglVertexPointer(3, TGL_FLOAT, vertexSize * sizeof(float), vertexData);
- tglDrawElements(TGL_TRIANGLES, attrsTable->_ptr[i]._faceCount * 3, TGL_UNSIGNED_INT, indexData + attrsTable->_ptr[i]._faceStart * 3);
+ tglDrawElements(TGL_TRIANGLES, attrs[i]._faceCount * 3, TGL_UNSIGNED_INT, indexData + attrs[i]._faceStart * 3);
tglDisableClientState(TGL_VERTEX_ARRAY);
}
More information about the Scummvm-git-logs
mailing list