diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/gob/inter.h | 1 | ||||
-rw-r--r-- | engines/gob/inter_geisha.cpp | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/engines/gob/inter.h b/engines/gob/inter.h index 49323446d0..7198ec9453 100644 --- a/engines/gob/inter.h +++ b/engines/gob/inter.h @@ -349,6 +349,7 @@ protected: void oGeisha_loadSound(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); diff --git a/engines/gob/inter_geisha.cpp b/engines/gob/inter_geisha.cpp index 13bffa5ccc..3b8747e903 100644 --- a/engines/gob/inter_geisha.cpp +++ b/engines/gob/inter_geisha.cpp @@ -54,6 +54,7 @@ void Inter_Geisha::setupOpcodesFunc() { OPCODEFUNC(0x3A, oGeisha_loadSound); OPCODEGOB(0, oGeisha_gamePenetration); + OPCODEGOB(1, oGeisha_gameDiving); OPCODEGOB(2, oGeisha_loadTitleMusic); OPCODEGOB(3, oGeisha_playMusic); OPCODEGOB(4, oGeisha_stopMusic); @@ -122,6 +123,19 @@ void Inter_Geisha::oGeisha_gamePenetration(OpGobParams ¶ms) { WRITE_VAR_UINT32(var4, 1); } +void Inter_Geisha::oGeisha_gameDiving(OpGobParams ¶ms) { + uint16 var1 = _vm->_game->_script->readUint16(); + uint16 var2 = _vm->_game->_script->readUint16(); + uint16 var3 = _vm->_game->_script->readUint16(); + + WRITE_VAR_UINT32(var3, 1); + + warning("Geisha Stub: Minigame \"Diving\": %d, %d, %d", var1, var2, var3); + + // Fudge a win for now + WRITE_VAR_UINT32(var3, 0); +} + void Inter_Geisha::oGeisha_loadTitleMusic(OpGobParams ¶ms) { _vm->_sound->adlibLoadTBR("geisha.tbr"); _vm->_sound->adlibLoadMDY("geisha.mdy"); |