diff options
author | Max Horn | 2003-05-31 17:58:15 +0000 |
---|---|---|
committer | Max Horn | 2003-05-31 17:58:15 +0000 |
commit | 5d3bef9c57ea4a56e6df42121b1ae52a94531420 (patch) | |
tree | 8cba602380fa0aa06cfca550f7a81fa320f2cabe | |
parent | 1d47bfa7cdaf8355a3b51d31654e4f622c6cdfa9 (diff) | |
download | scummvm-rg350-5d3bef9c57ea4a56e6df42121b1ae52a94531420.tar.gz scummvm-rg350-5d3bef9c57ea4a56e6df42121b1ae52a94531420.tar.bz2 scummvm-rg350-5d3bef9c57ea4a56e6df42121b1ae52a94531420.zip |
added hack to make The Dig work again, tbus might break all sorts of other things (though I don't really see how, but that won't stop the bugs :-)
svn-id: r8189
-rw-r--r-- | scumm/scummvm.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp index e2a249db92..e5031a118e 100644 --- a/scumm/scummvm.cpp +++ b/scumm/scummvm.cpp @@ -1235,6 +1235,23 @@ void Scumm::startScene(int room, Actor * a, int objectNr) { a->moving = 0; } } else { + if (a) { + // FIXME: This hack mostly is there to fix the tomb/statue room + // in The Dig. What happens there is that when you enter, you are + // placed at object 399, coords (307,141), which is in box 25. + // But then the entry script locks that and other boxes. Hence + // after the entry script runs, you basically can only do one thing + // in that room, and that is to leave it - which means the game + // is unfinishable. + // By calling adjustActorPos, we can solve the problem in this case: + // there is a very close box (box 12) which contains point (307,144). + // If we call adjustActorPos, Commander Low is moved into that box, + // and we can go on. But aqudran looked this up in his IMB DB for + // The DIG; and nothing like this is done there. Also I am pretty + // sure this used to work in 0.3.1. So apparently something broke + // down here, and I have no clue what that might be :-/ + a-> adjustActorPos(); + } if (camera._follows) { a = derefActor(camera._follows, "startScene: follows"); setCameraAt(a->x, a->y); |