From dc93e5bb6a220773add19bd0eb04f0ffca685279 Mon Sep 17 00:00:00 2001 From: Bastien Bouclet Date: Mon, 18 Jun 2018 21:33:56 +0200 Subject: MOHAWK: RIVEN: Add more options to the main menu --- engines/mohawk/riven_stacks/aspit.cpp | 35 +++++++++++++++++++++++------------ engines/mohawk/riven_stacks/aspit.h | 8 +++++++- 2 files changed, 30 insertions(+), 13 deletions(-) (limited to 'engines/mohawk/riven_stacks') diff --git a/engines/mohawk/riven_stacks/aspit.cpp b/engines/mohawk/riven_stacks/aspit.cpp index de5747cbc2..ae346cdfea 100644 --- a/engines/mohawk/riven_stacks/aspit.cpp +++ b/engines/mohawk/riven_stacks/aspit.cpp @@ -66,20 +66,22 @@ ASpit::ASpit(MohawkEngine_Riven *vm) : REGISTER_COMMAND(ASpit, xaexittomain); REGISTER_COMMAND(ASpit, xaSaveGame); + REGISTER_COMMAND(ASpit, xaResumeGame); + REGISTER_COMMAND(ASpit, xaOptions); } struct MenuItemText { int language; - const char *items[4]; + const char *items[7]; } static const menuItems[] = { - { Common::EN_ANY, { "SETUP", "START NEW GAME", "START SAVED GAME", "SAVE GAME" } }, - { Common::DE_DEU, { "SETUP", "SPIELEN", "SPIELSTAND LADEN", "SPIEL SPEICHERN" } }, - { Common::ES_ESP, { "IMAGEN", "IR A RIVEN", "CARGAR JUEGO", "GUARDAR JUEGO" } }, - { Common::FR_FRA, { "CONFIG", "JOUER RIVEN", "CHARGEMENT DU JEU", "JEU SAUVEGARDER" } }, - { Common::IT_ITA, { "CONF.", "GIOCA", "CARICA GIOCO", "SALVA IL GIOCO" } }, - { Common::RU_RUS, { "УСТАНОВКИ", "СТАРТ", "ПРОДОЛЖИТЬ ИГРУ", "СОХРАНИТЬ ИГРУ" } }, - { Common::JA_JPN, { "SETUP", "PLAY RIVEN", "START SAVED GAME", "SAVE GAME" } }, - { Common::PL_POL, { "USTAWIENIA", "GRAJ W RIVEN", "ZAŁADUJ GRĘ", "ZAPISZ GRĘ" } }, + { Common::EN_ANY, { "SETUP", "START NEW GAME", "START SAVED GAME", "SAVE GAME", "RESUME", "OPTIONS", "QUIT" } }, + { Common::DE_DEU, { "SETUP", "SPIELEN", "SPIELSTAND LADEN", "SPIEL SPEICHERN", "RESUME", "OPTIONS", "QUIT" } }, + { Common::ES_ESP, { "IMAGEN", "IR A RIVEN", "CARGAR JUEGO", "GUARDAR JUEGO", "RESUME", "OPTIONS", "QUIT" } }, + { Common::FR_FRA, { "CONFIG", "JOUER RIVEN", "CHARGEMENT DU JEU", "JEU SAUVEGARDER", "RESUME", "OPTIONS", "QUIT" } }, + { Common::IT_ITA, { "CONF.", "GIOCA", "CARICA GIOCO", "SALVA IL GIOCO", "RESUME", "OPTIONS", "QUIT" } }, + { Common::RU_RUS, { "УСТАНОВКИ", "СТАРТ", "ПРОДОЛЖИТЬ ИГРУ", "СОХРАНИТЬ ИГРУ", "RESUME", "OPTIONS", "QUIT" } }, + { Common::JA_JPN, { "SETUP", "PLAY RIVEN", "START SAVED GAME", "SAVE GAME", "RESUME", "OPTIONS", "QUIT" } }, + { Common::PL_POL, { "USTAWIENIA", "GRAJ W RIVEN", "ZAŁADUJ GRĘ", "ZAPISZ GRĘ", "RESUME", "OPTIONS", "QUIT" } }, { -1, { 0 } } }; @@ -87,8 +89,6 @@ void ASpit::xastartupbtnhide(const ArgumentArray &args) { // The original game hides the start/setup buttons depending on an ini entry. // It's safe to ignore this command. - warning("xastartupbtnhide"); - Common::File file; const char *fontname = "FreeSans.ttf"; @@ -131,7 +131,10 @@ void ASpit::xastartupbtnhide(const ArgumentArray &args) { { 22 }, { 16 }, { 23 }, - { 24 } + { 24 }, + { 25 }, + { 26 }, + { 27 } }; for (uint i = 0; i < ARRAYSIZE(items); i++) { @@ -373,6 +376,14 @@ void ASpit::xaSaveGame(const ArgumentArray &args) { _vm->runSaveDialog(); } +void ASpit::xaResumeGame(const ArgumentArray &args) { + +} + +void ASpit::xaOptions(const ArgumentArray &args) { + _vm->runOptionsDialog(); +} + void ASpit::xadisablemenureturn(const ArgumentArray &args) { // This function would normally enable the Windows menu item for // returning to the main menu. Ctrl+r will do this instead. diff --git a/engines/mohawk/riven_stacks/aspit.h b/engines/mohawk/riven_stacks/aspit.h index ba6f3c31f2..3ab02d7c17 100644 --- a/engines/mohawk/riven_stacks/aspit.h +++ b/engines/mohawk/riven_stacks/aspit.h @@ -37,7 +37,11 @@ public: enum PatchedExternalCommandNameId { kExternalSaveGame = 20, - kExternalRestoreGame = 21 + kExternalRestoreGame = 21, + kExternalResume = 22, + kExternalOptions = 23, + kExternalQuit = 24 + }; // External commands - Main Menu @@ -66,6 +70,8 @@ public: // External commands - ScummVM 25th anniversary specific void xaSaveGame(const ArgumentArray &args); + void xaResumeGame(const ArgumentArray &args); + void xaOptions(const ArgumentArray &args); // External commands - Demo-specific void xadisablemenureturn(const ArgumentArray &args); -- cgit v1.2.3