aboutsummaryrefslogtreecommitdiff
path: root/scumm/intern.h
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/intern.h')
-rw-r--r--scumm/intern.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index 8a3f0d38c2..0c5f8beeae 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -901,6 +901,46 @@ protected:
void o90_getActorAnimProgress();
};
+class ScummEngine_v100he : public ScummEngine_v90he {
+protected:
+ typedef void (ScummEngine_v100he::*OpcodeProcV100he)();
+ struct OpcodeEntryV100he {
+ OpcodeProcV100he proc;
+ const char *desc;
+ };
+
+ const OpcodeEntryV100he *_opcodesV100he;
+
+public:
+ ScummEngine_v100he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16]) : ScummEngine_v90he(detector, syst, gs, md5sum) {}
+
+protected:
+ virtual void setupOpcodes();
+ virtual void executeOpcode(byte i);
+ virtual const char *getOpcodeDesc(byte i);
+
+ virtual void decodeParseString(int a, int b);
+
+ /* HE version 100 script opcodes */
+ void o100_actorOps();
+ void o100_arrayOps();
+ void o100_dim2dimArray();
+ void o100_dimArray();
+ void o100_drawObject();
+ void o100_unknown28();
+ void o100_resourceRoutines();
+ void o100_wizImageOps();
+ void o100_dim2dim2Array();
+ void o100_paletteOps();
+ void o100_roomOps();
+ void o100_startSound();
+ void o100_unknown26();
+ void o100_quitPauseRestart();
+ void o100_cursorCommand();
+ void o100_wait();
+ void o100_unknown25();
+};
+
class ScummEngine_v7 : public ScummEngine_v6 {
public:
ScummEngine_v7(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16]) : ScummEngine_v6(detector, syst, gs, md5sum) {}