diff --git a/engines/neverhood/menumodule.cpp b/engines/neverhood/menumodule.cpp index 5aa187fea81..61884674fd1 100644 --- a/engines/neverhood/menumodule.cpp +++ b/engines/neverhood/menumodule.cpp @@ -344,6 +344,13 @@ uint32 MenuButton::handleMessage(int messageNum, const MessageParam ¶m, Enti return messageResult; } +bool MainMenu::hasMakingOf() const { + for (uint i = 0; kMakingOfSmackerFileHashList[i]; i++) + if (_vm->_res->exists(kMakingOfSmackerFileHashList[i])) + return true; + return false; +} + MainMenu::MainMenu(NeverhoodEngine *vm, Module *parentModule) : Scene(vm, parentModule) { @@ -382,6 +389,8 @@ MainMenu::MainMenu(NeverhoodEngine *vm, Module *parentModule) insertStaticSprite(0x0C24C0EE, 100); // "Music is off" button for (uint buttonIndex = 0; buttonIndex < 9; ++buttonIndex) { + if (buttonIndex == kMainMenuMakingOf && !hasMakingOf()) + continue; Sprite *menuButton = insertSprite(this, buttonIndex, kMenuButtonFileHashes[buttonIndex], kMenuButtonCollisionBounds[buttonIndex]); addCollisionSprite(menuButton); diff --git a/engines/neverhood/menumodule.h b/engines/neverhood/menumodule.h index cda2e9b1611..e3715f42617 100644 --- a/engines/neverhood/menumodule.h +++ b/engines/neverhood/menumodule.h @@ -78,6 +78,7 @@ protected: class MainMenu : public Scene { public: MainMenu(NeverhoodEngine *vm, Module *parentModule); + bool hasMakingOf() const; protected: uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); };