aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kmovement.cpp
diff options
context:
space:
mode:
authorMartin Kiewitz2010-07-29 22:04:23 +0000
committerMartin Kiewitz2010-07-29 22:04:23 +0000
commitdf9f4b5bfeee75319440cab3b2cd54a6ed1ef8f8 (patch)
tree1a05c3e928b3bfeac603ec9be81fe5b5c4d3e8df /engines/sci/engine/kmovement.cpp
parent4101d4095716fee32ff1f3a4583d4b17eb7bab2f (diff)
downloadscummvm-rg350-df9f4b5bfeee75319440cab3b2cd54a6ed1ef8f8.tar.gz
scummvm-rg350-df9f4b5bfeee75319440cab3b2cd54a6ed1ef8f8.tar.bz2
scummvm-rg350-df9f4b5bfeee75319440cab3b2cd54a6ed1ef8f8.zip
SCI: reverting r51479 and adding TODOs for fixing the hoyle issue (fixing this properly should make credits etc. appear and solve all the other issues that clone submitted)
svn-id: r51484
Diffstat (limited to 'engines/sci/engine/kmovement.cpp')
-rw-r--r--engines/sci/engine/kmovement.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/engines/sci/engine/kmovement.cpp b/engines/sci/engine/kmovement.cpp
index 9ff5b6e339..95654ce90f 100644
--- a/engines/sci/engine/kmovement.cpp
+++ b/engines/sci/engine/kmovement.cpp
@@ -328,6 +328,8 @@ reg_t kDoBresen(EngineState *s, int argc, reg_t *argv) {
bool collision = false;
reg_t cantBeHere = NULL_REG;
+ // FIXME here -> cantBeHere detection doesn't work in hoyle 3
+ // it's using kCanBeHere but it just has a selector called cantBeHere, so this here doesn't work
if (SELECTOR(cantBeHere) != -1) {
invokeSelector(s, client, SELECTOR(cantBeHere), argc, argv);
if (!s->r_acc.isNull())
@@ -349,17 +351,14 @@ reg_t kDoBresen(EngineState *s, int argc, reg_t *argv) {
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
// 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))
if (completed)
invokeSelector(s, mover, SELECTOR(moveDone), argc, argv);
+ // FIXME here -> cantBeHere detection doesn't work in hoyle 3
+ // it's using kCanBeHere but it just has a selector called cantBeHere, so this here doesn't work
if (SELECTOR(cantBeHere) != -1)
return cantBeHere;
return make_reg(0, completed);