aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/script.cpp
diff options
context:
space:
mode:
authorTravis Howell2007-05-13 08:46:48 +0000
committerTravis Howell2007-05-13 08:46:48 +0000
commitb6672f37a97f30298e51b1d4574eeb75a31da1a6 (patch)
tree67e64d391ee29aabbb8ce92fe8d91b120043b375 /engines/agos/script.cpp
parentaa89759a5521bc58cad5375865e0650bced30daf (diff)
downloadscummvm-rg350-b6672f37a97f30298e51b1d4574eeb75a31da1a6.tar.gz
scummvm-rg350-b6672f37a97f30298e51b1d4574eeb75a31da1a6.tar.bz2
scummvm-rg350-b6672f37a97f30298e51b1d4574eeb75a31da1a6.zip
Fix bugs #941074 and #828860, by switching to graphics renderer code used by earlier (non-Windows) versions of Simon the Sorcerer 1/2.
svn-id: r26825
Diffstat (limited to 'engines/agos/script.cpp')
-rw-r--r--engines/agos/script.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/engines/agos/script.cpp b/engines/agos/script.cpp
index ecc43038c1..9961a3ff0b 100644
--- a/engines/agos/script.cpp
+++ b/engines/agos/script.cpp
@@ -447,6 +447,18 @@ void AGOSEngine::o_comment() {
void AGOSEngine::o_haltAnimation() {
// 88: stop animation
_lockWord |= 0x10;
+
+ if (getGameType() == GType_SIMON1 || getGameType() == GType_SIMON2) {
+ VgaTimerEntry *vte = _vgaTimerList;
+ while (vte->delay) {
+ if (vte->type == 0)
+ vte->delay += 10;
+ vte++;
+ }
+
+ _scrollCount = 0;
+ _scrollFlag = 0;
+ }
}
void AGOSEngine::o_restartAnimation() {
@@ -511,6 +523,13 @@ void AGOSEngine::o_loadZone() {
}
loadZone(vga_res);
+
+ if (getGameType() == GType_ELVIRA1 || getGameType() == GType_ELVIRA2 ||
+ getGameType() == GType_WW) {
+ _copyScnFlag = 0;
+ _vgaSpriteChanged = 0;
+ }
+
_lockWord &= ~0x80;
}