[Scummvm-git-logs] scummvm master -> 2244b8c30a66faad853c6dd977948a4bb4947b29
aquadran
noreply at scummvm.org
Sat Aug 16 11:11:23 UTC 2025
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
2244b8c30a WINTERMUTE: Small code sync with original
Commit: 2244b8c30a66faad853c6dd977948a4bb4947b29
https://github.com/scummvm/scummvm/commit/2244b8c30a66faad853c6dd977948a4bb4947b29
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2025-08-16T13:11:17+02:00
Commit Message:
WINTERMUTE: Small code sync with original
Changed paths:
engines/wintermute/ad/ad_layer.cpp
engines/wintermute/ad/ad_scene.cpp
engines/wintermute/ad/ad_scene.h
diff --git a/engines/wintermute/ad/ad_layer.cpp b/engines/wintermute/ad/ad_layer.cpp
index 982baa077a2..b1f400f9dff 100644
--- a/engines/wintermute/ad/ad_layer.cpp
+++ b/engines/wintermute/ad/ad_layer.cpp
@@ -27,6 +27,8 @@
#include "engines/wintermute/base/base_game.h"
#include "engines/wintermute/ad/ad_layer.h"
+#include "engines/wintermute/ad/ad_game.h"
+#include "engines/wintermute/ad/ad_scene.h"
#include "engines/wintermute/ad/ad_scene_node.h"
#include "engines/wintermute/base/base_dynamic_buffer.h"
#include "engines/wintermute/base/base_file_manager.h"
@@ -463,6 +465,7 @@ bool AdLayer::scSetProperty(const char *name, ScValue *value) {
if (_width < 0) {
_width = 0;
}
+ ((AdGame *)_gameRef)->_scene->onLayerResized(this);
return STATUS_OK;
}
@@ -474,6 +477,7 @@ bool AdLayer::scSetProperty(const char *name, ScValue *value) {
if (_height < 0) {
_height = 0;
}
+ ((AdGame *)_gameRef)->_scene->onLayerResized(this);
return STATUS_OK;
}
diff --git a/engines/wintermute/ad/ad_scene.cpp b/engines/wintermute/ad/ad_scene.cpp
index 2f90c96d261..37c4369cdde 100644
--- a/engines/wintermute/ad/ad_scene.cpp
+++ b/engines/wintermute/ad/ad_scene.cpp
@@ -359,7 +359,7 @@ uint32 AdScene::getAlphaAt(int x, int y, bool colorCheck) {
}
if (_mainLayer) {
- for (int32 i = (int32)_mainLayer->_nodes.getSize() - 1; i >= 0; i--) {
+ for (int32 i = _mainLayer->_nodes.getSize() - 1; i >= 0; i--) {
AdSceneNode *node = _mainLayer->_nodes[i];
if (node->_type == OBJECT_REGION && node->_region->_active && (colorCheck || !node->_region->_blocked) && node->_region->pointInRegion(x, y)) {
if (!node->_region->_blocked) {
@@ -1237,6 +1237,7 @@ bool AdScene::traverseNodes(bool doUpdate) {
_gameRef->_renderer->setup2D();
}
+ // only display 3D if geometry is set
if (!node->_entity->_is3D || _geom) {
if (doUpdate) {
node->_entity->update();
@@ -3752,7 +3753,7 @@ bool AdScene::getRegionObjects(AdRegion *region, BaseArray<AdObject *> &objects,
#ifdef ENABLE_WME3D
//////////////////////////////////////////////////////////////////////////
-void Wintermute::AdScene::setMaxShadowType(Wintermute::TShadowType shadowType) {
+void AdScene::setMaxShadowType(Wintermute::TShadowType shadowType) {
if (shadowType > SHADOW_STENCIL) {
shadowType = SHADOW_STENCIL;
}
@@ -3765,6 +3766,14 @@ void Wintermute::AdScene::setMaxShadowType(Wintermute::TShadowType shadowType) {
}
#endif
+//////////////////////////////////////////////////////////////////////////
+void AdScene::onLayerResized(AdLayer *layer) {
+ if (layer != nullptr && layer == _mainLayer) {
+ _width = layer->_width;
+ _height = layer->_height;
+ }
+}
+
Common::String AdScene::debuggerToString() const {
return Common::String::format("%p: Scene \"%s\", paralax: %d, autoscroll: %d", (const void *)this, _name, _paralaxScrolling, _autoScroll);
}
diff --git a/engines/wintermute/ad/ad_scene.h b/engines/wintermute/ad/ad_scene.h
index 98d443a4c1c..02b76985224 100644
--- a/engines/wintermute/ad/ad_scene.h
+++ b/engines/wintermute/ad/ad_scene.h
@@ -187,6 +187,8 @@ public:
bool restoreDeviceObjects() override;
int getPointsDist(const BasePoint &p1, const BasePoint &p2, BaseObject *requester = nullptr);
+ void onLayerResized(AdLayer *layer);
+
// scripting interface
ScValue *scGetProperty(const Common::String &name) override;
bool scSetProperty(const char *name, ScValue *value) override;
More information about the Scummvm-git-logs
mailing list