aboutsummaryrefslogtreecommitdiff
path: root/scumm/intern.h
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/intern.h')
-rw-r--r--scumm/intern.h41
1 files changed, 37 insertions, 4 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index 1829539068..6a2719a5e8 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -623,8 +623,6 @@ protected:
/* Version 7 script opcodes */
void o7_getString();
- void o7_objectX();
- void o7_objectY();
void o7_stringLen();
void o7_readINI();
void o7_unknownF4();
@@ -634,12 +632,47 @@ protected:
void o7_quitPauseRestart();
void o7_getActorRoom();
void o7_pickupObject();
+ void o7_startSound();
+ void o7_cursorCommand();
+};
+
+class ScummEngine_v72he : public ScummEngine_v7he {
+protected:
+ typedef void (ScummEngine_v72he::*OpcodeProcV72he)();
+ struct OpcodeEntryV72he {
+ OpcodeProcV72he proc;
+ const char *desc;
+ };
+
+ const OpcodeEntryV72he *_opcodesV72he;
+
+public:
+ ScummEngine_v72he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs);
+
+protected:
+ virtual void setupScummVars();
+
+ virtual void setupOpcodes();
+ virtual void executeOpcode(byte i);
+ virtual const char *getOpcodeDesc(byte i);
+
+ byte stringLen(byte *);
+
+ /* Version 7 script opcodes */
+ void o7_getString();
+ void o7_objectX();
+ void o7_objectY();
+ void o7_stringLen();
+ void o7_readINI();
+ void o7_unknownF4();
+ void o7_unknownFA();
+ void o7_unknownFB();
void o7_arrayOps();
void o7_dimArray();
void o7_jumpToScript();
void o7_startScript();
- void o7_startSound();
- void o7_cursorCommand();
+ void o7_unknown63();
+ void o7_dim2dimArray();
};
class ScummEngine_v7 : public ScummEngine_v6 {