diff options
author | Travis Howell | 2009-05-02 23:30:08 +0000 |
---|---|---|
committer | Travis Howell | 2009-05-02 23:30:08 +0000 |
commit | b73fb35203a2bf16f4fd356af53daa3bc847366f (patch) | |
tree | 1131cbdfa3033f80a0b6bc771db7585d3c34067d /engines/agos | |
parent | 656638f12a6f4f7378b1aa8c1ed91771f8ada816 (diff) | |
download | scummvm-rg350-b73fb35203a2bf16f4fd356af53daa3bc847366f.tar.gz scummvm-rg350-b73fb35203a2bf16f4fd356af53daa3bc847366f.tar.bz2 scummvm-rg350-b73fb35203a2bf16f4fd356af53daa3bc847366f.zip |
Add alternative work around for bug in The Feeble Files.
svn-id: r40248
Diffstat (limited to 'engines/agos')
-rw-r--r-- | engines/agos/script.cpp | 12 | ||||
-rw-r--r-- | engines/agos/vga_s2.cpp | 8 |
2 files changed, 11 insertions, 9 deletions
diff --git a/engines/agos/script.cpp b/engines/agos/script.cpp index 1e894474f7..802db3fdd9 100644 --- a/engines/agos/script.cpp +++ b/engines/agos/script.cpp @@ -248,7 +248,17 @@ void AGOSEngine::o_clear() { void AGOSEngine::o_let() { // 42: set var uint var = getVarWrapper(); - writeVariable(var, getVarOrWord()); + uint value = getVarOrWord(); + + if (getGameType() == GType_FF && _currentTable) { + // WORKAROUND: When the repair man comes to fix the car, the game doesn't + // wait long enough for the screen to completely scroll to the left side. + if (_currentTable->id == 20438 && var == 103 && value == 60) { + value = 71; + } + } + + writeVariable(var, value); } void AGOSEngine::o_add() { diff --git a/engines/agos/vga_s2.cpp b/engines/agos/vga_s2.cpp index 96d24620bb..28a383547f 100644 --- a/engines/agos/vga_s2.cpp +++ b/engines/agos/vga_s2.cpp @@ -52,14 +52,6 @@ void AGOSEngine_Simon2::setupVideoOpcodes(VgaOpcodeProc *op) { void AGOSEngine::vc56_delayLong() { uint16 num = vcReadVarOrWord() * _frameCount; - if (getGameType() == GType_FF && _currentTable) { - // WORKAROUND: When the repair man comes to fix the car, the game doesn't - // wait long enough for the screen to completely scroll to the left side. - if (_currentTable->id == 20438 && _vgaCurSpriteId == 13 && _vgaCurZoneNum == 2) { - num *= 2; - } - } - addVgaEvent(num + _vgaBaseDelay, ANIMATE_EVENT, _vcPtr, _vgaCurSpriteId, _vgaCurZoneNum); _vcPtr = (byte *)&_vcGetOutOfCode; } |