diff options
author | Keith Kaisershot | 2013-10-06 20:39:26 -0400 |
---|---|---|
committer | Matthew Hoops | 2013-10-06 22:41:30 -0400 |
commit | 06c4c11bf8b879f155b99feb63baa364686930f5 (patch) | |
tree | fd4c3fde09b71bd3d4a007c290ac90e54d814c36 /engines | |
parent | 3ca434dea3ff9d54563d35c96fd3368177846e9b (diff) | |
download | scummvm-rg350-06c4c11bf8b879f155b99feb63baa364686930f5.tar.gz scummvm-rg350-06c4c11bf8b879f155b99feb63baa364686930f5.tar.bz2 scummvm-rg350-06c4c11bf8b879f155b99feb63baa364686930f5.zip |
PEGASUS: Fix incorrect displaying of the synthesizer shutdown video
Diffstat (limited to 'engines')
-rw-r--r-- | engines/pegasus/neighborhood/tsa/fulltsa.cpp | 1 | ||||
-rw-r--r-- | engines/pegasus/neighborhood/tsa/tinytsa.cpp | 1 | ||||
-rw-r--r-- | engines/pegasus/neighborhood/wsc/wsc.cpp | 13 |
3 files changed, 8 insertions, 7 deletions
diff --git a/engines/pegasus/neighborhood/tsa/fulltsa.cpp b/engines/pegasus/neighborhood/tsa/fulltsa.cpp index 9b843da5d6..99efe10272 100644 --- a/engines/pegasus/neighborhood/tsa/fulltsa.cpp +++ b/engines/pegasus/neighborhood/tsa/fulltsa.cpp @@ -2653,7 +2653,6 @@ void FullTSA::receiveNotification(Notification *notification, const Notification GameState.setWSCAnalyzerOn(false); GameState.setWSCDartInAnalyzer(false); GameState.setWSCAnalyzedDart(false); - GameState.setWSCPickedUpAntidote(false); GameState.setWSCSawMorph(false); GameState.setWSCDesignedAntidote(false); GameState.setWSCOfficeMessagesOpen(false); diff --git a/engines/pegasus/neighborhood/tsa/tinytsa.cpp b/engines/pegasus/neighborhood/tsa/tinytsa.cpp index 4f109620c1..0d11f5d904 100644 --- a/engines/pegasus/neighborhood/tsa/tinytsa.cpp +++ b/engines/pegasus/neighborhood/tsa/tinytsa.cpp @@ -337,7 +337,6 @@ void TinyTSA::receiveNotification(Notification *notification, const Notification GameState.setWSCRemovedDart(false); GameState.setWSCAnalyzerOn(false); GameState.setWSCAnalyzedDart(false); - GameState.setWSCPickedUpAntidote(false); GameState.setWSCSawMorph(false); GameState.setWSCDesignedAntidote(false); GameState.setWSCOfficeMessagesOpen(false); diff --git a/engines/pegasus/neighborhood/wsc/wsc.cpp b/engines/pegasus/neighborhood/wsc/wsc.cpp index 50b7774da4..09e2a48a52 100644 --- a/engines/pegasus/neighborhood/wsc/wsc.cpp +++ b/engines/pegasus/neighborhood/wsc/wsc.cpp @@ -2336,13 +2336,16 @@ Hotspot *WSC::getItemScreenSpot(Item *item, DisplayElement *element) { void WSC::pickedUpItem(Item *item) { switch (item->getObjectID()) { case kAntidote: + // WORKAROUND: Make sure the poison is cleared separately from deactivating + // the synthesizer video. + GameState.setWSCPoisoned(false); + GameState.setWSCRemovedDart(false); + _privateFlags.setFlag(kWSCDraggingAntidoteFlag, false); + playSpotSoundSync(kDrinkAntidoteIn, kDrinkAntidoteOut); + setUpPoison(); + if (!GameState.getWSCPickedUpAntidote()) { - GameState.setWSCPoisoned(false); - GameState.setWSCRemovedDart(false); GameState.setWSCPickedUpAntidote(true); - _privateFlags.setFlag(kWSCDraggingAntidoteFlag, false); - playSpotSoundSync(kDrinkAntidoteIn, kDrinkAntidoteOut); - setUpPoison(); startExtraSequence(kW03SouthDeactivate, kExtraCompletedFlag, kFilterNoInput); } break; |