diff options
Diffstat (limited to 'engines/gob/inter.h')
-rw-r--r-- | engines/gob/inter.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/engines/gob/inter.h b/engines/gob/inter.h index b1689e8d9e..6fd4dc2187 100644 --- a/engines/gob/inter.h +++ b/engines/gob/inter.h @@ -33,6 +33,11 @@ namespace Gob { +namespace Geisha { + class Diving; + class Penetration; +} + // This is to help devices with small memory (PDA, smartphones, ...) // to save a bit of memory used by opcode names in the Gob engine. #ifndef REDUCE_MEMORY_USAGE @@ -334,6 +339,40 @@ protected: void manipulateMap(int16 xPos, int16 yPos, int16 item); }; +class Inter_Geisha : public Inter_v1 { +public: + Inter_Geisha(GobEngine *vm); + virtual ~Inter_Geisha(); + +protected: + virtual void setupOpcodesDraw(); + virtual void setupOpcodesFunc(); + virtual void setupOpcodesGob(); + + void oGeisha_loadCursor(OpFuncParams ¶ms); + void oGeisha_loadTot(OpFuncParams ¶ms); + void oGeisha_goblinFunc(OpFuncParams ¶ms); + void oGeisha_loadSound(OpFuncParams ¶ms); + void oGeisha_checkData(OpFuncParams ¶ms); + void oGeisha_readData(OpFuncParams ¶ms); + void oGeisha_writeData(OpFuncParams ¶ms); + + void oGeisha_gamePenetration(OpGobParams ¶ms); + void oGeisha_gameDiving(OpGobParams ¶ms); + void oGeisha_loadTitleMusic(OpGobParams ¶ms); + void oGeisha_playMusic(OpGobParams ¶ms); + void oGeisha_stopMusic(OpGobParams ¶ms); + + void oGeisha_caress1(OpGobParams ¶ms); + void oGeisha_caress2(OpGobParams ¶ms); + + int16 loadSound(int16 slot); + +private: + Geisha::Diving *_diving; + Geisha::Penetration *_penetration; +}; + class Inter_v2 : public Inter_v1 { public: Inter_v2(GobEngine *vm); |