[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