diff options
Diffstat (limited to 'engines/gob')
-rw-r--r-- | engines/gob/inter.h | 1 | ||||
-rw-r--r-- | engines/gob/inter_geisha.cpp | 15 |
2 files changed, 16 insertions, 0 deletions
diff --git a/engines/gob/inter.h b/engines/gob/inter.h index 7946543f5a..49323446d0 100644 --- a/engines/gob/inter.h +++ b/engines/gob/inter.h @@ -348,6 +348,7 @@ protected: void oGeisha_goblinFunc(OpFuncParams ¶ms); void oGeisha_loadSound(OpFuncParams ¶ms); + void oGeisha_gamePenetration(OpGobParams ¶ms); void oGeisha_loadTitleMusic(OpGobParams ¶ms); void oGeisha_playMusic(OpGobParams ¶ms); void oGeisha_stopMusic(OpGobParams ¶ms); diff --git a/engines/gob/inter_geisha.cpp b/engines/gob/inter_geisha.cpp index b3a7be2003..13bffa5ccc 100644 --- a/engines/gob/inter_geisha.cpp +++ b/engines/gob/inter_geisha.cpp @@ -53,6 +53,7 @@ void Inter_Geisha::setupOpcodesFunc() { OPCODEFUNC(0x25, oGeisha_goblinFunc); OPCODEFUNC(0x3A, oGeisha_loadSound); + OPCODEGOB(0, oGeisha_gamePenetration); OPCODEGOB(2, oGeisha_loadTitleMusic); OPCODEGOB(3, oGeisha_playMusic); OPCODEGOB(4, oGeisha_stopMusic); @@ -107,6 +108,20 @@ int16 Inter_Geisha::loadSound(int16 slot) { return 0; } +void Inter_Geisha::oGeisha_gamePenetration(OpGobParams ¶ms) { + uint16 var1 = _vm->_game->_script->readUint16(); + uint16 var2 = _vm->_game->_script->readUint16(); + uint16 var3 = _vm->_game->_script->readUint16(); + uint16 var4 = _vm->_game->_script->readUint16(); + + WRITE_VAR_UINT32(var4, 0); + + warning("Geisha Stub: Minigame \"Penetration\": %d, %d, %d, %d", var1, var2, var3, var4); + + // Fudge a win for now + WRITE_VAR_UINT32(var4, 1); +} + void Inter_Geisha::oGeisha_loadTitleMusic(OpGobParams ¶ms) { _vm->_sound->adlibLoadTBR("geisha.tbr"); _vm->_sound->adlibLoadMDY("geisha.mdy"); |