Hooks
static bool BeforeCvPolicyAI_LogIdeologyChoice(CvPolicyAI* self, CvString & decisionState, int iWeightFreedom, int iWeightAutocracy, int iWeightOrder);static void AfterCvPolicyAI_LogIdeologyChoice(CvPolicyAI* self, CvString & decisionState, int iWeightFreedom, int iWeightAutocracy, int iWeightOrder);static void ReplaceCvPolicyAI_LogIdeologyChoice(void (*original)(CvPolicyAI*, CvString &, int, int, int), CvPolicyAI* self, CvString & decisionState, int iWeightFreedom, int iWeightAutocracy, int iWeightOrder);CivRegisterBefore<CivHooks::CvPolicyAI_LogIdeologyChoice>(host, &BeforeCvPolicyAI_LogIdeologyChoice);CivRegisterAfter<CivHooks::CvPolicyAI_LogIdeologyChoice>(host, &AfterCvPolicyAI_LogIdeologyChoice);CivRegisterReplace<CivHooks::CvPolicyAI_LogIdeologyChoice>(host, &ReplaceCvPolicyAI_LogIdeologyChoice);
Code
993/// Logging function to write out info on Ideology choices994void CvPolicyAI::LogIdeologyChoice(CvString &decisionState, int iWeightFreedom, int iWeightAutocracy, int iWeightOrder)995{996 if(GC.getLogging() && GC.getAILogging())997 {998 CvString strOutBuf;999 CvString strBaseString;1000 CvString strTemp;1001 CvString playerName;10021003 // Find the name of this civ1004 playerName = m_pCurrentPolicies->GetPlayer()->getCivilizationShortDescription();10051006 FILogFile* pLog;1007 pLog = LOGFILEMGR.GetLog(GetLogFileName(playerName), FILogFile::kDontTimeStamp);10081009 // Get the leading info for this line1010 strBaseString.Format("%03d, ", GC.getGame().getElapsedGameTurns());1011 strBaseString += playerName + ", ";10121013 strTemp.Format("%s, Freedom: %d, Order: %d, Autocracy: %d", decisionState.c_str(), iWeightFreedom, iWeightOrder, iWeightAutocracy);10141015 strOutBuf = strBaseString + strTemp;1016 pLog->Msg(strOutBuf);1017 }1018}