Hooks
static bool BeforeCvDllGameContext_GetHexDebugLayerString(CvDllGameContext* self, ICvPlot1* pPlot, const char* szLayerName, PlayerTypes ePlayer, char* szBuffer, unsigned int uiBufferLength, bool& result);static void AfterCvDllGameContext_GetHexDebugLayerString(CvDllGameContext* self, ICvPlot1* pPlot, const char* szLayerName, PlayerTypes ePlayer, char* szBuffer, unsigned int uiBufferLength, bool& result);static bool ReplaceCvDllGameContext_GetHexDebugLayerString(bool (*original)(CvDllGameContext*, ICvPlot1*, const char*, PlayerTypes, char*, unsigned int), CvDllGameContext* self, ICvPlot1* pPlot, const char* szLayerName, PlayerTypes ePlayer, char* szBuffer, unsigned int uiBufferLength);// CivHooks.h gives this hook point no types, so nothing checks these hooks' parameters.host->RegisterHook(host->pluginIndex, CivHooks::CvDllGameContext_GetHexDebugLayerString::ID, CIV_HOOK_BEFORE, (void*)&BeforeCvDllGameContext_GetHexDebugLayerString);host->RegisterHook(host->pluginIndex, CivHooks::CvDllGameContext_GetHexDebugLayerString::ID, CIV_HOOK_AFTER, (void*)&AfterCvDllGameContext_GetHexDebugLayerString);host->RegisterHook(host->pluginIndex, CivHooks::CvDllGameContext_GetHexDebugLayerString::ID, CIV_HOOK_REPLACE, (void*)&ReplaceCvDllGameContext_GetHexDebugLayerString);
Code
699bool CvDllGameContext::GetHexDebugLayerString(ICvPlot1* pPlot, const char* szLayerName, PlayerTypes ePlayer, char* szBuffer, unsigned int uiBufferLength)700{701 CvPlot* pkPlot = (NULL != pPlot)? static_cast<CvDllPlot*>(pPlot)->GetInstance() : NULL;702 if(pkPlot != NULL)703 {704 return GC.GetHexDebugLayerString(pkPlot, szLayerName, ePlayer, szBuffer, uiBufferLength);705 }706707 return false;708}