Hooks
static bool BeforeCvDllGameContext_GetDefineSTRING(CvDllGameContext* self, char* szBuffer, size_t lenBuffer, const char* szName, bool bReportErrors, bool& result);static void AfterCvDllGameContext_GetDefineSTRING(CvDllGameContext* self, char* szBuffer, size_t lenBuffer, const char* szName, bool bReportErrors, bool& result);static bool ReplaceCvDllGameContext_GetDefineSTRING(bool (*original)(CvDllGameContext*, char*, size_t, const char*, bool), CvDllGameContext* self, char* szBuffer, size_t lenBuffer, const char* szName, bool bReportErrors);// CivHooks.h gives this hook point no types, so nothing checks these hooks' parameters.host->RegisterHook(host->pluginIndex, CivHooks::CvDllGameContext_GetDefineSTRING::ID, CIV_HOOK_BEFORE, (void*)&BeforeCvDllGameContext_GetDefineSTRING);host->RegisterHook(host->pluginIndex, CivHooks::CvDllGameContext_GetDefineSTRING::ID, CIV_HOOK_AFTER, (void*)&AfterCvDllGameContext_GetDefineSTRING);host->RegisterHook(host->pluginIndex, CivHooks::CvDllGameContext_GetDefineSTRING::ID, CIV_HOOK_REPLACE, (void*)&ReplaceCvDllGameContext_GetDefineSTRING);
Code
547bool CvDllGameContext::GetDefineSTRING(char* szBuffer, size_t lenBuffer, const char* szName, bool bReportErrors)548{549 if(szBuffer != NULL && lenBuffer > 0)550 {551 CvString strDefine = GC.getDefineSTRING(szName, bReportErrors);552 if(strDefine.size() < lenBuffer)553 {554 strncpy_s(szBuffer, lenBuffer, strDefine.c_str(), strDefine.size());555 return true;556 }557 }558559 return false;560}