aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm
diff options
context:
space:
mode:
authorGregory Montoir2006-02-27 21:55:18 +0000
committerGregory Montoir2006-02-27 21:55:18 +0000
commit0f5ef6f5b1a87003c819f480933d07a15e38d79b (patch)
treee0c2e15cd4fa92024f20c299d8fc82332ba5925c /engines/scumm
parent9c807704118a8e48d7874847d61aaf123e1deb96 (diff)
downloadscummvm-rg350-0f5ef6f5b1a87003c819f480933d07a15e38d79b.tar.gz
scummvm-rg350-0f5ef6f5b1a87003c819f480933d07a15e38d79b.tar.bz2
scummvm-rg350-0f5ef6f5b1a87003c819f480933d07a15e38d79b.zip
Get rid of the SO_WAIT_FOR_TURN hack for TheDig as the original interpreter didn't do anything special here. This will probably trigger some 'invalid actor' errors, but those are most likely caused by scripting mistakes... which should be worked around separately.
svn-id: r20958
Diffstat (limited to 'engines/scumm')
-rw-r--r--engines/scumm/script_v6.cpp13
1 files changed, 0 insertions, 13 deletions
diff --git a/engines/scumm/script_v6.cpp b/engines/scumm/script_v6.cpp
index 538a4f5285..e1f39635f0 100644
--- a/engines/scumm/script_v6.cpp
+++ b/engines/scumm/script_v6.cpp
@@ -2231,21 +2231,8 @@ void ScummEngine_v6::o6_wait() {
break;
return;
case 232: // SO_WAIT_FOR_TURN
- // FIXME: This opcode is really odd. It's used a lot in The Dig.
- // But sometimes it receives the actor ID as params, and sometimes an
- // angle. However in (almost?) all cases, just before calling it, _curActor
- // is set, so we can use it. I tried to add code that detects if an angle
- // is passed, and if so, wait till that angle is reached, but that leads to hangs.
- // It would be very good if somebody could disassmble the original code
- // for this opcode so that we could figure out what's really going on here.
- //
- // For now, if the value passed in is divisible by 45, assume it is an
- // angle, and use _curActor as the actor to wait for.
offs = fetchScriptWordSigned();
actnum = pop();
- if (actnum % 45 == 0) {
- actnum = _curActor;
- }
a = derefActor(actnum, "o6_wait:232b");
if (a->isInCurrentRoom() && a->_moving & MF_TURN)
break;