aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2007-05-06 14:57:35 +0000
committerFilippos Karapetis2007-05-06 14:57:35 +0000
commitae3e16c970c04cec5b60b691d5008166a8835f46 (patch)
treee9eb7abdbd9648ca89b3fa34c11f4537561e45e4
parentc892c768a45bd8281688149109cadbc7b80d1b98 (diff)
downloadscummvm-rg350-ae3e16c970c04cec5b60b691d5008166a8835f46.tar.gz
scummvm-rg350-ae3e16c970c04cec5b60b691d5008166a8835f46.tar.bz2
scummvm-rg350-ae3e16c970c04cec5b60b691d5008166a8835f46.zip
Changed a workaround made for Space Trek to apply to all AGI fanmade games. The original workaround was inactive for Space Trek in ScummVM, but was activated for some older AGI games, which was not its original purpose. If this causes regressions with other fanmade games, it'd be best to limit it to Space Trek only
svn-id: r26766
-rw-r--r--engines/agi/op_cmd.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/engines/agi/op_cmd.cpp b/engines/agi/op_cmd.cpp
index 9f196ffdfb..a57238c198 100644
--- a/engines/agi/op_cmd.cpp
+++ b/engines/agi/op_cmd.cpp
@@ -670,7 +670,18 @@ cmd(draw) {
g_sprites->eraseUpdSprites();
vt.flags |= DRAWN;
- if (g_agi->agiGetRelease() <= 0x2440) /* See bug #546562 */
+ // WORKAROUND: This fixes a bug with AGI Fanmade game Space Trek.
+ // The original workaround checked if AGI version was <= 2.440, which could
+ // cause regressions with some AGI games. The original workaround no longer
+ // works for Space Trek in ScummVM, as all fanmade games are set to use
+ // AGI version 2.917, but it applies to all other games where AGI version is
+ // <= 2.440, which was not the original purpose of this workaround. It is
+ // assumed that this bug is caused by AGI Studio, so this applies to all
+ // fanmade games only.
+ // TODO: Investigate this further and check if any other fanmade AGI
+ // games are affected. If yes, then it'd be best to set this for Space
+ // Trek only
+ if (g_agi->getFeatures() & GF_FANMADE) /* See Sarien bug #546562 */
vt.flags |= ANIMATED;
g_sprites->blitUpdSprites();