aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/intern.h
diff options
context:
space:
mode:
authorMax Horn2006-11-13 20:12:52 +0000
committerMax Horn2006-11-13 20:12:52 +0000
commit12fb12caf5d25725a706b7c3900a48d4eea2c103 (patch)
treeb9d66cb552beec3232bb8dffc2d6d800f473b787 /engines/scumm/intern.h
parent1a2853f7e0786e0ae1d072f5ce97391ad5d67978 (diff)
downloadscummvm-rg350-12fb12caf5d25725a706b7c3900a48d4eea2c103.tar.gz
scummvm-rg350-12fb12caf5d25725a706b7c3900a48d4eea2c103.tar.bz2
scummvm-rg350-12fb12caf5d25725a706b7c3900a48d4eea2c103.zip
Moved more SMUSH/Insane code from ScummEngine_v6 to ScummEngine_v7
svn-id: r24710
Diffstat (limited to 'engines/scumm/intern.h')
-rw-r--r--engines/scumm/intern.h49
1 files changed, 28 insertions, 21 deletions
diff --git a/engines/scumm/intern.h b/engines/scumm/intern.h
index 6f60359952..ba4e2d995d 100644
--- a/engines/scumm/intern.h
+++ b/engines/scumm/intern.h
@@ -584,31 +584,11 @@ protected:
} _akosQueue[32];
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;
-
- bool _smushActive;
-
- Insane *_insane;
-
byte _curActor;
int _curVerb;
int _curVerbSlot;
public:
- /** This flag tells IMuseDigital that INSANE is running. */
- bool _insaneRunning; // Used by IMuseDigital::flushTracks()
-
- SmushMixer *_smixer;
- SmushPlayer *_splayer;
-
-public:
ScummEngine_v6(OSystem *syst, const DetectorResult &dr);
virtual void resetScumm();
@@ -817,7 +797,7 @@ protected:
void o6_distObjectObject();
void o6_distObjectPt();
void o6_distPtPt();
- void o6_kernelSetFunctions();
+ virtual void o6_kernelSetFunctions();
void o6_delayFrames();
void o6_pickOneOf();
void o6_pickOneOfDefault();
@@ -858,11 +838,34 @@ public:
ScummEngine_v7(OSystem *syst, const DetectorResult &dr);
~ScummEngine_v7();
+
+protected:
+ 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;
+
+ bool _smushActive;
+
+ Insane *_insane;
+
+public:
+ /** This flag tells IMuseDigital that INSANE is running. */
+ bool _insaneRunning; // Used by IMuseDigital::flushTracks()
+
+ SmushMixer *_smixer;
+ SmushPlayer *_splayer;
+
+
struct LangIndexNode {
char tag[12+1];
int32 offset;
};
+protected:
int _verbCharset, _verbLineSpacing;
bool _existLanguageFile;
char *_languageBuffer;
@@ -887,6 +890,7 @@ public:
int _subtitleQueuePos;
SubtitleText _subtitleQueue[20];
+public:
void processSubtitleQueue();
void addSubtitleToQueue(const byte *text, const Common::Point &pos, byte color, byte charset);
void clearSubtitleQueue();
@@ -924,6 +928,9 @@ protected:
void playSpeech(const byte *ptr);
virtual void drawVerb(int verb, int mode);
+
+
+ virtual void o6_kernelSetFunctions();
};
class ScummEngine_v8 : public ScummEngine_v7 {