diff options
Diffstat (limited to 'engines/gob/inter.h')
-rw-r--r-- | engines/gob/inter.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/engines/gob/inter.h b/engines/gob/inter.h index 9a8da431cb..3f47be2f77 100644 --- a/engines/gob/inter.h +++ b/engines/gob/inter.h @@ -451,6 +451,58 @@ protected: void oBargon_intro9(OpGobParams ¶ms); }; +class Inter_Fascination : public Inter_v2 { +public: + Inter_Fascination(GobEngine *vm); + virtual ~Inter_Fascination() {} + +protected: + typedef void (Inter_Fascination::*OpcodeDrawProcFascination)(); + typedef bool (Inter_Fascination::*OpcodeFuncProcFascination)(OpFuncParams &); + typedef void (Inter_Fascination::*OpcodeGoblinProcFascination)(OpGobParams &); + struct OpcodeDrawEntryFascination { + OpcodeDrawProcFascination proc; + const char *desc; + }; + struct OpcodeFuncEntryFascination { + OpcodeFuncProcFascination proc; + const char *desc; + }; + struct OpcodeGoblinEntryFascination { + OpcodeGoblinProcFascination proc; + const char *desc; + }; + const OpcodeDrawEntryFascination *_opcodesDrawFascination; + const OpcodeFuncEntryFascination *_opcodesFuncFascination; + const OpcodeGoblinEntryFascination *_opcodesGoblinFascination; + 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); + + void oFascin_playProtracker(OpGobParams ¶ms); + + void oFascin_geUnknown2(OpGobParams ¶ms); + void oFascin_geUnknown3(OpGobParams ¶ms); + void oFascin_geUnknown4(OpGobParams ¶ms); + void oFascin_geUnknown5(OpGobParams ¶ms); + void oFascin_geUnknown6(OpGobParams ¶ms); + void oFascin_geUnknown10(OpGobParams ¶ms); + bool oFascin_feUnknown4(OpFuncParams ¶ms); + void oFascin_cdUnknown3(); + void oFascin_cdUnknown4(); + void oFascin_cdUnknown5(); + void oFascin_cdUnknown6(); + void oFascin_cdUnknown10(); + void oFascin_cdUnknown11(); + +}; + class Inter_v3 : public Inter_v2 { public: Inter_v3(GobEngine *vm); |