[Scummvm-git-logs] scummvm master -> 6946bf2a0d635748180e719f088fa8225c24d3d5

aquadran noreply at scummvm.org
Sat Jun 25 22:17:16 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:
6946bf2a0d WINTERMUTE: WME3D: Moved code to match original


Commit: 6946bf2a0d635748180e719f088fa8225c24d3d5
    https://github.com/scummvm/scummvm/commit/6946bf2a0d635748180e719f088fa8225c24d3d5
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2022-06-26T00:17:11+02:00

Commit Message:
WINTERMUTE: WME3D: Moved code to match original

Changed paths:
    engines/wintermute/ad/ad_scene.cpp
    engines/wintermute/ad/ad_scene.h
    engines/wintermute/base/base_game.cpp
    engines/wintermute/base/base_game.h


diff --git a/engines/wintermute/ad/ad_scene.cpp b/engines/wintermute/ad/ad_scene.cpp
index 9996bd73f8d..f721a5c101e 100644
--- a/engines/wintermute/ad/ad_scene.cpp
+++ b/engines/wintermute/ad/ad_scene.cpp
@@ -827,39 +827,6 @@ bool AdScene::loadBuffer(char *buffer, bool complete) {
 				delete _sceneGeometry;
 				cmd = PARSERR_GENERIC;
 			}
-
-			break;
-
-		case TOKEN_WAYPOINT_HEIGHT:
-			parser.scanStr(params, "%f", &_waypointHeight);
-			break;
-
-		case TOKEN_FOV_OVERRIDE:
-			parser.scanStr(params, "%f", &_fov);
-			break;
-
-		case TOKEN_NEAR_CLIPPING_PLANE:
-			parser.scanStr(params, "%f", &_nearPlane);
-			break;
-
-		case TOKEN_FAR_CLIPPING_PLANE:
-			parser.scanStr(params, "%f", &_farPlane);
-			break;
-
-		case TOKEN_MAX_SHADOW_TYPE: {
-			int maxShadowType = SHADOW_NONE;
-			parser.scanStr(params, "%d", &maxShadowType);
-			setMaxShadowType(static_cast<TShadowType>(maxShadowType));
-		}
-		break;
-
-		case TOKEN_AMBIENT_LIGHT_COLOR:
-			parser.scanStr(params, "%d,%d,%d", &ar, &ag, &ab);
-			_ambientLightColor = BYTETORGBA(ar, ag, ab, 255);
-			break;
-
-		case TOKEN_2D_PATHFINDING:
-			parser.scanStr(params, "%b", &_2DPathfinding);
 			break;
 #endif
 
@@ -987,6 +954,40 @@ bool AdScene::loadBuffer(char *buffer, bool complete) {
 			parseEditorProperty(params, false);
 			break;
 
+#ifdef ENABLE_WME3D
+		case TOKEN_FOV_OVERRIDE:
+			parser.scanStr(params, "%f", &_fov);
+			break;
+
+		case TOKEN_WAYPOINT_HEIGHT:
+			parser.scanStr(params, "%f", &_waypointHeight);
+			break;
+
+		case TOKEN_NEAR_CLIPPING_PLANE:
+			parser.scanStr(params, "%f", &_nearPlane);
+			break;
+
+		case TOKEN_FAR_CLIPPING_PLANE:
+			parser.scanStr(params, "%f", &_farPlane);
+			break;
+
+		case TOKEN_2D_PATHFINDING:
+			parser.scanStr(params, "%b", &_2DPathfinding);
+			break;
+
+		case TOKEN_MAX_SHADOW_TYPE: {
+			int maxShadowType = SHADOW_NONE;
+			parser.scanStr(params, "%d", &maxShadowType);
+			setMaxShadowType(static_cast<TShadowType>(maxShadowType));
+		}
+		break;
+
+		case TOKEN_AMBIENT_LIGHT_COLOR:
+			parser.scanStr(params, "%d,%d,%d", &ar, &ag, &ab);
+			_ambientLightColor = BYTETORGBA(ar, ag, ab, 255);
+			break;
+#endif
+
 		default:
 			break;
 		}
@@ -2488,6 +2489,18 @@ ScValue *AdScene::scGetProperty(const Common::String &name) {
 		return _scValue;
 	}
 
