Hooks
static bool BeforeCvReligionAI_LogBeliefChoices(CvReligionAI* self, CvWeightedVector<BeliefTypes, SAFE_ESTIMATE_NUM_BELIEFS, true>& beliefChoices, int iChoice);static void AfterCvReligionAI_LogBeliefChoices(CvReligionAI* self, CvWeightedVector<BeliefTypes, SAFE_ESTIMATE_NUM_BELIEFS, true>& beliefChoices, int iChoice);static void ReplaceCvReligionAI_LogBeliefChoices(void (*original)(CvReligionAI*, CvWeightedVector<BeliefTypes, SAFE_ESTIMATE_NUM_BELIEFS, true>&, int), CvReligionAI* self, CvWeightedVector<BeliefTypes, SAFE_ESTIMATE_NUM_BELIEFS, true>& beliefChoices, int iChoice);CivRegisterBefore<CivHooks::CvReligionAI_LogBeliefChoices>(host, &BeforeCvReligionAI_LogBeliefChoices);CivRegisterAfter<CivHooks::CvReligionAI_LogBeliefChoices>(host, &AfterCvReligionAI_LogBeliefChoices);CivRegisterReplace<CivHooks::CvReligionAI_LogBeliefChoices>(host, &ReplaceCvReligionAI_LogBeliefChoices);
Code
7250/// Log choices considered for beliefs7251void CvReligionAI::LogBeliefChoices(CvWeightedVector<BeliefTypes, SAFE_ESTIMATE_NUM_BELIEFS, true>& beliefChoices, int iChoice)7252{7253 if(GC.getLogging() && GC.getAILogging())7254 {7255 CvString strOutBuf;7256 CvString strBaseString;7257 CvString strTemp;7258 CvString playerName;7259 CvString strDesc;7260 BeliefTypes eBelief;72617262 // Find the name of this civ7263 playerName = m_pPlayer->getCivilizationShortDescription();72647265 // Open the log file7266 FILogFile* pLog;7267 pLog = LOGFILEMGR.GetLog(GC.getGame().GetGameReligions()->GetLogFileName(), FILogFile::kDontTimeStamp);72687269 // Get the leading info for this line7270 strBaseString.Format("%03d, %d, ", GC.getGame().getElapsedGameTurns(), GC.getGame().getGameTurnYear());7271 strBaseString += playerName + ", ";72727273 // Dump out the weight of each belief item7274 for(int iI = 0; iI < beliefChoices.size(); iI++)7275 {7276 eBelief = beliefChoices.GetElement(iI);7277 strDesc = GetLocalizedText(GC.GetGameBeliefs()->GetEntry(eBelief)->getShortDescription());7278 strTemp.Format("Belief, %s, %d", strDesc.GetCString(), beliefChoices.GetWeight(iI));7279 strOutBuf = strBaseString + strTemp;7280 pLog->Msg(strOutBuf);7281 }72827283 // Finally the chosen one7284 eBelief = (BeliefTypes)iChoice;7285 strDesc = GetLocalizedText(GC.GetGameBeliefs()->GetEntry(eBelief)->getShortDescription());7286 strTemp.Format("CHOSEN, %s", strDesc.GetCString());7287 strOutBuf = strBaseString + strTemp;7288 pLog->Msg(strOutBuf);7289 }7290}