diff options
-rw-r--r-- | engines/sci/engine/kmovement.cpp | 7 |
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)) |