diff options
author | Matthew Hoops | 2014-04-27 21:18:45 -0400 |
---|---|---|
committer | Matthew Hoops | 2014-04-27 21:19:08 -0400 |
commit | 277a712f0b6835a54c2ee9373b06ff6db42eb7f9 (patch) | |
tree | a83ffdeb886dc9efcc56099f14487a78c55c3934 /engines/pegasus | |
parent | cfcd3fd780254b60abe1eea43f1de18494d65582 (diff) | |
download | scummvm-rg350-277a712f0b6835a54c2ee9373b06ff6db42eb7f9.tar.gz scummvm-rg350-277a712f0b6835a54c2ee9373b06ff6db42eb7f9.tar.bz2 scummvm-rg350-277a712f0b6835a54c2ee9373b06ff6db42eb7f9.zip |
PEGASUS: Fix a Norad Delta door locked sound
Based on a patch by Keith Kaisershot
Diffstat (limited to 'engines/pegasus')
-rw-r--r-- | engines/pegasus/neighborhood/norad/delta/noraddelta.cpp | 11 | ||||
-rw-r--r-- | engines/pegasus/neighborhood/norad/delta/noraddelta.h | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/engines/pegasus/neighborhood/norad/delta/noraddelta.cpp b/engines/pegasus/neighborhood/norad/delta/noraddelta.cpp index b6ce700132..ee047d72b2 100644 --- a/engines/pegasus/neighborhood/norad/delta/noraddelta.cpp +++ b/engines/pegasus/neighborhood/norad/delta/noraddelta.cpp @@ -514,6 +514,17 @@ void NoradDelta::openDoor() { } } +void NoradDelta::cantMoveThatWay(CanOpenDoorReason reason) { + // WORKAROUND: The door outside the launch console room isn't treated as a door, + // so play the correct sound. + if (reason == kCantMoveBlocked && GameState.getCurrentRoomAndView() == MakeRoomView(kNorad67, kNorth)) { + cantOpenDoor(kCantOpenLocked); + return; + } + + Neighborhood::cantMoveThatWay(reason); +} + void NoradDelta::activateHotspots() { Norad::activateHotspots(); diff --git a/engines/pegasus/neighborhood/norad/delta/noraddelta.h b/engines/pegasus/neighborhood/norad/delta/noraddelta.h index 2f276a8a7d..591fd691a2 100644 --- a/engines/pegasus/neighborhood/norad/delta/noraddelta.h +++ b/engines/pegasus/neighborhood/norad/delta/noraddelta.h @@ -92,6 +92,7 @@ protected: void arriveAtNorad79West(); TimeValue getViewTime(const RoomID, const DirectionConstant); void openDoor(); + void cantMoveThatWay(CanMoveForwardReason); void activateHotspots(); void clickInHotspot(const Input &, const Hotspot *); void receiveNotification(Notification *, const NotificationFlags); |