+	//////////////////////////////////////////////////////////////////////////
+	// Height (RO)
+	//////////////////////////////////////////////////////////////////////////
+	else if (name == "Height") {
+		if (_mainLayer) {
+			_scValue->setInt(_mainLayer->_height);
+		} else {
+			_scValue->setInt(0);
+		}
+		return _scValue;
+	}
+
 #ifdef ENABLE_WME3D
 	//////////////////////////////////////////////////////////////////////////
 	// MaxShadowType
@@ -2519,17 +2532,7 @@ ScValue *AdScene::scGetProperty(const Common::String &name) {
 	}
 #endif
 
-	//////////////////////////////////////////////////////////////////////////
-	// Height (RO)
-	//////////////////////////////////////////////////////////////////////////
-	else if (name == "Height") {
-		if (_mainLayer) {
-			_scValue->setInt(_mainLayer->_height);
-		} else {
-			_scValue->setInt(0);
-		}
-		return _scValue;
-	} else {
+	else {
 		return BaseObject::scGetProperty(name);
 	}
 }
diff --git a/engines/wintermute/ad/ad_scene.h b/engines/wintermute/ad/ad_scene.h
index a7fea5a042e..3a5163f8438 100644
--- a/engines/wintermute/ad/ad_scene.h
+++ b/engines/wintermute/ad/ad_scene.h
@@ -105,6 +105,10 @@ public:
 	bool sortScaleLevels();
 	bool sortRotLevels();
 	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+#ifdef ENABLE_WME3D
+	AdSceneGeometry *_sceneGeometry;
+	bool _showGeometry;
+#endif
 	uint32 getAlphaAt(int x, int y, bool colorCheck = false);
 	bool _paralaxScrolling;
 	void skipTo(int offsetX, int offsetY);
@@ -140,10 +144,6 @@ public:
 	BaseArray<AdLayer *> _layers;
 	BaseArray<AdObject *> _objects;
 	BaseArray<AdWaypointGroup *> _waypointGroups;
-#ifdef ENABLE_WME3D
-	AdSceneGeometry* _sceneGeometry;
-	bool _showGeometry;
-#endif
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
 	int32 _width;
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp
index 45b5c745190..542ab7e7244 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -2627,58 +2627,6 @@ ScValue *BaseGame::scGetProperty(const Common::String &name) {
 		_scValue->setInt(_maxShadowType);
 		return _scValue;
 	}
-
-	//////////////////////////////////////////////////////////////////////////
-	// MaxActiveLights
-	//////////////////////////////////////////////////////////////////////////
-	else if (name == "MaxActiveLights") {
-		if (_useD3D) {
-			_scValue->setInt(_renderer3D->maximumLightsCount());
-		} else {
-			_scValue->setInt(0);
-		}
-
-		return _scValue;
-	}
-
-	//////////////////////////////////////////////////////////////////////////
-	// Direct3DDevice
-	//////////////////////////////////////////////////////////////////////////
-	else if (name == "Direct3DDevice") {
-		warning("BaseGame::scGetProperty Direct3D device is not available");
-		_scValue->setNULL();
-
-		return _scValue;
-	}
-
-	//////////////////////////////////////////////////////////////////////////
-	// DirectDrawInterface
-	//////////////////////////////////////////////////////////////////////////
-	else if (name == "DirectDrawInterface") {
-		warning("BaseGame::scGetProperty DirectDraw interface is not available");
-		_scValue->setNULL();
-
-		return _scValue;
-	}
-
-	//////////////////////////////////////////////////////////////////////////
-	// HardwareTL
-	//////////////////////////////////////////////////////////////////////////
-	else if (name == "HardwareTL") {
-		// TODO: Once we have a TinyGL renderer, we could potentially return false here
-		// otherwise, as long as WME3D is enabled, vertex processing is done by the hardware
-		_scValue->setBool(true);
-		return _scValue;
-	}
-
-	//////////////////////////////////////////////////////////////////////////
-	// UsedMemory
-	//////////////////////////////////////////////////////////////////////////
-	else if (name == "UsedMemory") {
-		// wme only returns a non-zero value in debug mode
-		_scValue->setInt(0);
-		return _scValue;
-	}
 #endif
 
 	//////////////////////////////////////////////////////////////////////////
@@ -2738,6 +2686,28 @@ ScValue *BaseGame::scGetProperty(const Common::String &name) {
 		return _scValue;
 	}
 
