From 21963add95b3a628abebfd0d749cd49a94398fb4 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Thu, 26 Aug 2021 04:57:41 +0200 Subject: [PATCH] Clean up hellfire differences --- Source/DiabloUI/mainmenu.cpp | 9 ++------- Source/towners.cpp | 26 ++++++++++++++++---------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/Source/DiabloUI/mainmenu.cpp b/Source/DiabloUI/mainmenu.cpp index 669206ada..0e075cc11 100644 --- a/Source/DiabloUI/mainmenu.cpp +++ b/Source/DiabloUI/mainmenu.cpp @@ -37,13 +37,8 @@ void MainmenuLoad(const char *name, void (*fnSound)(const char *file)) vecMenuItems.push_back(std::make_unique(_("Multi Player"), MAINMENU_MULTIPLAYER)); vecMenuItems.push_back(std::make_unique(_("Replay Intro"), MAINMENU_REPLAY_INTRO)); vecMenuItems.push_back(std::make_unique(_("Support"), MAINMENU_SHOW_SUPPORT)); - if (gbIsHellfire) { - vecMenuItems.push_back(std::make_unique(_("Credits"), MAINMENU_SHOW_CREDITS)); - vecMenuItems.push_back(std::make_unique(_("Exit Hellfire"), MAINMENU_EXIT_DIABLO)); - } else { - vecMenuItems.push_back(std::make_unique(_("Show Credits"), MAINMENU_SHOW_CREDITS)); - vecMenuItems.push_back(std::make_unique(_("Exit Diablo"), MAINMENU_EXIT_DIABLO)); - } + vecMenuItems.push_back(std::make_unique(_("Show Credits"), MAINMENU_SHOW_CREDITS)); + vecMenuItems.push_back(std::make_unique(gbIsHellfire ? _("Exit Hellfire") : _("Exit Diablo"), MAINMENU_EXIT_DIABLO)); if (!gbSpawned || gbIsHellfire) { if (gbIsHellfire) diff --git a/Source/towners.cpp b/Source/towners.cpp index 124d027ec..9594148ef 100644 --- a/Source/towners.cpp +++ b/Source/towners.cpp @@ -810,18 +810,24 @@ _speech_id QuestDialogTable[NUM_TOWNER_TYPES][MAXQUESTS] = { bool IsTownerPresent(_talker_id npc) { - switch (npc) { - case TOWN_DEADGUY: + if (npc == TOWN_DEADGUY) { return Quests[Q_BUTCHER]._qactive != QUEST_NOTAVAIL && Quests[Q_BUTCHER]._qactive != QUEST_DONE; - case TOWN_FARMER: - return gbIsHellfire && sgGameInitInfo.bCowQuest == 0 && Quests[Q_FARMER]._qactive != QUEST_HIVE_DONE; - case TOWN_COWFARM: - return gbIsHellfire && sgGameInitInfo.bCowQuest != 0; - case TOWN_GIRL: - return gbIsHellfire && sgGameInitInfo.bTheoQuest != 0 && Players->_pLvlVisited[17] && Quests[Q_GIRL]._qactive != QUEST_DONE; - default: - return true; } + + if (gbIsHellfire) { + switch (npc) { + case TOWN_FARMER: + return sgGameInitInfo.bCowQuest == 0 && Quests[Q_FARMER]._qactive != QUEST_HIVE_DONE; + case TOWN_COWFARM: + return sgGameInitInfo.bCowQuest != 0; + case TOWN_GIRL: + return sgGameInitInfo.bTheoQuest != 0 && Players->_pLvlVisited[17] && Quests[Q_GIRL]._qactive != QUEST_DONE; + default: + break; + } + } + + return true; } void InitTowners()