diff options
Diffstat (limited to 'engines/gob/inter.h')
-rw-r--r-- | engines/gob/inter.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/engines/gob/inter.h b/engines/gob/inter.h index aedc442a49..70e0af2d4d 100644 --- a/engines/gob/inter.h +++ b/engines/gob/inter.h @@ -481,6 +481,43 @@ protected: bool o3_writeData(OpFuncParams ¶ms); }; +class Inter_Woodruff : public Inter_v3 { +public: + Inter_Woodruff(GobEngine *vm); + virtual ~Inter_Woodruff() {} + +protected: + typedef void (Inter_Woodruff::*OpcodeDrawProcWoodruff)(); + typedef bool (Inter_Woodruff::*OpcodeFuncProcWoodruff)(OpFuncParams &); + typedef void (Inter_Woodruff::*OpcodeGoblinProcWoodruff)(OpGobParams &); + struct OpcodeDrawEntryWoodruff { + OpcodeDrawProcWoodruff proc; + const char *desc; + }; + struct OpcodeFuncEntryWoodruff { + OpcodeFuncProcWoodruff proc; + const char *desc; + }; + struct OpcodeGoblinEntryWoodruff { + OpcodeGoblinProcWoodruff proc; + const char *desc; + }; + const OpcodeDrawEntryWoodruff *_opcodesDrawWoodruff; + const OpcodeFuncEntryWoodruff *_opcodesFuncWoodruff; + const OpcodeGoblinEntryWoodruff *_opcodesGoblinWoodruff; + 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 oWoodruff_stub0x18(OpFuncParams ¶ms); +}; + } // End of namespace Gob #endif // GOB_INTER_H |