#include "game_mode.hpp" #include #include "options.h" namespace devilution { namespace { std::vector> IsHellfireChangeHandlers; void OptionGameModeChanged() { gbIsHellfire = *GetOptions().GameMode.gameMode == StartUpGameMode::Hellfire; for (tl::function_ref handler : IsHellfireChangeHandlers) { handler(); } } const auto OptionChangeHandlerGameMode = (GetOptions().GameMode.gameMode.SetValueChangedCallback(OptionGameModeChanged), true); void OptionSharewareChanged() { gbIsSpawn = *GetOptions().GameMode.shareware; } const auto OptionChangeHandlerShareware = (GetOptions().GameMode.shareware.SetValueChangedCallback(OptionSharewareChanged), true); } // namespace bool gbIsSpawn; bool gbIsHellfire; bool gbVanilla; bool forceHellfire; void AddIsHellfireChangeHandler(tl::function_ref callback) { IsHellfireChangeHandlers.push_back(callback); } } // namespace devilution