From 867efd477c18294c13e58c84e067c4c540c6f8b5 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Tue, 11 Feb 2014 19:08:16 +0200 Subject: 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. --- engines/wintermute/ad/ad_scene.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'engines/wintermute/ad/ad_scene.cpp') 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; } -- cgit v1.2.3