aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/gob/inter.h1
-rw-r--r--engines/gob/inter_geisha.cpp14
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 &params);
void oGeisha_gamePenetration(OpGobParams &params);
+ void oGeisha_gameDiving(OpGobParams &params);
void oGeisha_loadTitleMusic(OpGobParams &params);
void oGeisha_playMusic(OpGobParams &params);
void oGeisha_stopMusic(OpGobParams &params);
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 &params) {
WRITE_VAR_UINT32(var4, 1);
}
+void Inter_Geisha::oGeisha_gameDiving(OpGobParams &params) {
+ 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 &params) {
_vm->_sound->adlibLoadTBR("geisha.tbr");
_vm->_sound->adlibLoadMDY("geisha.mdy");