aboutsummaryrefslogtreecommitdiff
path: root/scumm/intern.h
diff options
context:
space:
mode:
authorTravis Howell2004-02-07 02:23:24 +0000
committerTravis Howell2004-02-07 02:23:24 +0000
commit82564def69af77c2c22237f90eb5a9d5b22aff35 (patch)
treecec56c8a0d71e222564d5c16a408fd716f2f2992 /scumm/intern.h
parent8411a8ade175a9d35af22d108a67ff542d4441ad (diff)
downloadscummvm-rg350-82564def69af77c2c22237f90eb5a9d5b22aff35.tar.gz
scummvm-rg350-82564def69af77c2c22237f90eb5a9d5b22aff35.tar.bz2
scummvm-rg350-82564def69af77c2c22237f90eb5a9d5b22aff35.zip
Add separate class for Humongous Entertainment games.
svn-id: r12752
Diffstat (limited to 'scumm/intern.h')
-rw-r--r--scumm/intern.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index fa40e525bb..33b3450058 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -552,6 +552,61 @@ protected:
byte VAR_TIMEDATE_SECOND;
};
+class ScummEngine_v6he : public ScummEngine_v6 {
+protected:
+ typedef void (ScummEngine_v6he::*OpcodeProcV6he)();
+ struct OpcodeEntryV6he {
+ OpcodeProcV6he proc;
+ const char *desc;
+ };
+
+ const OpcodeEntryV6he *_opcodesV6he;
+
+ File _hFileTable[17];
+
+public:
+ ScummEngine_v6he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs) : ScummEngine_v6(detector, syst, gs) {}
+
+protected:
+ virtual void setupOpcodes();
+ virtual void executeOpcode(byte i);
+ virtual const char *getOpcodeDesc(byte i);
+
+ virtual void setupScummVars();
+ virtual void decodeParseString(int a, int b);
+
+ void unknownEA_func(int a, int b, int c, int d, int e);
+ int readFileToArray(int slot, int32 size);
+ void writeFileFromArray(int slot, int resID);
+
+ /* Version 6 script opcodes */
+ void o6_drawBlastObject();
+ void o6_setBlastObjectWindow();
+ void o6_roomOps();
+ void o6_actorOps();
+ void o6_verbOps();
+ void o6_wait();
+ void o6_soundKludge();
+ void o6_dummy();
+ void o6_kernelSetFunctions();
+ void o6_kernelGetFunctions();
+ void o6_stampObject();
+ void o6_openFile();
+ void o6_closeFile();
+ void o6_deleteFile();
+ void o6_readFile();
+ void o6_rename();
+ void o6_writeFile();
+ void o6_findAllObjects();
+ void o6_unknownE0();
+ void o6_unknownE1();
+ void o6_unknownE4();
+ void o6_localizeArray();
+ void o6_unknownFA();
+ void o6_unknownEA();
+ void o6_readINI();
+};
+
class ScummEngine_v7 : public ScummEngine_v6 {
public:
ScummEngine_v7(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs) : ScummEngine_v6(detector, syst, gs) {}