aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/cutscenes.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/xeen/cutscenes.h')
-rw-r--r--engines/xeen/cutscenes.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/engines/xeen/cutscenes.h b/engines/xeen/cutscenes.h
index b3bc778b73..4e7a5471da 100644
--- a/engines/xeen/cutscenes.h
+++ b/engines/xeen/cutscenes.h
@@ -25,27 +25,31 @@
#include "xeen/files.h"
#include "xeen/sprites.h"
+#include "xeen/subtitles.h"
namespace Xeen {
-#define WAIT(TIME) \
- events.timeMark5(); \
- do { \
- events.updateGameCounter(); \
- if (events.wait(1)) \
- return false; \
- } while (!g_vm->shouldExit() && events.timeElapsed5() < TIME)
+#define WAIT(TIME) if (Cutscenes::wait(TIME)) return false
class XeenEngine;
class Cutscenes {
protected:
XeenEngine *_vm;
+ Subtitles _subtitles;
protected:
Cutscenes(XeenEngine *vm) : _vm(vm) {}
virtual ~Cutscenes() {}
/**
+ * Waits for a given number of frames
+ * @param numFrames Number of frames to wait
+ * @param interruptable If set, aborts if the mouse or a key is pressed
+ * @returns True if the wait was aborted
+ */
+ bool wait(uint numFrames, bool interruptable = true);
+
+ /**
* Get a speaking frame from a range
*/
uint getSpeakingFrame(uint minFrame, uint maxFrame);