Code
70/// Reset member variables71void CvCityCitizens::Reset()72{73 m_bAutomated = false;74 m_bNoAutoAssignSpecialists = false;75 m_iNumUnassignedCitizens = 0;76 m_iNumCitizensWorkingPlots = 0;77 m_iNumForcedWorkingPlots = 0;7879 m_eCityAIFocusTypes = NO_CITY_AI_FOCUS_TYPE;8081 int iI;8283#if defined(MOD_GLOBAL_CITY_WORKING)84 CvAssertMsg((0 < MAX_CITY_PLOTS), "MAX_CITY_PLOTS is not greater than zero but an array is being allocated in CvCityCitizens::reset");85 for(iI = 0; iI < MAX_CITY_PLOTS; iI++)86#else87 CvAssertMsg((0 < NUM_CITY_PLOTS), "NUM_CITY_PLOTS is not greater than zero but an array is being allocated in CvCityCitizens::reset");88 for(iI = 0; iI < NUM_CITY_PLOTS; iI++)89#endif90 {91 m_pabWorkingPlot[iI] = false;92 m_pabForcedWorkingPlot[iI] = false;93 }9495 m_iNumDefaultSpecialists = 0;96 m_iNumForcedDefaultSpecialists = 0;9798 CvAssertMsg(m_aiSpecialistCounts==NULL, "about to leak memory, CvCityCitizens::m_aiSpecialistCounts");99 m_aiSpecialistCounts = FNEW(int[GC.getNumSpecialistInfos()], c_eCiv5GameplayDLL, 0);100 for(iI = 0; iI < GC.getNumSpecialistInfos(); iI++)101 {102 m_aiSpecialistCounts[iI] = 0;103 }104105 CvAssertMsg(m_aiSpecialistGreatPersonProgressTimes100==NULL, "about to leak memory, CvCityCitizens::m_aiSpecialistGreatPersonProgressTimes100");106 m_aiSpecialistGreatPersonProgressTimes100 = FNEW(int[GC.getNumSpecialistInfos()], c_eCiv5GameplayDLL, 0);107 for(iI = 0; iI < GC.getNumSpecialistInfos(); iI++)108 {109 m_aiSpecialistGreatPersonProgressTimes100[iI] = 0;110 }111112 CvAssertMsg(m_aiNumSpecialistsInBuilding==NULL, "about to leak memory, CvCityCitizens::m_aiNumSpecialistsInBuilding");113 m_aiNumSpecialistsInBuilding = FNEW(int[GC.getNumBuildingInfos()], c_eCiv5GameplayDLL, 0);114 for(iI = 0; iI < GC.getNumBuildingInfos(); iI++)115 {116 m_aiNumSpecialistsInBuilding[iI] = 0;117 }118119 CvAssertMsg(m_aiNumForcedSpecialistsInBuilding==NULL, "about to leak memory, CvCityCitizens::m_aiNumForcedSpecialistsInBuilding");120 m_aiNumForcedSpecialistsInBuilding = FNEW(int[GC.getNumBuildingInfos()], c_eCiv5GameplayDLL, 0);121 for(iI = 0; iI < GC.getNumBuildingInfos(); iI++)122 {123 m_aiNumForcedSpecialistsInBuilding[iI] = 0;124 }125126 CvAssertMsg(m_piBuildingGreatPeopleRateChanges==NULL, "about to leak memory, CvCityCitizens::m_piBuildingGreatPeopleRateChanges");127 m_piBuildingGreatPeopleRateChanges = FNEW(int[GC.getNumSpecialistInfos()], c_eCiv5GameplayDLL, 0);128 for(iI = 0; iI < GC.getNumSpecialistInfos(); iI++)129 {130 m_piBuildingGreatPeopleRateChanges[iI] = 0;131 }132133 m_bForceAvoidGrowth = false;134}