[Scummvm-git-logs] scummvm master -> 55dba55056b842e02475d8c95fa621f431b5e3be

sluicebox 22204938+sluicebox at users.noreply.github.com
Sat Dec 7 05:05:45 UTC 2019


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
55dba55056 SCI32: Fix kRobot subop 6 implementation


Commit: 55dba55056b842e02475d8c95fa621f431b5e3be
    https://github.com/scummvm/scummvm/commit/55dba55056b842e02475d8c95fa621f431b5e3be
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2019-12-06T21:02:53-08:00

Commit Message:
SCI32: Fix kRobot subop 6 implementation

Fixes Phantasmagoria 1 animations not resuming after closing the
control panel during the chapter 7 chase

Changed paths:
    engines/sci/engine/kernel.h
    engines/sci/engine/kernel_tables.h
    engines/sci/engine/kvideo.cpp


diff --git a/engines/sci/engine/kernel.h b/engines/sci/engine/kernel.h
index cbbfaef..7583e24 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 3d8c256..8dab326 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 72762a6..964f28b 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) {




More information about the Scummvm-git-logs mailing list