diff options
author | sluicebox | 2019-12-06 21:02:53 -0800 |
---|---|---|
committer | sluicebox | 2019-12-06 21:02:53 -0800 |
commit | 55dba55056b842e02475d8c95fa621f431b5e3be (patch) | |
tree | 11f6b930625f9218df868cb3678cfaa90ba2c682 /engines/sci/engine | |
parent | 3f842386c90c05582bd07b3098835fbb19f15588 (diff) | |
download | scummvm-rg350-55dba55056b842e02475d8c95fa621f431b5e3be.tar.gz scummvm-rg350-55dba55056b842e02475d8c95fa621f431b5e3be.tar.bz2 scummvm-rg350-55dba55056b842e02475d8c95fa621f431b5e3be.zip |
SCI32: Fix kRobot subop 6 implementation
Fixes Phantasmagoria 1 animations not resuming after closing the
control panel during the chapter 7 chase
Diffstat (limited to 'engines/sci/engine')
-rw-r--r-- | engines/sci/engine/kernel.h | 2 | ||||
-rw-r--r-- | engines/sci/engine/kernel_tables.h | 2 | ||||
-rw-r--r-- | engines/sci/engine/kvideo.cpp | 4 |
3 files changed, 4 insertions, 4 deletions
diff --git a/engines/sci/engine/kernel.h b/engines/sci/engine/kernel.h index cbbfaefc45..7583e2479b 100644 --- a/engines/sci/engine/kernel.h +++ b/engines/sci/engine/kernel.h @@ -448,7 +448,7 @@ reg_t kRobotShowFrame(EngineState *s, int argc, reg_t *argv); reg_t kRobotGetFrameSize(EngineState *s, int argc, reg_t *argv); reg_t kRobotPlay(EngineState *s, int argc, reg_t *argv); reg_t kRobotGetIsFinished(EngineState *s, int argc, reg_t *argv); -reg_t kRobotGetIsPlaying(EngineState *s, int argc, reg_t *argv); +reg_t kRobotGetIsInitialized(EngineState *s, int argc, reg_t *argv); reg_t kRobotClose(EngineState *s, int argc, reg_t *argv); reg_t kRobotGetCue(EngineState *s, int argc, reg_t *argv); reg_t kRobotPause(EngineState *s, int argc, reg_t *argv); diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h index 3d8c256ff9..8dab326361 100644 --- a/engines/sci/engine/kernel_tables.h +++ b/engines/sci/engine/kernel_tables.h @@ -487,7 +487,7 @@ static const SciKernelMapSubEntry kRobot_subops[] = { { SIG_SINCE_SCI21, 2, MAP_CALL(RobotGetFrameSize), "r", NULL }, { SIG_SINCE_SCI21, 4, MAP_CALL(RobotPlay), "", NULL }, { SIG_SINCE_SCI21, 5, MAP_CALL(RobotGetIsFinished), "", NULL }, - { SIG_SINCE_SCI21, 6, MAP_CALL(RobotGetIsPlaying), "", NULL }, + { SIG_SINCE_SCI21, 6, MAP_CALL(RobotGetIsInitialized), "", NULL }, { SIG_SINCE_SCI21, 7, MAP_CALL(RobotClose), "", NULL }, { SIG_SINCE_SCI21, 8, MAP_CALL(RobotGetCue), "o", NULL }, { SIG_SINCE_SCI21, 10, MAP_CALL(RobotPause), "", NULL }, diff --git a/engines/sci/engine/kvideo.cpp b/engines/sci/engine/kvideo.cpp index 72762a668e..964f28b190 100644 --- a/engines/sci/engine/kvideo.cpp +++ b/engines/sci/engine/kvideo.cpp @@ -255,8 +255,8 @@ reg_t kRobotGetIsFinished(EngineState *s, int argc, reg_t *argv) { return make_reg(0, g_sci->_video32->getRobotPlayer().getStatus() == RobotDecoder::kRobotStatusEnd); } -reg_t kRobotGetIsPlaying(EngineState *s, int argc, reg_t *argv) { - return make_reg(0, g_sci->_video32->getRobotPlayer().getStatus() == RobotDecoder::kRobotStatusPlaying); +reg_t kRobotGetIsInitialized(EngineState *s, int argc, reg_t *argv) { + return make_reg(0, g_sci->_video32->getRobotPlayer().getStatus() != RobotDecoder::kRobotStatusUninitialized); } reg_t kRobotClose(EngineState *s, int argc, reg_t *argv) { |