From 277a712f0b6835a54c2ee9373b06ff6db42eb7f9 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Sun, 27 Apr 2014 21:18:45 -0400 Subject: PEGASUS: Fix a Norad Delta door locked sound Based on a patch by Keith Kaisershot --- engines/pegasus/neighborhood/norad/delta/noraddelta.cpp | 11 +++++++++++ engines/pegasus/neighborhood/norad/delta/noraddelta.h | 1 + 2 files changed, 12 insertions(+) (limited to 'engines/pegasus') 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); -- cgit v1.2.3