aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2009-10-21 20:10:23 +0000
committerFilippos Karapetis2009-10-21 20:10:23 +0000
commit4f58d913093925b655d9e999210999dff512c1c1 (patch)
tree5a6d454b4d7cd0bfe6433bc261e05e16e3389fce /engines
parent033910c6af95e38bb6d70a38588ee47455672505 (diff)
downloadscummvm-rg350-4f58d913093925b655d9e999210999dff512c1c1.tar.gz
scummvm-rg350-4f58d913093925b655d9e999210999dff512c1c1.tar.bz2
scummvm-rg350-4f58d913093925b655d9e999210999dff512c1c1.zip
Fixed animations in LSL1VGA again
svn-id: r45312
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/gui/gui_animate.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/engines/sci/gui/gui_animate.cpp b/engines/sci/gui/gui_animate.cpp
index 23af6f5796..cf2472dfcf 100644
--- a/engines/sci/gui/gui_animate.cpp
+++ b/engines/sci/gui/gui_animate.cpp
@@ -70,9 +70,15 @@ bool SciGuiAnimate::invoke(List *list, int argc, reg_t *argv) {
// if we don't abort kAnimate processing, at least in kq5 there will be animation cels drawn into speech boxes.
reg_t global84 = _s->script_000->_localsBlock->_locals[84];
- if (!global84.isNull())
- if (!strcmp(_s->_segMan->getObjectName(global84), "fastCast"))
- return false;
+ if (!global84.isNull()) {
+ if (!strcmp(_s->_segMan->getObjectName(global84), "fastCast")) {
+ // Now at this point, we could safely assume that the we should abort... right? Wrong!
+ // LSL1VGA does use global variable 84, and it does point to the fastCast object. But
+ // it should not abort. Hooray for another game-specific workaround...
+ if (_s->_gameName != "lsl1sci")
+ return false;
+ }
+ }
signal = GET_SEL32V(segMan, curObject, signal);
if (!(signal & kSignalFrozen)) {