diff options
author | Filippos Karapetis | 2014-02-11 19:08:16 +0200 |
---|---|---|
committer | Filippos Karapetis | 2014-02-11 19:09:39 +0200 |
commit | 867efd477c18294c13e58c84e067c4c540c6f8b5 (patch) | |
tree | 2c0248447e3799aa5e3c0e32f936f58314a26669 /engines | |
parent | abcadb5d8728fdc18bf544d8b40418880fa1a145 (diff) | |
download | scummvm-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')
-rw-r--r-- | engines/wintermute/ad/ad_scene.cpp | 8 |
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; } |