Hooks
static bool BeforeCvDllGame_CanOpenCityScreen(CvDllGame* self, PlayerTypes eOpener, ICvCity1* pkCity, bool& result);static void AfterCvDllGame_CanOpenCityScreen(CvDllGame* self, PlayerTypes eOpener, ICvCity1* pkCity, bool& result);static bool ReplaceCvDllGame_CanOpenCityScreen(bool (*original)(CvDllGame*, PlayerTypes, ICvCity1*), CvDllGame* self, PlayerTypes eOpener, ICvCity1* pkCity);// CivHooks.h gives this hook point no types, so nothing checks these hooks' parameters.host->RegisterHook(host->pluginIndex, CivHooks::CvDllGame_CanOpenCityScreen::ID, CIV_HOOK_BEFORE, (void*)&BeforeCvDllGame_CanOpenCityScreen);host->RegisterHook(host->pluginIndex, CivHooks::CvDllGame_CanOpenCityScreen::ID, CIV_HOOK_AFTER, (void*)&AfterCvDllGame_CanOpenCityScreen);host->RegisterHook(host->pluginIndex, CivHooks::CvDllGame_CanOpenCityScreen::ID, CIV_HOOK_REPLACE, (void*)&ReplaceCvDllGame_CanOpenCityScreen);