diff options
author | Sven Hesse | 2007-04-05 13:37:20 +0000 |
---|---|---|
committer | Sven Hesse | 2007-04-05 13:37:20 +0000 |
commit | ec5a9eee3132c5e7ccc5338f426f0839bb9e0913 (patch) | |
tree | 0d12e8599143530241731872be276c45e8a8c7fd /engines/gob/inter.h | |
parent | c5e7eaf7dbcc18f4d26532f64e6cbf3e8614fc18 (diff) | |
download | scummvm-rg350-ec5a9eee3132c5e7ccc5338f426f0839bb9e0913.tar.gz scummvm-rg350-ec5a9eee3132c5e7ccc5338f426f0839bb9e0913.tar.bz2 scummvm-rg350-ec5a9eee3132c5e7ccc5338f426f0839bb9e0913.zip |
- Minor cleanup
- Added Inter_v3 (for new opcode o3_getTotTextItemPart)
- Some fixes to let Gob3 start with the first screen
svn-id: r26383
Diffstat (limited to 'engines/gob/inter.h')
-rw-r--r-- | engines/gob/inter.h | 49 |
1 files changed, 43 insertions, 6 deletions
diff --git a/engines/gob/inter.h b/engines/gob/inter.h index 2129a57b4b..be7ed9fe21 100644 --- a/engines/gob/inter.h +++ b/engines/gob/inter.h @@ -21,8 +21,8 @@ * */ -#ifndef GOB_INTERPRET_H -#define GOB_INTERPRET_H +#ifndef GOB_INTER_H +#define GOB_INTER_H #include "gob/goblin.h" @@ -401,15 +401,15 @@ protected: struct OpcodeDrawEntryBargon { OpcodeDrawProcBargon proc; const char *desc; - }; + }; struct OpcodeFuncEntryBargon { OpcodeFuncProcBargon proc; const char *desc; - }; + }; struct OpcodeGoblinEntryBargon { OpcodeGoblinProcBargon proc; const char *desc; - }; + }; const OpcodeDrawEntryBargon *_opcodesDrawBargon; const OpcodeFuncEntryBargon *_opcodesFuncBargon; const OpcodeGoblinEntryBargon *_opcodesGoblinBargon; @@ -435,6 +435,43 @@ protected: void oBargon_intro9(OpGobParams ¶ms); }; +class Inter_v3 : public Inter_v2 { +public: + Inter_v3(GobEngine *vm); + virtual ~Inter_v3() {}; + +protected: + typedef void (Inter_v3::*OpcodeDrawProcV3)(); + typedef bool (Inter_v3::*OpcodeFuncProcV3)(OpFuncParams &); + typedef void (Inter_v3::*OpcodeGoblinProcV3)(OpGobParams &); + struct OpcodeDrawEntryV3 { + OpcodeDrawProcV3 proc; + const char *desc; + }; + struct OpcodeFuncEntryV3 { + OpcodeFuncProcV3 proc; + const char *desc; + }; + struct OpcodeGoblinEntryV3 { + OpcodeGoblinProcV3 proc; + const char *desc; + }; + const OpcodeDrawEntryV3 *_opcodesDrawV3; + const OpcodeFuncEntryV3 *_opcodesFuncV3; + const OpcodeGoblinEntryV3 *_opcodesGoblinV3; + static const int _goblinFuncLookUp[][2]; + + virtual void setupOpcodes(); + virtual void executeDrawOpcode(byte i); + virtual bool executeFuncOpcode(byte i, byte j, OpFuncParams ¶ms); + virtual void executeGoblinOpcode(int i, OpGobParams ¶ms); + virtual const char *getOpcodeDrawDesc(byte i); + virtual const char *getOpcodeFuncDesc(byte i, byte j); + virtual const char *getOpcodeGoblinDesc(int i); + + bool o3_getTotTextItemPart(OpFuncParams ¶ms); +}; + } // End of namespace Gob -#endif // GOB_INTERPRET_H +#endif // GOB_INTER_H |