[Scummvm-git-logs] scummvm master -> 1c13b1a0eeb986c58c4393ec4190a1d2c103a2fb

aquadran noreply at scummvm.org
Sat Jul 2 21:03:04 UTC 2022


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:
1c13b1a0ee WINTERMUTE: WME3D: Restore 'renderModel' method


Commit: 1c13b1a0eeb986c58c4393ec4190a1d2c103a2fb
    https://github.com/scummvm/scummvm/commit/1c13b1a0eeb986c58c4393ec4190a1d2c103a2fb
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2022-07-02T23:03:00+02:00

Commit Message:
WINTERMUTE: WME3D: Restore 'renderModel' method

Changed paths:
    engines/wintermute/ad/ad_actor_3dx.h
    engines/wintermute/base/base_object.cpp
    engines/wintermute/base/base_object.h


diff --git a/engines/wintermute/ad/ad_actor_3dx.h b/engines/wintermute/ad/ad_actor_3dx.h
index a2716a0a09e..63c09d57e63 100644
--- a/engines/wintermute/ad/ad_actor_3dx.h
+++ b/engines/wintermute/ad/ad_actor_3dx.h
@@ -59,7 +59,7 @@ public:
 	uint32 getAnimTransitionTime(char *from, char *to) override;
 	BaseArray<BaseAnimationTransitionTime *> _transitionTimes;
 
-	virtual bool renderModel();
+	virtual bool renderModel() override;
 
 	uint32 _defaultTransTime;
 	uint32 _defaultStopTransTime;
diff --git a/engines/wintermute/base/base_object.cpp b/engines/wintermute/base/base_object.cpp
index 10cd3aed088..aa6aa3234ce 100644
--- a/engines/wintermute/base/base_object.cpp
+++ b/engines/wintermute/base/base_object.cpp
@@ -39,6 +39,7 @@
 #include "engines/wintermute/base/base_engine.h"
 #include "engines/wintermute/base/base_surface_storage.h"
 #include "engines/wintermute/base/gfx/base_surface.h"
+#include "engines/wintermute/base/gfx/base_renderer3d.h"
 #include "engines/wintermute/base/gfx/x/modelx.h"
 #include "engines/wintermute/wintermute.h"
 #endif
@@ -1391,6 +1392,19 @@ bool BaseObject::getMatrix(Math::Matrix4 *modelMatrix, Math::Vector3d *posVect)
 	*modelMatrix = translation * rotation * scale;
 	return true;
 }
+
+//////////////////////////////////////////////////////////////////////////
+bool BaseObject::renderModel() {
+	Math::Matrix4 objectMat;
+	getMatrix(&objectMat);
+
+	_gameRef->_renderer3D->setWorldTransform(objectMat);
+
+	if (_modelX)
+		return _modelX->render();
+	else
+		return false;
+}
 #endif
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/base_object.h b/engines/wintermute/base/base_object.h
index 9639c0d7e07..6c1160a60b3 100644
--- a/engines/wintermute/base/base_object.h
+++ b/engines/wintermute/base/base_object.h
@@ -87,6 +87,9 @@ protected:
 	char *_soundEvent;
 public:
 	Graphics::TSpriteBlendMode _blendMode;
+#ifdef ENABLE_WME3D
+	virtual bool renderModel();
+#endif
 	virtual bool afterMove();
 	float _scale;
 	uint32 _alphaColor;




More information about the Scummvm-git-logs mailing list