Hooks
static bool BeforeCvGameTextMgr_setYearStr(CvString& strString, int iGameTurn, bool bSave, CalendarTypes eCalendar, int iStartYear, GameSpeedTypes eSpeed);static void AfterCvGameTextMgr_setYearStr(CvString& strString, int iGameTurn, bool bSave, CalendarTypes eCalendar, int iStartYear, GameSpeedTypes eSpeed);static void ReplaceCvGameTextMgr_setYearStr(void (*original)(CvString&, int, bool, CalendarTypes, int, GameSpeedTypes), CvString& strString, int iGameTurn, bool bSave, CalendarTypes eCalendar, int iStartYear, GameSpeedTypes eSpeed);CivRegisterBefore<CivHooks::CvGameTextMgr_setYearStr>(host, &BeforeCvGameTextMgr_setYearStr);CivRegisterAfter<CivHooks::CvGameTextMgr_setYearStr>(host, &AfterCvGameTextMgr_setYearStr);CivRegisterReplace<CivHooks::CvGameTextMgr_setYearStr>(host, &ReplaceCvGameTextMgr_setYearStr);
Code
21void CvGameTextMgr::setYearStr(CvString& strString, int iGameTurn, bool bSave, CalendarTypes eCalendar, int iStartYear, GameSpeedTypes eSpeed)22{23 int iTurnYear = getTurnYearForGame(iGameTurn, iStartYear, eCalendar, eSpeed);2425 if(iTurnYear < 0)26 {27 if(bSave)28 {29 strString = GetLocalizedText("TXT_KEY_TIME_BC_SAVE", CvString::format("%04d", -iTurnYear).GetCString(), CvString::format("%04d", iGameTurn).GetCString());30 }31 else32 {33 strString = GetLocalizedText("TXT_KEY_TIME_BC", -(iTurnYear));34 }35 }36 else if(iTurnYear > 0)37 {38 if(bSave)39 {40 strString = GetLocalizedText("TXT_KEY_TIME_AD_SAVE", CvString::format("%04d", iTurnYear).GetCString(), CvString::format("%04d", iGameTurn).GetCString());41 }42 else43 {44 strString = GetLocalizedText("TXT_KEY_TIME_AD", iTurnYear);45 }46 }47 else48 {49 if(bSave)50 {51 strString = GetLocalizedText("TXT_KEY_TIME_AD_SAVE", "0001", CvString::format("%04d", iGameTurn).GetCString());52 }53 else54 {55 strString = GetLocalizedText("TXT_KEY_TIME_AD", 1);56 }57 }58}