Moved more SMUSH/Insane code from ScummEngine_v6 to ScummEngine_v7
svn-id: r24710
This commit is contained in:
parent
1a2853f7e0
commit
12fb12caf5
2 changed files with 217 additions and 204 deletions
|
@ -584,30 +584,10 @@ 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);
|
||||
|
||||
|
@ -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 {
|
||||
|
|
|
@ -2506,19 +2506,18 @@ void ScummEngine_v6::o6_setBlastObjectWindow() {
|
|||
// So, we just handle this as no-op opcode.
|
||||
}
|
||||
|
||||
void ScummEngine_v6::o6_kernelSetFunctions() {
|
||||
#ifndef DISABLE_SCUMM_7_8
|
||||
void ScummEngine_v7::o6_kernelSetFunctions() {
|
||||
int args[30];
|
||||
int num;
|
||||
Actor *a;
|
||||
|
||||
num = getStackList(args, ARRAYSIZE(args));
|
||||
|
||||
if (_game.version >= 7) {
|
||||
switch (args[0]) {
|
||||
case 4:
|
||||
grabCursor(args[1], args[2], args[3], args[4]);
|
||||
break;
|
||||
#ifndef DISABLE_SCUMM_7_8
|
||||
case 6: {
|
||||
if (_smushFrameRate == 0)
|
||||
_smushFrameRate = 14;
|
||||
|
@ -2550,7 +2549,6 @@ void ScummEngine_v6::o6_kernelSetFunctions() {
|
|||
}
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
case 12:
|
||||
setCursorFromImg(args[1], (uint) - 1, args[2]);
|
||||
break;
|
||||
|
@ -2602,7 +2600,16 @@ void ScummEngine_v6::o6_kernelSetFunctions() {
|
|||
error("o6_kernelSetFunctions: default case %d (param count %d)", args[0], num);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
#endif
|
||||
|
||||
void ScummEngine_v6::o6_kernelSetFunctions() {
|
||||
int args[30];
|
||||
int num;
|
||||
Actor *a;
|
||||
|
||||
num = getStackList(args, ARRAYSIZE(args));
|
||||
|
||||
switch (args[0]) {
|
||||
case 3:
|
||||
// Dummy case
|
||||
|
@ -2697,7 +2704,6 @@ void ScummEngine_v6::o6_kernelSetFunctions() {
|
|||
error("o6_kernelSetFunctions: default case %d (param count %d)", args[0], num);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ScummEngine_v6::o6_kernelGetFunctions() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue