From 402a9cf8efe6e040b5892cf80b613d907ed01931 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Fri, 15 Jan 2016 11:57:20 +0100 Subject: WAGE: Implemented getAboutMenuItemName() --- engines/wage/world.cpp | 29 +++++++++++++++++++++++------ engines/wage/world.h | 1 + 2 files changed, 24 insertions(+), 6 deletions(-) (limited to 'engines/wage') diff --git a/engines/wage/world.cpp b/engines/wage/world.cpp index ca1e585440..640feed0f0 100644 --- a/engines/wage/world.cpp +++ b/engines/wage/world.cpp @@ -265,10 +265,13 @@ bool World::loadWorld(Common::MacResManager *resMan) { res = resMan->getResource(MKTAG('M','E','N','U'), 2001); if (res != NULL) { - readMenu(res); - warning("STUB: aboutMenu"); - //String aboutMenuItemName = appleMenu[1].split(";")[0]; - //world.setAboutMenuItemName(aboutMenuItemName); + Common::StringArray *menu = readMenu(res); + _aboutMenuItemName = ""; + Common::String string = menu->operator[](0); + + for (int i = 0; i < string.size() && string[i] != ';'; i++) // Read token + _aboutMenuItemName += string[i]; + delete res; } res = resMan->getResource(MKTAG('M','E','N','U'), 2004); @@ -485,9 +488,23 @@ bool World::scenesAreConnected(Scene *scene1, Scene *scene2) { } const char *World::getAboutMenuItemName() { - warning("STUB: getAboutMenuItemName"); + static char menu[256]; + + *menu = '\0'; + + if (_aboutMenuItemName.size() == 0) { + sprintf(menu, "About %s...", _name.c_str()); + } else { // Replace '@' with name + const char *str = _aboutMenuItemName.c_str(); + char *pos = strchr(str, '@'); + if (pos) { + strncat(menu, str, (pos - str)); + strcat(menu, _name.c_str()); + strcat(menu, pos + 1); + } + } - return "About"; + return menu; } } // End of namespace Wage diff --git a/engines/wage/world.h b/engines/wage/world.h index 2d2a16de41..ba1aa164c1 100644 --- a/engines/wage/world.h +++ b/engines/wage/world.h @@ -95,6 +95,7 @@ public: Common::String *_saveBeforeCloseMessage; Common::String *_revertMessage; + Common::String _aboutMenuItemName; Common::String _commandsMenuName; Common::String _commandsMenu; Common::String _weaponsMenuName; -- cgit v1.2.3