aboutsummaryrefslogtreecommitdiff
path: root/engines/wintermute/ad/ad_scene.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2014-02-11 19:08:16 +0200
committerFilippos Karapetis2014-02-11 19:09:39 +0200
commit867efd477c18294c13e58c84e067c4c540c6f8b5 (patch)
tree2c0248447e3799aa5e3c0e32f936f58314a26669 /engines/wintermute/ad/ad_scene.cpp
parentabcadb5d8728fdc18bf544d8b40418880fa1a145 (diff)
downloadscummvm-rg350-867efd477c18294c13e58c84e067c4c540c6f8b5.tar.gz
scummvm-rg350-867efd477c18294c13e58c84e067c4c540c6f8b5.tar.bz2
scummvm-rg350-867efd477c18294c13e58c84e067c4c540c6f8b5.zip
WINTERMUTE: Prevent scripts from setting invalid scroll times
Scroll times (ScrollSpeedX, ScrollSpeedY) can't be zero, as this leads to a division by zero later on. This allows Dreamscape to start and work properly.
Diffstat (limited to 'engines/wintermute/ad/ad_scene.cpp')
-rw-r--r--engines/wintermute/ad/ad_scene.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/wintermute/ad/ad_scene.cpp b/engines/wintermute/ad/ad_scene.cpp
index ab7ab51f30..df944ba8eb 100644
--- a/engines/wintermute/ad/ad_scene.cpp
+++ b/engines/wintermute/ad/ad_scene.cpp
@@ -2041,6 +2041,10 @@ bool AdScene::scSetProperty(const char *name, ScValue *value) {
//////////////////////////////////////////////////////////////////////////
else if (strcmp(name, "ScrollSpeedX") == 0) {
_scrollTimeH = value->getInt();
+ if (_scrollTimeH == 0) {
+ warning("_scrollTimeH can't be 0, resetting to default");
+ _scrollTimeH = 10;
+ }
return STATUS_OK;
}
@@ -2049,6 +2053,10 @@ bool AdScene::scSetProperty(const char *name, ScValue *value) {
//////////////////////////////////////////////////////////////////////////
else if (strcmp(name, "ScrollSpeedY") == 0) {
_scrollTimeV = value->getInt();
+ if (_scrollTimeV == 0) {
+ warning("_scrollTimeV can't be 0, resetting to default");
+ _scrollTimeV = 10;
+ }
return STATUS_OK;
}