/* ScummVM - Graphic Adventure Engine * * ScummVM is the legal property of its developers, whose names * are too numerous to list here. Please refer to the COPYRIGHT * file distributed with this source distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #include "graphics/macgui/macwindowmanager.h" #include "graphics/macgui/macmenu.h" #include "pink/pink.h" #include "pink/director.h" #include "pink/objects/actors/lead_actor.h" namespace Pink { enum { kNewGameAction = 57600, kLoadSave = 57601, kSaveAction = 57603, kSaveAsAction = 57604, kSongsAction = 32865, kSoundSettingsAction = 32772, kLastSavesAction = 57616, kPauseAction = 32854, kExitAction = 57665 }; enum { kShowContent = 32771, kShowGreece = 32866, kShowIndonesia = 32867, kShowIsrael = 32868, kShowKenya = 32869, kShowRussia = 32870 }; enum { kShowPDAAction = 32793, kShowAustraliaArt = 32796, kShowAustraliaCloth = 32797, kShowAustraliaFood = 32798, kShowAustraliaHistory = 32799, kShowAustraliaNature = 32800, kShowAustraliaPeople = 32801, kShowAustraliaPlaces = 32802, kShowAustraliaReligion = 32803, kShowBhutanArt = 32804, kShowBhutanCloth = 32805, kShowBhutanFood = 32806, kShowBhutanHistory = 32807, kShowBhutanNature = 32808, kShowBhutanPeople = 32809, kShowBhutanPlaces = 32810, kShowBhutanReligion = 32811, kShowChinaArt = 32812, kShowChinaCloth = 32813, kShowChinaFood = 32814, kShowChinaHistory = 32815, kShowChinaNature = 32816, kShowChinaPeople = 32817, kShowChinaPlaces = 32818, kShowChinaReligion = 32819, kShowEnglandArt = 32820, kShowEnglandCloth = 32821, kShowEnglandFood = 32822, kShowEnglandHistory = 32823, kShowEnglandNature = 32824, kShowEnglandPeople = 32825, kShowEnglandPlaces = 32826, kShowEnglandReligion = 32827, kShowEgyptArt = 32828, kShowEgyptCloth = 32829, kShowEgyptFood = 32830, kShowEgyptHistory = 32831, kShowEgyptNature = 32832, kShowEgyptPeople = 32833, kShowEgyptPlaces = 32834, kShowEgyptReligion = 32835, kShowIndiaArt = 32836, kShowIndiaCloth = 32837, kShowIndiaFood = 32838, kShowIndiaHistory = 32839, kShowIndiaNature = 32840, kShowIndiaPeople = 32841, kShowIndiaPlaces = 32842, kShowIndiaReligion = 32843 }; enum { kShowGameWebPage = 32844, kShowTechSupport = 32778, kShowOnlineHints = 32777, kShowWanderLustWebPage = 32775, kShowHelp = 32846, kShowHints = 32847, kShowWinnnerPage = 32779, kShowWanderlustInteractive = 32849, kShowMGM = 32848, kShowDiagnostics = 32850, kShowAbout = 57664 }; static void menuCommandsCallback(int action, Common::U32String &, void *data) { PinkEngine *engine = (PinkEngine *)data; engine->executeMenuCommand(action); } void PinkEngine::initMenu(Common::PEResources &exeResources) { _director->getWndManager().setEnginePauseCallback(this, &pauseEngine); _menu = Graphics::MacMenu::createMenuFromPEexe(exeResources, &_director->getWndManager()); _menu->calcDimensions(); _menu->setCommandsCallback(&menuCommandsCallback, this); } void PinkEngine::executeMenuCommand(uint id) { switch (id) { case kNewGameAction: { const Common::String moduleName = _modules[0]->getName(); initModule(moduleName, "", nullptr); break; } case kLoadSave: case kSaveAction: case kSaveAsAction: case kSoundSettingsAction: case kLastSavesAction: case kPauseAction: case kExitAction: openMainMenuDialog(); break; case kSongsAction: initModule("Muzik", "", nullptr); break; case kShowPDAAction: _actor->loadPDA(kNavigatePage); break; case kShowAustraliaArt: _actor->loadPDA("AUSART"); break; case kShowAustraliaCloth: _actor->loadPDA("AUSCLO"); break; case kShowAustraliaFood: _actor->loadPDA("AUSFOO"); break; case kShowAustraliaHistory: _actor->loadPDA("AUSHIS"); break; case kShowAustraliaNature: _actor->loadPDA("AUSNAT"); break; case kShowAustraliaPeople: _actor->loadPDA("AUSPEO"); break; case kShowAustraliaPlaces: _actor->loadPDA("AUSPLA"); break; case kShowAustraliaReligion: _actor->loadPDA("AUSREL"); break; case kShowBhutanArt: _actor->loadPDA("BHUART"); break; case kShowBhutanCloth: _actor->loadPDA("BHUCLO"); break; case kShowBhutanFood: _actor->loadPDA("BHUFOO"); break; case kShowBhutanHistory: _actor->loadPDA("BHUHIS"); break; case kShowBhutanNature: _actor->loadPDA("BHUNAT"); break; case kShowBhutanPeople: _actor->loadPDA("BHUPEO"); break; case kShowBhutanPlaces: _actor->loadPDA("BHUPLA"); break; case kShowBhutanReligion: _actor->loadPDA("BHUREL"); break; case kShowChinaArt: _actor->loadPDA("CHIART"); break; case kShowChinaCloth: _actor->loadPDA("CHICLO"); break; case kShowChinaFood: _actor->loadPDA("CHIFOO"); break; case kShowChinaHistory: _actor->loadPDA("CHIHIS"); break; case kShowChinaNature: _actor->loadPDA("CHINAT"); break; case kShowChinaPeople: _actor->loadPDA("CHIPEO"); break; case kShowChinaPlaces: _actor->loadPDA("CHIPLA"); break; case kShowChinaReligion: _actor->loadPDA("CHIREL"); break; case kShowEnglandArt: _actor->loadPDA("BRIART"); break; case kShowEnglandCloth: _actor->loadPDA("BRICLO"); break; case kShowEnglandFood: _actor->loadPDA("BRIFOO"); break; case kShowEnglandHistory: _actor->loadPDA("BRIHIS"); break; case kShowEnglandNature: _actor->loadPDA("BRINAT"); break; case kShowEnglandPeople: _actor->loadPDA("BRIPEO"); break; case kShowEnglandPlaces: _actor->loadPDA("BRIPLA"); break; case kShowEnglandReligion: _actor->loadPDA("BRIREL"); break; case kShowEgyptArt: _actor->loadPDA("BRIART"); break; case kShowEgyptCloth: _actor->loadPDA("BRICLO"); break; case kShowEgyptFood: _actor->loadPDA("BRIFOO"); break; case kShowEgyptHistory: _actor->loadPDA("BRIHIS"); break; case kShowEgyptNature: _actor->loadPDA("BRINAT"); break; case kShowEgyptPeople: _actor->loadPDA("BRIPEO"); break; case kShowEgyptPlaces: _actor->loadPDA("BRIPLA"); break; case kShowEgyptReligion: _actor->loadPDA("BRIREL"); break; case kShowIndiaArt: _actor->loadPDA("INDART"); break; case kShowIndiaCloth: _actor->loadPDA("INDCLO"); break; case kShowIndiaFood: _actor->loadPDA("INDFOO"); break; case kShowIndiaHistory: _actor->loadPDA("INDHIS"); break; case kShowIndiaNature: _actor->loadPDA("INDNAT"); break; case kShowIndiaPeople: _actor->loadPDA("INDPEO"); break; case kShowIndiaPlaces: _actor->loadPDA("INDPLA"); break; case kShowIndiaReligion: _actor->loadPDA("INDREL"); break; case kShowContent: _actor->loadPDA("TOC"); break; case kShowGreece: _actor->loadPDA("GREOVER"); break; case kShowIndonesia: _actor->loadPDA("INDOVER"); break; case kShowIsrael: _actor->loadPDA("ISROVER"); break; case kShowKenya: _actor->loadPDA("KENOVER"); break; case kShowRussia: _actor->loadPDA("SIBOVER"); break; default: warning("Unprocessed command id %d", id); break; } } } // End of namespace Pink