aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/intern.h
diff options
context:
space:
mode:
authorMax Horn2006-10-07 13:57:06 +0000
committerMax Horn2006-10-07 13:57:06 +0000
commit4973c657b81344409544dd340cf498e6a745b2b7 (patch)
treea09bdf1e3fb1a2aa8c86ef687a14bc5603fccc95 /engines/scumm/intern.h
parentf6407f01f88633266b92b2f8950a072e49b2a17c (diff)
downloadscummvm-rg350-4973c657b81344409544dd340cf498e6a745b2b7.tar.gz
scummvm-rg350-4973c657b81344409544dd340cf498e6a745b2b7.tar.bz2
scummvm-rg350-4973c657b81344409544dd340cf498e6a745b2b7.zip
Moved all INSANE and SMUSH related code into ScummEngine_v7 (resp. ScummEngine_v6 in a few cases)
svn-id: r24169
Diffstat (limited to 'engines/scumm/intern.h')
-rw-r--r--engines/scumm/intern.h27
1 files changed, 25 insertions, 2 deletions
diff --git a/engines/scumm/intern.h b/engines/scumm/intern.h
index 66312afe57..bf90f315b5 100644
--- a/engines/scumm/intern.h
+++ b/engines/scumm/intern.h
@@ -538,8 +538,6 @@ protected:
const OpcodeEntryV6 *_opcodesV6;
- int _smushFrameRate;
-
struct TextObject {
int16 xpos, ypos;
byte color;
@@ -577,6 +575,25 @@ protected:
int16 _akosQueuePos;
+ int _smushFrameRate;
+
+ /**
+ * Flag which signals that the SMUSH video playback should end now
+ * (e.g. because it was aborted by the user or it's simply finished).
+ */
+ bool _smushVideoShouldFinish;
+
+ /** This flag is a hack to allow the pause dialog to pause SMUSH playback, too. */
+ bool _smushPaused;
+
+ Insane *_insane;
+
+public:
+ /** This flag tells IMuseDigital that INSANE is running. */
+ bool _insaneRunning; // Used by IMuseDigital::flushTracks()
+
+ SmushMixer *_smixer;
+
public:
ScummEngine_v6(OSystem *syst, const DetectorResult &dr);
@@ -817,6 +834,8 @@ protected:
#ifndef DISABLE_SCUMM_7_8
class ScummEngine_v7 : public ScummEngine_v6 {
+ friend class SmushPlayer;
+ friend class Insane;
public:
ScummEngine_v7(OSystem *syst, const DetectorResult &dr);
~ScummEngine_v7();
@@ -855,10 +874,14 @@ public:
void clearSubtitleQueue();
protected:
+ virtual int runDialog(Dialog &dialog);
+
virtual void scummLoop_handleSound();
virtual void scummLoop_handleDrawing();
virtual void processKeyboard(bool smushMode);
+ virtual void setupScumm();
+
virtual void setupScummVars();
virtual void resetScummVars();