aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Hoops2012-12-15 21:14:39 -0500
committerMatthew Hoops2012-12-15 21:14:39 -0500
commitbf51a7e6a6e3987d8122c42109274f90db8dd2a1 (patch)
tree0ca828a253c7f01e807c3cd9b5ec9cb8e49a40c8
parentce1268b73d3e8f17e6bb7e048849cb69372809cd (diff)
downloadscummvm-rg350-bf51a7e6a6e3987d8122c42109274f90db8dd2a1.tar.gz
scummvm-rg350-bf51a7e6a6e3987d8122c42109274f90db8dd2a1.tar.bz2
scummvm-rg350-bf51a7e6a6e3987d8122c42109274f90db8dd2a1.zip
PEGASUS: Fix playback of pressure door levels dropping video
-rw-r--r--engines/pegasus/neighborhood/norad/pressuredoor.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/engines/pegasus/neighborhood/norad/pressuredoor.cpp b/engines/pegasus/neighborhood/norad/pressuredoor.cpp
index d1378567d3..a12e971d10 100644
--- a/engines/pegasus/neighborhood/norad/pressuredoor.cpp
+++ b/engines/pegasus/neighborhood/norad/pressuredoor.cpp
@@ -323,7 +323,8 @@ void PressureDoor::receiveNotification(Notification *notification, const Notific
_robotState = kRobotDead;
_levelsMovie.stop();
_levelsMovie.setSegment((kNormalSubRoomPressure + kPressureBase) * _levelsScale,
- (GameState.getNoradSubRoomPressure() + kPressureBase) * _levelsScale);
+ (GameState.getNoradSubRoomPressure() + kPressureBase) * _levelsScale + 1);
+ _levelsMovie.setTime((GameState.getNoradSubRoomPressure() + kPressureBase) * _levelsScale);
_pressureCallBack.setCallBackFlag(kPressureDroppingFlag);
_pressureCallBack.scheduleCallBack(kTriggerAtStart, 0, 0);
_typeMovie.stop();
@@ -335,7 +336,7 @@ void PressureDoor::receiveNotification(Notification *notification, const Notific
_downButton.setCurrentFrameIndex(1);
_gameState = kGameOver;
allowInput(false);
- _levelsMovie.setRate(Common::Rational(0x5555, 0x10000) - 1); // Should match door tracker.
+ _levelsMovie.setRate(Common::Rational(-4, 3)); // Should match door tracker.
break;
case kRobotDead:
allowInput(true);