From 0a5e6e16b45ddae6e7a856e457268dd834ad8a01 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sat, 14 Nov 2015 01:02:38 +0100 Subject: BBVS: Added Russian BBVS Requires Russian to be selected in GUI font. Fails on unknown codec at game beginning. --- engines/bbvs/bbvs.h | 2 +- engines/bbvs/detection.cpp | 11 ++++++++++- engines/bbvs/dialogs.cpp | 30 +++++++++++++++++++++++++++++- 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/engines/bbvs/bbvs.h b/engines/bbvs/bbvs.h index bbd8046a8b..a2e08c84e8 100644 --- a/engines/bbvs/bbvs.h +++ b/engines/bbvs/bbvs.h @@ -226,8 +226,8 @@ public: void continueGameFromQuickSave(); void setNewSceneNum(int newSceneNum); const Common::String getTargetName() { return _targetName; } -private: const ADGameDescription *_gameDescription; +private: Graphics::PixelFormat _pixelFormat; public: Common::RandomSource *_random; diff --git a/engines/bbvs/detection.cpp b/engines/bbvs/detection.cpp index 3e247aad99..2e3c867c63 100644 --- a/engines/bbvs/detection.cpp +++ b/engines/bbvs/detection.cpp @@ -40,12 +40,21 @@ static const ADGameDescription gameDescriptions[] = { { "bbvs", 0, - AD_ENTRY1s("game0001.vnm", "637e5411751c7065bc385dd73d224561", 64004), + AD_ENTRY1s("vspr0001.vnm", "7ffe9b9e7ca322db1d48e86f5130578e", 1166628), Common::EN_ANY, Common::kPlatformWindows, ADGF_NO_FLAGS, GUIO0() }, + { + "bbvs", + 0, + AD_ENTRY1s("vspr0001.vnm", "91c76b1048f93208cd7b1a05ebccb408", 1176976), + Common::RU_RUS, + Common::kPlatformWindows, + ADGF_NO_FLAGS, + GUIO0() + }, AD_TABLE_END_MARKER }; diff --git a/engines/bbvs/dialogs.cpp b/engines/bbvs/dialogs.cpp index af95f06c1e..ef7f3c9320 100644 --- a/engines/bbvs/dialogs.cpp +++ b/engines/bbvs/dialogs.cpp @@ -24,6 +24,7 @@ #include "common/events.h" #include "gui/gui-manager.h" #include "gui/ThemeEval.h" +#include "engines/advancedDetector.h" namespace Bbvs { @@ -53,6 +54,27 @@ static const MenuButton kMenuButtons[] = { {"Back ..", kCmdBack} }; +static const MenuButton kMenuButtonsRu[] = { + // Main menu + {"\xBD\xDE\xD2\xD0\xEF \xD8\xD3\xE0\xD0", kCmdNewGame}, + {"\xBF\xE0\xDE\xD4\xDE\xDB\xD6\xD8\xE2\xEC", kCmdContinue}, + {"\xB5\xE9\xD5 ..", kCmdOptions}, + {"\xBC\xD8\xDD\xD8 \xB8\xD3\xE0\xEB", kCmdMiniGames}, + {"\xB2\xEB\xE5\xDE\xD4", kCmdQuit}, + // Options + {"\xB4\xD5\xD8\xDD\xE1\xE2\xD0\xDB\xDB\xEF\xE6\xD8\xEF", kCmdUninstall}, + {"\xB0\xD2\xE2\xDE\xE0\xEB", kCmdCredits}, + {"\xBF\xE0\xDE\xDB\xDE\xD3", kCmdOpening}, + {"\xC0\xD5\xDA\xDB\xD0\xDC\xD0", kCmdChicksNStuff}, + {"\xBD\xD0\xD7\xD0\xD4 ..", kCmdBack}, + // Minigames + {"\xC1\xDD\xD0\xD9\xDF\xD5\xE0", kCmdHockALoogie}, + {"\xB6\xE3\xDA\xDE\xD6\xD0\xE0\xDA\xD0", kCmdBugJustice}, + {"\xBF\xE2\xD5\xDD\xD8\xE1", kCmdCourtChaos}, + {"\xB6\xD8\xD0\xDE\xD9 \xB7\xD2\xE3\xDA", kCmdAirGuitar}, + {"\xBD\xD0\xD7\xD0\xD4 ..", kCmdBack} +}; + MainMenu::MainMenu(BbvsEngine *vm) : Dialog(0, 0, 1, 1), _vm(vm) { init(); } @@ -160,7 +182,13 @@ void MainMenu::handleCommand(GUI::CommandSender *sender, uint32 command, uint32 void MainMenu::gotoMenuScreen(int screen) { for (int i = 0; i < 5; ++i) { - const MenuButton *btn = &kMenuButtons[screen * 5 + i]; + const MenuButton *btn; + + if (_vm->_gameDescription->language == Common::RU_RUS) { + btn = &kMenuButtonsRu[screen * 5 + i]; + } else { + btn = &kMenuButtons[screen * 5 + i]; + } _buttons[i]->setLabel(btn->label); _buttons[i]->setCmd(btn->cmd); _buttons[i]->setEnabled(btn->cmd != 0); -- cgit v1.2.3