diff options
author | Travis Howell | 2007-05-13 08:46:48 +0000 |
---|---|---|
committer | Travis Howell | 2007-05-13 08:46:48 +0000 |
commit | b6672f37a97f30298e51b1d4574eeb75a31da1a6 (patch) | |
tree | 67e64d391ee29aabbb8ce92fe8d91b120043b375 /engines/agos/script.cpp | |
parent | aa89759a5521bc58cad5375865e0650bced30daf (diff) | |
download | scummvm-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.cpp | 19 |
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; } |