Hooks
static bool BeforeCvDllNetMessageHandler_ResponseCityPushOrder(CvDllNetMessageHandler* self, PlayerTypes ePlayer, int iCityID, OrderTypes eOrder, int iData, bool bAlt, bool bShift, bool bCtrl);static void AfterCvDllNetMessageHandler_ResponseCityPushOrder(CvDllNetMessageHandler* self, PlayerTypes ePlayer, int iCityID, OrderTypes eOrder, int iData, bool bAlt, bool bShift, bool bCtrl);static void ReplaceCvDllNetMessageHandler_ResponseCityPushOrder(void (*original)(CvDllNetMessageHandler*, PlayerTypes, int, OrderTypes, int, bool, bool, bool), CvDllNetMessageHandler* self, PlayerTypes ePlayer, int iCityID, OrderTypes eOrder, int iData, bool bAlt, bool bShift, bool bCtrl);// CivHooks.h gives this hook point no types, so nothing checks these hooks' parameters.host->RegisterHook(host->pluginIndex, CivHooks::CvDllNetMessageHandler_ResponseCityPushOrder::ID, CIV_HOOK_BEFORE, (void*)&BeforeCvDllNetMessageHandler_ResponseCityPushOrder);host->RegisterHook(host->pluginIndex, CivHooks::CvDllNetMessageHandler_ResponseCityPushOrder::ID, CIV_HOOK_AFTER, (void*)&AfterCvDllNetMessageHandler_ResponseCityPushOrder);host->RegisterHook(host->pluginIndex, CivHooks::CvDllNetMessageHandler_ResponseCityPushOrder::ID, CIV_HOOK_REPLACE, (void*)&ReplaceCvDllNetMessageHandler_ResponseCityPushOrder);
Code
201void CvDllNetMessageHandler::ResponseCityPushOrder(PlayerTypes ePlayer, int iCityID, OrderTypes eOrder, int iData, bool bAlt, bool bShift, bool bCtrl)202{203 CvPlayerAI& kPlayer = GET_PLAYER(ePlayer);204 CvCity* pkCity = kPlayer.getCity(iCityID);205 if(pkCity != NULL)206 {207 pkCity->pushOrder(eOrder, iData, -1, bAlt, bShift, bCtrl);208 }209}