diff options
author | Travis Howell | 2004-02-07 02:23:24 +0000 |
---|---|---|
committer | Travis Howell | 2004-02-07 02:23:24 +0000 |
commit | 82564def69af77c2c22237f90eb5a9d5b22aff35 (patch) | |
tree | cec56c8a0d71e222564d5c16a408fd716f2f2992 /scumm/intern.h | |
parent | 8411a8ade175a9d35af22d108a67ff542d4441ad (diff) | |
download | scummvm-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.h | 55 |
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) {} |