+#ifdef ENABLE_WME3D
+	//////////////////////////////////////////////////////////////////////////
+	// Direct3DDevice
+	//////////////////////////////////////////////////////////////////////////
+	else if (name == "Direct3DDevice") {
+		warning("BaseGame::scGetProperty Direct3D device is not available");
+		_scValue->setNULL();
+
+		return _scValue;
+	}
+
+	//////////////////////////////////////////////////////////////////////////
+	// DirectDrawInterface
+	//////////////////////////////////////////////////////////////////////////
+	else if (name == "DirectDrawInterface") {
+		warning("BaseGame::scGetProperty DirectDraw interface is not available");
+		_scValue->setNULL();
+
+		return _scValue;
+	}
+#endif
+
 	//////////////////////////////////////////////////////////////////////////
 	// AccTTSEnabled
 	//////////////////////////////////////////////////////////////////////////
@@ -2794,6 +2764,40 @@ ScValue *BaseGame::scGetProperty(const Common::String &name) {
 		return _scValue;
 	}
 
+#ifdef ENABLE_WME3D
+	//////////////////////////////////////////////////////////////////////////
+	// UsedMemory
+	//////////////////////////////////////////////////////////////////////////
+	else if (name == "UsedMemory") {
+		// wme only returns a non-zero value in debug mode
+		_scValue->setInt(0);
+		return _scValue;
+	}
+
+	//////////////////////////////////////////////////////////////////////////
+	// MaxActiveLights
+	//////////////////////////////////////////////////////////////////////////
+	else if (name == "MaxActiveLights") {
+		if (_useD3D) {
+			_scValue->setInt(_renderer3D->maximumLightsCount());
+		} else {
+			_scValue->setInt(0);
+		}
+
+		return _scValue;
+	}
+
+	//////////////////////////////////////////////////////////////////////////
+	// HardwareTL
+	//////////////////////////////////////////////////////////////////////////
+	else if (name == "HardwareTL") {
+		// TODO: Once we have a TinyGL renderer, we could potentially return false here
+		// otherwise, as long as WME3D is enabled, vertex processing is done by the hardware
+		_scValue->setBool(true);
+		return _scValue;
+	}
+#endif
+
 	//////////////////////////////////////////////////////////////////////////
 	// AutorunDisabled
 	//////////////////////////////////////////////////////////////////////////
diff --git a/engines/wintermute/base/base_game.h b/engines/wintermute/base/base_game.h
index a24b49444fe..f25db55aa8d 100644
--- a/engines/wintermute/base/base_game.h
+++ b/engines/wintermute/base/base_game.h
@@ -76,6 +76,11 @@ class BaseGame: public BaseObject {
 public:
 	DECLARE_PERSISTENT(BaseGame, BaseObject)
 
+#ifdef ENABLE_WME3D
+	virtual uint32 getAmbientLightColor();
+	virtual bool getFogParams(FogParameters &fogParameters);
+#endif
+
 	virtual bool onScriptShutdown(ScScript *script);
 
 	virtual bool onActivate(bool activate, bool refreshMouse);
@@ -119,6 +124,14 @@ public:
 	void DEBUG_DumpClassRegistry();
 	bool setWaitCursor(const char *filename);
 
+#ifdef ENABLE_WME3D
+	bool _supportsRealTimeShadows;
+	TShadowType _maxShadowType;
+
+	bool setMaxShadowType(TShadowType maxShadowType);
+	virtual TShadowType getMaxShadowType(BaseObject *object = nullptr);
+#endif
+
 	uint32 getSaveThumbWidth() const { return _thumbnailWidth; }
 	uint32 getSaveThumbHeight() const { return _thumbnailHeight; }
 
@@ -161,17 +174,8 @@ public:
 #ifdef ENABLE_WME3D
 	BaseRenderer3D *_renderer3D;
 	bool _playing3DGame;
-
-	bool _supportsRealTimeShadows;
-	TShadowType _maxShadowType;
-
-	bool setMaxShadowType(TShadowType maxShadowType);
-	virtual TShadowType getMaxShadowType(BaseObject *object);
-
-	virtual uint32 getAmbientLightColor();
-
-	virtual bool getFogParams(FogParameters &fogParameters);
 #endif
+
 	BaseSoundMgr *_soundMgr;
 #if EXTENDED_DEBUGGER_ENABLED
 	DebuggableScEngine *_scEngine;




More information about the Scummvm-git-logs mailing list