[Scummvm-git-logs] scummvm master -> f24841d13d0c5c70ba28d9a18e85effe4a09e4b6
aquadran
noreply at scummvm.org
Wed Oct 2 22:06:38 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:
f24841d13d WINTERMUTE: WME3D: Removed no longer used materialReference and ColorValue
Commit: f24841d13d0c5c70ba28d9a18e85effe4a09e4b6
https://github.com/scummvm/scummvm/commit/f24841d13d0c5c70ba28d9a18e85effe4a09e4b6
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2024-10-03T00:06:28+02:00
Commit Message:
WINTERMUTE: WME3D: Removed no longer used materialReference and ColorValue
Changed paths:
engines/wintermute/base/gfx/opengl/meshx_opengl_shader.cpp
engines/wintermute/base/gfx/opengl/meshx_opengl_shader.h
engines/wintermute/base/gfx/xframe_node.cpp
engines/wintermute/base/gfx/xframe_node.h
engines/wintermute/base/gfx/xmaterial.h
engines/wintermute/base/gfx/xmesh.cpp
engines/wintermute/base/gfx/xmesh.h
engines/wintermute/base/gfx/xmodel.cpp
engines/wintermute/base/gfx/xmodel.h
engines/wintermute/base/gfx/xskinmesh_loader.cpp
engines/wintermute/base/gfx/xskinmesh_loader.h
diff --git a/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.cpp b/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.cpp
index a09605cd3ff..c6b67e7a383 100644
--- a/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.cpp
+++ b/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.cpp
@@ -51,8 +51,8 @@ XMeshOpenGLShader::~XMeshOpenGLShader() {
glDeleteBuffers(1, &_indexBuffer);
}
-bool XMeshOpenGLShader::loadFromXData(const Common::String &filename, XFileData *xobj, Common::Array<MaterialReference> &materialReferences) {
- if (XMesh::loadFromXData(filename, xobj, materialReferences)) {
+bool XMeshOpenGLShader::loadFromXData(const Common::String &filename, XFileData *xobj) {
+ if (XMesh::loadFromXData(filename, xobj)) {
auto indexData = _skinMesh->_mesh->_indexData;
float *vertexData = _skinMesh->_mesh->_vertexData;
uint32 vertexCount = _skinMesh->_mesh->_vertexCount;
diff --git a/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.h b/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.h
index 4ef48abff0b..3b664af7923 100644
--- a/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.h
+++ b/engines/wintermute/base/gfx/opengl/meshx_opengl_shader.h
@@ -41,7 +41,7 @@ public:
XMeshOpenGLShader(BaseGame *inGame, OpenGL::Shader *shader, OpenGL::Shader *flatShadowShader);
~XMeshOpenGLShader() override;
- bool loadFromXData(const Common::String &filename, XFileData *xobj, Common::Array<MaterialReference> &materialReferences) override;
+ bool loadFromXData(const Common::String &filename, XFileData *xobj) override;
bool render(XModel *model) override;
bool renderFlatShadowModel() override;
bool update(FrameNode *parentFrame) override;
diff --git a/engines/wintermute/base/gfx/xframe_node.cpp b/engines/wintermute/base/gfx/xframe_node.cpp
index 60c1cdf1093..b7f89aabb74 100644
--- a/engines/wintermute/base/gfx/xframe_node.cpp
+++ b/engines/wintermute/base/gfx/xframe_node.cpp
@@ -98,7 +98,7 @@ void FrameNode::setTransformation(int slot, Math::Vector3d pos, Math::Vector3d s
}
//////////////////////////////////////////////////////////////////////////
-bool FrameNode::loadFromXData(const Common::String &filename, XModel *model, XFileData *xobj, Common::Array<MaterialReference> &materialReferences) {
+bool FrameNode::loadFromXData(const Common::String &filename, XModel *model, XFileData *xobj) {
_gameRef->miniUpdate();
bool res = true;
@@ -109,7 +109,7 @@ bool FrameNode::loadFromXData(const Common::String &filename, XModel *model, XFi
if (objectType == kXClassMesh) { // load a child mesh
XMesh *mesh = _gameRef->_renderer3D->createXMesh();
- res = mesh->loadFromXData(filename, xobj, materialReferences);
+ res = mesh->loadFromXData(filename, xobj);
if (res) {
_meshes.add(mesh);
return true;
@@ -167,7 +167,7 @@ bool FrameNode::loadFromXData(const Common::String &filename, XModel *model, XFi
XFileData xchildData;
res = xobj->getChild(i, xchildData);
if (res)
- res = childFrame->loadFromXData(filename, model, &xchildData, materialReferences);
+ res = childFrame->loadFromXData(filename, model, &xchildData);
}
if (res)
_frames.add(childFrame);
diff --git a/engines/wintermute/base/gfx/xframe_node.h b/engines/wintermute/base/gfx/xframe_node.h
index 0932c093fc9..93fd6537c58 100644
--- a/engines/wintermute/base/gfx/xframe_node.h
+++ b/engines/wintermute/base/gfx/xframe_node.h
@@ -55,7 +55,7 @@ public:
bool renderFlatShadowModel();
bool updateShadowVol(ShadowVolume *shadow, Math::Matrix4 &modelMat, const Math::Vector3d &light, float extrusionDepth);
- bool loadFromXData(const Common::String &filename, XModel *model, XFileData *xobj, Common::Array<MaterialReference> &materialReferences);
+ bool loadFromXData(const Common::String &filename, XModel *model, XFileData *xobj);
bool mergeFromXData(const Common::String &filename, XModel *model, XFileData *xobj);
bool findBones(FrameNode *rootFrame);
FrameNode *findFrame(const char *frameName);
diff --git a/engines/wintermute/base/gfx/xmaterial.h b/engines/wintermute/base/gfx/xmaterial.h
index 87a217c6909..fc22bdb2ef3 100644
--- a/engines/wintermute/base/gfx/xmaterial.h
+++ b/engines/wintermute/base/gfx/xmaterial.h
@@ -38,42 +38,6 @@ class BaseSurface;
class VideoTheoraPlayer;
class XFileData;
-struct ColorValue {
- float &r() {
- return data[0];
- }
-
- float r() const {
- return data[0];
- }
-
- float &g() {
- return data[1];
- }
-
- float g() const {
- return data[1];
- }
-
- float &b() {
- return data[2];
- }
-
- float b() const {
- return data[2];
- }
-
- float &a() {
- return data[3];
- }
-
- float a() const {
- return data[3];
- }
-
- float data[4];
-};
-
class Material : public BaseNamedObject {
public:
Material(BaseGame *inGame);
diff --git a/engines/wintermute/base/gfx/xmesh.cpp b/engines/wintermute/base/gfx/xmesh.cpp
index 3aa52199065..e44912a0ad0 100644
--- a/engines/wintermute/base/gfx/xmesh.cpp
+++ b/engines/wintermute/base/gfx/xmesh.cpp
@@ -57,7 +57,7 @@ XMesh::~XMesh() {
}
//////////////////////////////////////////////////////////////////////////
-bool XMesh::loadFromXData(const Common::String &filename, XFileData *xobj, Common::Array<MaterialReference> &materialReferences) {
+bool XMesh::loadFromXData(const Common::String &filename, XFileData *xobj) {
// get name
if (!XModel::loadName(this, xobj)) {
BaseEngine::LOG(0, "Error loading mesh name");
@@ -86,7 +86,7 @@ bool XMesh::loadFromXData(const Common::String &filename, XFileData *xobj, Commo
}
XSkinMeshLoader *meshLoader = new XSkinMeshLoader(this, meshObject, mesh, skinInfo);
- meshLoader->loadMesh(filename, xobj, materialReferences);
+ meshLoader->loadMesh(filename, xobj);
_skinMesh = new SkinMeshHelper(meshLoader, mesh, skinInfo);
diff --git a/engines/wintermute/base/gfx/xmesh.h b/engines/wintermute/base/gfx/xmesh.h
index 48349e4d3cf..bf13eaa8847 100644
--- a/engines/wintermute/base/gfx/xmesh.h
+++ b/engines/wintermute/base/gfx/xmesh.h
@@ -51,7 +51,7 @@ public:
XMesh(BaseGame *inGame);
virtual ~XMesh();
- virtual bool loadFromXData(const Common::String &filename, XFileData *xobj, Common::Array<MaterialReference> &materialReferences);
+ virtual bool loadFromXData(const Common::String &filename, XFileData *xobj);
bool findBones(FrameNode *rootFrame);
virtual bool update(FrameNode *parentFrame);
virtual bool render(XModel *model) = 0;
diff --git a/engines/wintermute/base/gfx/xmodel.cpp b/engines/wintermute/base/gfx/xmodel.cpp
index 97bd1e7a41e..9ae10f78b2a 100644
--- a/engines/wintermute/base/gfx/xmodel.cpp
+++ b/engines/wintermute/base/gfx/xmodel.cpp
@@ -105,11 +105,6 @@ void XModel::cleanup(bool complete) {
}
_matSprites.clear();
- for (uint i = 0; i < _materialReferences.size(); ++i) {
- delete _materialReferences[i]._material;
- }
- _materialReferences.clear();
-
// remove root frame
delete _rootFrame;
_rootFrame = nullptr;
@@ -148,7 +143,7 @@ bool XModel::loadFromFile(const Common::String &filename, XModel *parentModel) {
if (!resLoop)
break;
- res = _rootFrame->loadFromXData(filename, this, &xobj, _materialReferences);
+ res = _rootFrame->loadFromXData(filename, this, &xobj);
if (!res) {
BaseEngine::LOG(0, "Error loading top level object from '%s'", filename.c_str());
break;
diff --git a/engines/wintermute/base/gfx/xmodel.h b/engines/wintermute/base/gfx/xmodel.h
index 71186f654b7..e442fecf6a5 100644
--- a/engines/wintermute/base/gfx/xmodel.h
+++ b/engines/wintermute/base/gfx/xmodel.h
@@ -48,11 +48,6 @@ class Material;
class ShadowVolume;
class XFileData;
-struct MaterialReference {
- Common::String _name;
- Material *_material;
-};
-
#define X_NUM_ANIMATION_CHANNELS 10
class XModel : public BaseObject {
@@ -200,8 +195,6 @@ private:
Math::Vector3d _BBoxStart;
Math::Vector3d _BBoxEnd;
- Common::Array<MaterialReference> _materialReferences;
-
protected:
BaseArray<const char*> _mergedModels;
AnimationChannel *_channels[X_NUM_ANIMATION_CHANNELS];
diff --git a/engines/wintermute/base/gfx/xskinmesh_loader.cpp b/engines/wintermute/base/gfx/xskinmesh_loader.cpp
index 24db01fe574..328fd34952e 100644
--- a/engines/wintermute/base/gfx/xskinmesh_loader.cpp
+++ b/engines/wintermute/base/gfx/xskinmesh_loader.cpp
@@ -56,7 +56,7 @@ XSkinMeshLoader::~XSkinMeshLoader() {
delete[] _vertexNormalData;
}
-void XSkinMeshLoader::loadMesh(const Common::String &filename, XFileData *xobj, Common::Array<MaterialReference> &materialReferences) {
+void XSkinMeshLoader::loadMesh(const Common::String &filename, XFileData *xobj) {
auto fvf = _dxmesh->getFVF();
uint32 vertexSize = DXGetFVFVertexSize(fvf) / sizeof(float);
float *vertexBuffer = (float *)_dxmesh->getVertexBuffer().ptr();
diff --git a/engines/wintermute/base/gfx/xskinmesh_loader.h b/engines/wintermute/base/gfx/xskinmesh_loader.h
index cc9530e9713..5257c0275a1 100644
--- a/engines/wintermute/base/gfx/xskinmesh_loader.h
+++ b/engines/wintermute/base/gfx/xskinmesh_loader.h
@@ -55,7 +55,7 @@ class XSkinMeshLoader {
public:
XSkinMeshLoader(XMesh *mesh, XMeshObject *meshObject, DXMesh *dxmesh, DXSkinInfo *skinInfo);
virtual ~XSkinMeshLoader();
- void loadMesh(const Common::String &filename, XFileData *xobj, Common::Array<MaterialReference> &materialReferences);
+ void loadMesh(const Common::String &filename, XFileData *xobj);
protected:
static const int kVertexComponentCount = 8;
More information about the Scummvm-git-logs
mailing list