diff options
Diffstat (limited to 'engines/pegasus/neighborhood/mars/mars.cpp')
-rw-r--r-- | engines/pegasus/neighborhood/mars/mars.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/engines/pegasus/neighborhood/mars/mars.cpp b/engines/pegasus/neighborhood/mars/mars.cpp index 34c9e3d0f8..aa7ccd596c 100644 --- a/engines/pegasus/neighborhood/mars/mars.cpp +++ b/engines/pegasus/neighborhood/mars/mars.cpp @@ -1035,7 +1035,6 @@ void Mars::checkContinuePoint(const RoomID room, const DirectionConstant directi case MakeRoomView(kMars51, kEast): case MakeRoomView(kMars56, kEast): case MakeRoomView(kMars60, kWest): - case MakeRoomView(kMarsMaze004, kWest): case MakeRoomView(kMarsMaze009, kWest): case MakeRoomView(kMarsMaze012, kWest): case MakeRoomView(kMarsMaze037, kWest): @@ -1059,6 +1058,11 @@ void Mars::checkContinuePoint(const RoomID room, const DirectionConstant directi case MakeRoomView(kMarsMaze199, kWest): makeContinuePoint(); break; + case MakeRoomView(kMarsMaze004, kWest): + // WORKAROUND: See Mars::arriveAt() for more details. + if (GameState.isTakenItemID(kCardBomb)) + makeContinuePoint(); + break; case MakeRoomView(kMars05, kEast): case MakeRoomView(kMars06, kEast): case MakeRoomView(kMars07, kEast): @@ -1393,6 +1397,13 @@ void Mars::arriveAt(const RoomID room, const DirectionConstant direction) { case MakeRoomView(kMarsRobotShuttle, kEast): setCurrentActivation(kActivationRobotHeadClosed); break; + case MakeRoomView(kMarsMaze004, kWest): + // WORKAROUND: You're not supposed to continue through the maze without the + // bomb or the game will not be completable. We're using the previously unused + // bomb death here to prevent progress (you didn't find the bomb, after all). + if (!GameState.isTakenItemID(kCardBomb)) + didntFindBomb(); + break; case MakeRoomView(kMarsMaze007, kNorth): launchMaze007Robot(); break; @@ -2643,7 +2654,7 @@ void Mars::startUpFromSpaceChase() { // Open the spot sounds movie again... _spotSounds.initFromQuickTime(getSoundSpotsName()); - _spotSounds.setVolume(_vm->getSoundFXLevel());; + _spotSounds.setVolume(_vm->getSoundFXLevel()); initOnePicture(&_shuttleInterface1, "Images/Mars/MCmain1.pict", kShuttleBackgroundOrder, kShuttle1Left, kShuttle1Top, true); |