aboutsummaryrefslogtreecommitdiff
path: root/engines/pegasus/neighborhood/tsa/fulltsa.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/pegasus/neighborhood/tsa/fulltsa.cpp')
-rw-r--r--engines/pegasus/neighborhood/tsa/fulltsa.cpp27
1 files changed, 16 insertions, 11 deletions
diff --git a/engines/pegasus/neighborhood/tsa/fulltsa.cpp b/engines/pegasus/neighborhood/tsa/fulltsa.cpp
index 99efe10272..92b79c038e 100644
--- a/engines/pegasus/neighborhood/tsa/fulltsa.cpp
+++ b/engines/pegasus/neighborhood/tsa/fulltsa.cpp
@@ -1692,7 +1692,9 @@ void FullTSA::initializeTBPMonitor(const int newMode, const ExtraID highlightExt
releaseSprites();
}
- _interruptionFilter = kFilterAllInput;
+ // Only allow input if we're not in the middle of series of queue requests.
+ if (actionQueueEmpty())
+ _interruptionFilter = kFilterAllInput;
}
void FullTSA::startUpComparisonMonitor() {
@@ -2643,6 +2645,7 @@ void FullTSA::receiveNotification(Notification *notification, const Notification
GameState.setMarsReadyForShuttleTransport(false);
GameState.setMarsFinishedCanyonChase(false);
GameState.setMarsThreadedMaze(false);
+ GameState.setMarsSawRobotLeave(false);
break;
case kPlayerOnWayToWSC:
_vm->jumpToNewEnvironment(kWSCID, kWSC01, kWest);
@@ -2691,16 +2694,18 @@ void FullTSA::receiveNotification(Notification *notification, const Notification
}
break;
case kTSA37DownloadToOpMemReview:
- switch (GameState.getTSAState()) {
- case kPlayerOnWayToNorad:
- g_opticalChip->playOpMemMovie(kPoseidonSpotID);
- break;
- case kPlayerOnWayToMars:
- g_opticalChip->playOpMemMovie(kAriesSpotID);
- break;
- case kPlayerOnWayToWSC:
- g_opticalChip->playOpMemMovie(kMercurySpotID);
- break;
+ if (_vm->itemInBiochips(kOpticalBiochip)) {
+ switch (GameState.getTSAState()) {
+ case kPlayerOnWayToNorad:
+ g_opticalChip->playOpMemMovie(kPoseidonSpotID);
+ break;
+ case kPlayerOnWayToMars:
+ g_opticalChip->playOpMemMovie(kAriesSpotID);
+ break;
+ case kPlayerOnWayToWSC:
+ g_opticalChip->playOpMemMovie(kMercurySpotID);
+ break;
+ }
}
if (GameState.allTimeZonesFinished()) {