aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/engine/kmovement.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/sci/engine/kmovement.cpp b/engines/sci/engine/kmovement.cpp
index f6e6790e66..9ff5b6e339 100644
--- a/engines/sci/engine/kmovement.cpp
+++ b/engines/sci/engine/kmovement.cpp
@@ -347,8 +347,13 @@ reg_t kDoBresen(EngineState *s, int argc, reg_t *argv) {
writeSelectorValue(segMan, client, SELECTOR(signal), (signal | kSignalHitObstacle));
debugC(2, kDebugLevelBresen, "Finished mover %04x:%04x by collision", PRINT_REG(mover));
- // we shall not set completed in this case, sierra sci also doesn't do it
+ // We shall not set completed in this case, sierra sci also doesn't do it
// if we set call .moveDone in those cases qfg1 vga gate at the castle and lsl1 casino door will not work
+ // Update: however, it seems that Hoyle 3 (full and demo) does need to end here.
+ // TODO/FIXME: Find out why Hoyle 3 needs this.
+ // The following fixes bugs #3035077, #3035080, #3035081 and #3035242
+ if (g_sci->getGameId() == GID_HOYLE3)
+ completed = 1;
}
if ((getSciVersion() >= SCI_VERSION_1_EGA))