[Scummvm-git-logs] scummvm master -> 33a47d23b85694015fe2aa340219d2b60db873f3
sev-
sev at scummvm.org
Wed Sep 2 16:42:19 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
33a47d23b8 ILLUSIONS: Fixed crash in Duckman demo on attempt to launch the menu
Commit: 33a47d23b85694015fe2aa340219d2b60db873f3
https://github.com/scummvm/scummvm/commit/33a47d23b85694015fe2aa340219d2b60db873f3
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-09-02T18:41:28+02:00
Commit Message:
ILLUSIONS: Fixed crash in Duckman demo on attempt to launch the menu
Fixes #11190
Changed paths:
engines/illusions/duckman/menusystem_duckman.cpp
engines/illusions/duckman/menusystem_duckman.h
diff --git a/engines/illusions/duckman/menusystem_duckman.cpp b/engines/illusions/duckman/menusystem_duckman.cpp
index b60722b6f5..d35e402118 100644
--- a/engines/illusions/duckman/menusystem_duckman.cpp
+++ b/engines/illusions/duckman/menusystem_duckman.cpp
@@ -77,6 +77,8 @@ BaseMenu *DuckmanMenuSystem::createMenuById(int menuId) {
switch (menuId) {
case kDuckmanMainMenu:
return createMainMenu();
+ case kDuckmanMainMenuDemo:
+ return createMainMenuDemo();
case kDuckmanPauseMenu:
return createPauseMenu();
case kDuckmanQueryRestartMenu:
@@ -107,6 +109,15 @@ BaseMenu *DuckmanMenuSystem::createMainMenu() {
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)));
+ return menu;
+}
+
BaseMenu *DuckmanMenuSystem::createLoadGameMenu() {
return 0; // TODO
}
@@ -277,10 +288,9 @@ int DuckmanMenuSystem::convertRootMenuId(uint32 menuId) {
case 0x180007: // load game failed menu
return kDuckmanLoadGameFailedMenu;
- /* TODO CHECKME Another pause menu?
case 0x180008:
- menuData = &g_menuDataPause;
- */
+ return kDuckmanMainMenuDemo;
+
default:
error("DuckmanMenuSystem() Menu ID %08X not found", menuId);
}
diff --git a/engines/illusions/duckman/menusystem_duckman.h b/engines/illusions/duckman/menusystem_duckman.h
index bc67d73147..e1f2033c6a 100644
--- a/engines/illusions/duckman/menusystem_duckman.h
+++ b/engines/illusions/duckman/menusystem_duckman.h
@@ -36,6 +36,7 @@ enum SliderActionType {
enum {
kDuckmanMainMenu,
+ kDuckmanMainMenuDemo,
kDuckmanLoadGameMenu,
kDuckmanLoadGameFailedMenu,
kDuckmanOptionsMenu,
@@ -66,6 +67,7 @@ public://protected:
BaseMenu *getMenuById(int menuId) override;
BaseMenu *createMenuById(int menuId);
BaseMenu *createMainMenu();
+ BaseMenu *createMainMenuDemo();
BaseMenu *createLoadGameMenu();
BaseMenu *createLoadGameFailedMenu();
BaseMenu *createOptionsMenu();
More information about the Scummvm-git-logs
mailing list