[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