aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/video32.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/graphics/video32.h')
-rw-r--r--engines/sci/graphics/video32.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/engines/sci/graphics/video32.h b/engines/sci/graphics/video32.h
index 0496f61d5d..75b8fb2d21 100644
--- a/engines/sci/graphics/video32.h
+++ b/engines/sci/graphics/video32.h
@@ -27,6 +27,7 @@
#include "common/scummsys.h" // for int16, uint8, uint16, int32
#include "common/str.h" // for String
#include "sci/engine/vm_types.h" // for reg_t
+#include "sci/video/robot_decoder.h" // for RobotDecoder
namespace Video {
class AdvancedVMDDecoder;
@@ -267,6 +268,15 @@ public:
kEventFlagReverse = 0x80
};
+ enum VMDStatus {
+ kVMDNotOpen = 0,
+ kVMDOpen = 1,
+ kVMDPlaying = 2,
+ kVMDPaused = 3,
+ kVMDStopped = 4,
+ kVMDFinished = 5
+ };
+
VMDPlayer(SegManager *segMan, EventManager *eventMan);
~VMDPlayer();
@@ -294,6 +304,11 @@ public:
*/
IOStatus close();
+ /**
+ * Gets the playback status of the VMD player.
+ */
+ VMDStatus getStatus() const;
+
// NOTE: Was WaitForEvent in SSCI
EventFlags kernelPlayUntilEvent(const EventFlags flags, const int16 lastFrameNo, const int16 yieldInterval);
@@ -505,16 +520,19 @@ public:
Video32(SegManager *segMan, EventManager *eventMan) :
_SEQPlayer(segMan),
_AVIPlayer(segMan, eventMan),
- _VMDPlayer(segMan, eventMan) {}
+ _VMDPlayer(segMan, eventMan),
+ _robotPlayer(segMan) {}
SEQPlayer &getSEQPlayer() { return _SEQPlayer; }
AVIPlayer &getAVIPlayer() { return _AVIPlayer; }
VMDPlayer &getVMDPlayer() { return _VMDPlayer; }
+ RobotDecoder &getRobotPlayer() { return _robotPlayer; }
private:
SEQPlayer _SEQPlayer;
AVIPlayer _AVIPlayer;
VMDPlayer _VMDPlayer;
+ RobotDecoder _robotPlayer;
};
} // End of namespace Sci