aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudvig Strigeus2001-11-09 22:43:56 +0000
committerLudvig Strigeus2001-11-09 22:43:56 +0000
commit67eec161ea70a421b7c7448ed40583e26d4f527d (patch)
tree20725b5aed262f7bbaecca4122c1a4c1c0f7c3c3
parented84e102f7be81a55a046c4032c0296ec277b1d4 (diff)
downloadscummvm-rg350-67eec161ea70a421b7c7448ed40583e26d4f527d.tar.gz
scummvm-rg350-67eec161ea70a421b7c7448ed40583e26d4f527d.tar.bz2
scummvm-rg350-67eec161ea70a421b7c7448ed40583e26d4f527d.zip
indy4 walkaround
svn-id: r3480
-rw-r--r--script_v1.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/script_v1.cpp b/script_v1.cpp
index 786bdab7d1..a88672230e 100644
--- a/script_v1.cpp
+++ b/script_v1.cpp
@@ -1842,6 +1842,7 @@ void Scumm::o5_walkActorTo() {
void Scumm::o5_walkActorToActor() {
int b,x,y;
Actor *a, *a2;
+ int nr;
a = derefActorSafe(getVarOrDirectByte(0x80), "o5_walkActorToActor");
if (a->room != _currentRoom) {
@@ -1850,7 +1851,14 @@ void Scumm::o5_walkActorToActor() {
return;
}
- a2 = derefActorSafe(getVarOrDirectByte(0x40), "o5_walkActorToActor(2)");
+ nr = getVarOrDirectByte(0x40);
+ if (nr==106 && _gameId==GID_INDY4) {
+ warning("Bypassing Indy4 bug");
+ fetchScriptByte();
+ return;
+ }
+
+ a2 = derefActorSafe(nr, "o5_walkActorToActor(2)");
if (a2->room != _currentRoom) {
fetchScriptByte();
return;