mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-14 22:07:50 +00:00
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
This commit is contained in:
parent
1d47bfa7cd
commit
5d3bef9c57
@ -1235,6 +1235,23 @@ void Scumm::startScene(int room, Actor * a, int objectNr) {
|
|||||||
a->moving = 0;
|
a->moving = 0;
|
||||||
}
|
}
|
||||||
} else {
|
} 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) {
|
if (camera._follows) {
|
||||||
a = derefActor(camera._follows, "startScene: follows");
|
a = derefActor(camera._follows, "startScene: follows");
|
||||||
setCameraAt(a->x, a->y);
|
setCameraAt(a->x, a->y);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user