[Scummvm-git-logs] scummvm master -> 5737978eac5fb56f46711581daaeed450562fdf4

sev- sev at scummvm.org
Sun Sep 13 00:16:23 UTC 2020


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
a688ce330a ILLUSIONS: Added support for Russian Duckman
5737978eac NEWS: Mention support for Russian Duckman


Commit: a688ce330aadfefc5b544f7d05b801c6aece8a3f
    https://github.com/scummvm/scummvm/commit/a688ce330aadfefc5b544f7d05b801c6aece8a3f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-09-13T02:15:53+02:00

Commit Message:
ILLUSIONS: Added support for Russian Duckman

Changed paths:
    engines/illusions/detection.cpp
    engines/illusions/duckman/menusystem_duckman.cpp
    engines/illusions/illusions.h


diff --git a/engines/illusions/detection.cpp b/engines/illusions/detection.cpp
index e0480902d5..ae942beb1e 100644
--- a/engines/illusions/detection.cpp
+++ b/engines/illusions/detection.cpp
@@ -48,6 +48,10 @@ int IllusionsEngine::getGameId() const {
 	return _gameDescription->gameId;
 }
 
+Common::Language IllusionsEngine::getGameLanguage() const {
+	return _gameDescription->desc.language;
+}
+
 static const IllusionsGameDescription gameDescriptions[] = {
 	{
 		{
@@ -101,6 +105,19 @@ static const IllusionsGameDescription gameDescriptions[] = {
 		kGameIdDuckman
 	},
 
+	{
+		{
+			"duckman",
+			0,
+			AD_ENTRY1s("duckman.gam", "a65f9b58427b3543882bddf36abe5878", 29564928),
+			Common::RU_RUS,
+			Common::kPlatformWindows,
+			ADGF_DROPPLATFORM,
+			GUIO0()
+		},
+		kGameIdDuckman
+	},
+
 	{AD_TABLE_END_MARKER, 0}
 };
 
diff --git a/engines/illusions/duckman/menusystem_duckman.cpp b/engines/illusions/duckman/menusystem_duckman.cpp
index d35e402118..a219b23b0d 100644
--- a/engines/illusions/duckman/menusystem_duckman.cpp
+++ b/engines/illusions/duckman/menusystem_duckman.cpp
@@ -102,19 +102,35 @@ BaseMenu *DuckmanMenuSystem::createMenuById(int menuId) {
 
 BaseMenu *DuckmanMenuSystem::createMainMenu() {
 	BaseMenu *menu = new BaseMenu(this, 0x00120003, 12, 17, 11, 27, 0);
-	menu->addMenuItem(new MenuItem("Start New Game", new MenuActionReturnChoice(this, 11)));
-	menu->addMenuItem(new MenuItem("Load Saved Game", new MenuActionLoadGame(this, 1)));
-	menu->addMenuItem(new MenuItem("Options", new MenuActionEnterMenu(this, kDuckmanOptionsMenu)));
-	menu->addMenuItem(new MenuItem("Quit Game", new MenuActionEnterQueryMenu(this, kDuckmanQueryQuitMenu, 12)));
+
+	if (_vm->getGameLanguage() != Common::RU_RUS) {
+		menu->addMenuItem(new MenuItem("Start New Game", new MenuActionReturnChoice(this, 11)));
+		menu->addMenuItem(new MenuItem("Load Saved Game", new MenuActionLoadGame(this, 1)));
+		menu->addMenuItem(new MenuItem("Options", new MenuActionEnterMenu(this, kDuckmanOptionsMenu)));
+		menu->addMenuItem(new MenuItem("Quit Game", new MenuActionEnterQueryMenu(this, kDuckmanQueryQuitMenu, 12)));
+	} else {
+		menu->addMenuItem(new MenuItem("3AHOBO      ", new MenuActionReturnChoice(this, 11)));
+		menu->addMenuItem(new MenuItem("B6IHECEM ", new MenuActionLoadGame(this, 1)));
+		menu->addMenuItem(new MenuItem("YCTAH .", new MenuActionEnterMenu(this, kDuckmanOptionsMenu)));
+		menu->addMenuItem(new MenuItem("B6IXOD   ", new MenuActionEnterQueryMenu(this, kDuckmanQueryQuitMenu, 12)));
+	}
+
 	return menu;
 }
 
 BaseMenu *DuckmanMenuSystem::createMainMenuDemo() {
 	BaseMenu *menu = new BaseMenu(this, 0x00120003, 12, 17, 11, 27, 0);
-	menu->addMenuItem(new MenuItem("Start New Game", new MenuActionReturnChoice(this, 2)));
-	menu->addMenuItem(new MenuItem("Load Saved Game", new MenuActionLoadGame(this, 1)));
-	menu->addMenuItem(new MenuItem("Options", new MenuActionEnterMenu(this, kDuckmanOptionsMenu)));
-	menu->addMenuItem(new MenuItem("Quit Game", new MenuActionEnterQueryMenu(this, kDuckmanQueryQuitMenu, 3)));
+	if (_vm->getGameLanguage() != Common::RU_RUS) {
+		menu->addMenuItem(new MenuItem("Start New Game", new MenuActionReturnChoice(this, 2)));
+		menu->addMenuItem(new MenuItem("Load Saved Game", new MenuActionLoadGame(this, 1)));
+		menu->addMenuItem(new MenuItem("Options", new MenuActionEnterMenu(this, kDuckmanOptionsMenu)));
+		menu->addMenuItem(new MenuItem("Quit Game", new MenuActionEnterQueryMenu(this, kDuckmanQueryQuitMenu, 3)));
+	} else {
+		menu->addMenuItem(new MenuItem("3AHOBO      ", new MenuActionReturnChoice(this, 2)));
+		menu->addMenuItem(new MenuItem("B6IHECEM ", new MenuActionLoadGame(this, 1)));
+		menu->addMenuItem(new MenuItem("YCTAH .", new MenuActionEnterMenu(this, kDuckmanOptionsMenu)));
+		menu->addMenuItem(new MenuItem("B6IXOD   ", new MenuActionEnterQueryMenu(this, kDuckmanQueryQuitMenu, 3)));
+	}
 	return menu;
 }
 
@@ -152,53 +168,93 @@ MenuItem *DuckmanMenuSystem::createOptionsSliderMenuItem(MenuActionUpdateSlider
 
 BaseMenu *DuckmanMenuSystem::createOptionsMenu() {
 	BaseMenu *menu = new BaseMenu(this, 0x00120003, 12, 17, 11, 27, 6);
-	menu->addText("              GAME OPTIONS             @@@@");
-	menu->addText("--------------------------------------");
-
 	MenuActionUpdateSlider *sfxSlider;
 	MenuActionUpdateSlider *musicSlider;
 	MenuActionUpdateSlider *speechSlider;
 	MenuActionUpdateSlider *textDurationSlider;
 
-	menu->addMenuItem(createOptionsSliderMenuItem(&sfxSlider, "SFX Volume     @@", SFX, menu));
-	menu->addMenuItem(createOptionsSliderMenuItem(&musicSlider, "Music Volume  @@@", MUSIC, menu));
-	menu->addMenuItem(createOptionsSliderMenuItem(&speechSlider, "Speech Volume ", VOICE, menu));
-	menu->addMenuItem(createOptionsSliderMenuItem(&textDurationSlider, "Text Duration @@@", TEXT_DURATION, menu));
+	if (_vm->getGameLanguage() != Common::RU_RUS) {
+		menu->addText("              GAME OPTIONS             @@@@");
+		menu->addText("--------------------------------------");
 
-	menu->addMenuItem(new MenuItem("Restore Defaults", new MenuActionResetOptionSliders(this, sfxSlider, musicSlider, speechSlider, textDurationSlider)));
+		menu->addMenuItem(createOptionsSliderMenuItem(&sfxSlider, "SFX Volume     @@", SFX, menu));
+		menu->addMenuItem(createOptionsSliderMenuItem(&musicSlider, "Music Volume  @@@", MUSIC, menu));
+		menu->addMenuItem(createOptionsSliderMenuItem(&speechSlider, "Speech Volume ", VOICE, menu));
+		menu->addMenuItem(createOptionsSliderMenuItem(&textDurationSlider, "Text Duration @@@", TEXT_DURATION, menu));
 
-	menu->addMenuItem(new MenuItem("Back", new MenuActionLeaveMenu(this)));
+		menu->addMenuItem(new MenuItem("Restore Defaults", new MenuActionResetOptionSliders(this, sfxSlider, musicSlider, speechSlider, textDurationSlider)));
+
+		menu->addMenuItem(new MenuItem("Back", new MenuActionLeaveMenu(this)));
+	} else {
+		menu->addText("              YCTAHOBKA   ");
+		menu->addText("--------------------------------------");
+
+		menu->addMenuItem(createOptionsSliderMenuItem(&sfxSlider, "3BYK           @@", SFX, menu));
+		menu->addMenuItem(createOptionsSliderMenuItem(&musicSlider, "MY36IKA       @@@", MUSIC, menu));
+		menu->addMenuItem(createOptionsSliderMenuItem(&speechSlider, "6A3AP         ", VOICE, menu));
+		menu->addMenuItem(createOptionsSliderMenuItem(&textDurationSlider, "TEKCT         @@@", TEXT_DURATION, menu));
+
+		menu->addMenuItem(new MenuItem("Restore Defaults", new MenuActionResetOptionSliders(this, sfxSlider, musicSlider, speechSlider, textDurationSlider)));
+
+		menu->addMenuItem(new MenuItem("Back", new MenuActionLeaveMenu(this)));
+	}
 	return menu;
 }
 
 BaseMenu *DuckmanMenuSystem::createPauseMenu() {
 	BaseMenu *menu = new BaseMenu(this, 0x00120003, 12, 17, 11, 27, 1);
-	menu->addText("   Game Paused");
-	menu->addText("--------------------");
-	menu->addMenuItem(new MenuItem("Resume", new MenuActionReturnChoice(this, 21)));
-	menu->addMenuItem(new MenuItem("Load Game", new MenuActionLoadGame(this, 1)));
-	menu->addMenuItem(new MenuItem("Save Game", new MenuActionSaveGame(this, 11)));
-	menu->addMenuItem(new MenuItem("Restart Game", new MenuActionEnterQueryMenu(this, kDuckmanQueryRestartMenu, 2)));
-	menu->addMenuItem(new MenuItem("Options", new MenuActionEnterMenu(this, kDuckmanOptionsMenu)));
-	menu->addMenuItem(new MenuItem("Quit Game", new MenuActionEnterQueryMenu(this, kDuckmanQueryQuitMenu, 23)));
+	if (_vm->getGameLanguage() != Common::RU_RUS) {
+		menu->addText("   Game Paused");
+		menu->addText("--------------------");
+		menu->addMenuItem(new MenuItem("Resume", new MenuActionReturnChoice(this, 21)));
+		menu->addMenuItem(new MenuItem("Load Game", new MenuActionLoadGame(this, 1)));
+		menu->addMenuItem(new MenuItem("Save Game", new MenuActionSaveGame(this, 11)));
+		menu->addMenuItem(new MenuItem("Restart Game", new MenuActionEnterQueryMenu(this, kDuckmanQueryRestartMenu, 2)));
+		menu->addMenuItem(new MenuItem("Options", new MenuActionEnterMenu(this, kDuckmanOptionsMenu)));
+		menu->addMenuItem(new MenuItem("Quit Game", new MenuActionEnterQueryMenu(this, kDuckmanQueryQuitMenu, 23)));
+	} else {
+		menu->addText("   OCTAHOBKA");
+		menu->addText("--------------------");
+		menu->addMenuItem(new MenuItem("YXHEM ", new MenuActionReturnChoice(this, 21)));
+		menu->addMenuItem(new MenuItem("B6IHECEM ", new MenuActionLoadGame(this, 1)));
+		menu->addMenuItem(new MenuItem("BHECEM   ", new MenuActionSaveGame(this, 11)));
+		menu->addMenuItem(new MenuItem("3AHOBO      ", new MenuActionEnterQueryMenu(this, kDuckmanQueryRestartMenu, 2)));
+		menu->addMenuItem(new MenuItem("YCTAH .", new MenuActionEnterMenu(this, kDuckmanOptionsMenu)));
+		menu->addMenuItem(new MenuItem("B6IXOD   ", new MenuActionEnterQueryMenu(this, kDuckmanQueryQuitMenu, 23)));
+	}
 	return menu;
 }
 
 BaseMenu *DuckmanMenuSystem::createQueryRestartMenu() {
 	BaseMenu *menu = new BaseMenu(this, 0x00120003, 12, 17, 11, 27, 2);
-	menu->addText("Do you really want to restart?");
-	menu->addText("-----------------------------------");
-	menu->addMenuItem(new MenuItem("Yes, let's try again", new MenuActionReturnChoice(this, getQueryConfirmationChoiceIndex())));
-	menu->addMenuItem(new MenuItem("No, just kidding", new MenuActionLeaveMenu(this)));
+	if (_vm->getGameLanguage() != Common::RU_RUS) {
+		menu->addText("Do you really want to restart?");
+		menu->addText("-----------------------------------");
+		menu->addMenuItem(new MenuItem("Yes, let's try again", new MenuActionReturnChoice(this, getQueryConfirmationChoiceIndex())));
+		menu->addMenuItem(new MenuItem("No, just kidding", new MenuActionLeaveMenu(this)));
+	} else {
+		menu->addText("TO4HO  3AHOBO  ?              ");
+		menu->addText("-----------------------------------");
+		menu->addMenuItem(new MenuItem("DA , ECTECTBEHHO   ", new MenuActionReturnChoice(this, getQueryConfirmationChoiceIndex())));
+		menu->addMenuItem(new MenuItem("HET , ODHO3HA4HO", new MenuActionLeaveMenu(this)));
+	}
 	return menu;
 }
 
 BaseMenu *DuckmanMenuSystem::createQueryQuitMenu() {
 	BaseMenu *menu = new BaseMenu(this, 0x00120003, 12, 17, 11, 27, 2);
-	menu->addText("Do you really want to quit?");
-	menu->addText("-------------------------------");
-	menu->addMenuItem(new MenuItem("Yes, I'm outta here", new MenuActionReturnChoice(this, getQueryConfirmationChoiceIndex())));
-	menu->addMenuItem(new MenuItem("No, just kidding", new MenuActionLeaveMenu(this)));
+	if (_vm->getGameLanguage() != Common::RU_RUS) {
+		menu->addText("Do you really want to quit?");
+		menu->addText("-------------------------------");
+		menu->addMenuItem(new MenuItem("Yes, I'm outta here", new MenuActionReturnChoice(this, getQueryConfirmationChoiceIndex())));
+		menu->addMenuItem(new MenuItem("No, just kidding", new MenuActionLeaveMenu(this)));
+	} else {
+		menu->addText("TO4HO  HA  B6IXOD  ?       ");
+		menu->addText("-------------------------------");
+		menu->addMenuItem(new MenuItem("DA , ECTECTBEHHO   ", new MenuActionReturnChoice(this, getQueryConfirmationChoiceIndex())));
+		menu->addMenuItem(new MenuItem("HET , ODHO3HA4HO", new MenuActionLeaveMenu(this)));
+	}
+
 	return menu;
 }
 
diff --git a/engines/illusions/illusions.h b/engines/illusions/illusions.h
index 8d0a238c0c..5fb4344023 100644
--- a/engines/illusions/illusions.h
+++ b/engines/illusions/illusions.h
@@ -146,6 +146,7 @@ public:
 	int16 _menuChoiceOfs;
 
 	int getGameId() const;
+	Common::Language getGameLanguage() const;
 
 	void runUpdateFunctions();
 	int updateActors(uint flags);


Commit: 5737978eac5fb56f46711581daaeed450562fdf4
    https://github.com/scummvm/scummvm/commit/5737978eac5fb56f46711581daaeed450562fdf4
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-09-13T02:15:53+02:00

Commit Message:
NEWS: Mention support for Russian Duckman

Changed paths:
    NEWS.md


diff --git a/NEWS.md b/NEWS.md
index b7a22cbd0d..7f69fe5a16 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -47,6 +47,9 @@ For a more comprehensive changelog of the latest experimental code, see:
    - Added support for Russian fan-translation.
    - Fixed animation speed.
 
+ Illusions:
+   - Added support for Russian Duckman.
+
  Kyra:
    - Added support for the SegaCD version of Eye of the Beholder I (with CD-Audio, animated
      cutscenes and map function).




More information about the Scummvm-git-logs mailing list