InitTypeDesc()
- Defined in
- CvWorldBuilderMapLoader.cpp, line 29
- Hook name
CivHooks::InitTypeDesc
Hooks
static bool BeforeInitTypeDesc();static void AfterInitTypeDesc();static void ReplaceInitTypeDesc(void (*original)());CivRegisterBefore<CivHooks::InitTypeDesc>(host, &BeforeInitTypeDesc);CivRegisterAfter<CivHooks::InitTypeDesc>(host, &AfterInitTypeDesc);CivRegisterReplace<CivHooks::InitTypeDesc>(host, &ReplaceInitTypeDesc);
Code
29void InitTypeDesc()30{31 //static bool bFirst = true;32 //if( bFirst ) // Do this every time as mod data may have changed.33 {34 sg_kMapTypeDesc.m_kTerrainTypes.Clear();35 const int iTerrainTypeCount = GC.getNumTerrainInfos();36 for(int i = 0; i < iTerrainTypeCount; ++i)37 {38 const CvTerrainInfo* pkTerrainInfo = GC.getTerrainInfo((TerrainTypes)i);39 if(pkTerrainInfo != NULL)40 {41 sg_kMapTypeDesc.m_kTerrainTypes.Add( pkTerrainInfo->GetType() );42 }43 else44 {45 sg_kMapTypeDesc.m_kTerrainTypes.Add( NULL );46 }47 }4849 sg_kMapTypeDesc.m_kFeatures.Clear();50 const int iFeatureCount = GC.getNumFeatureInfos();51 for(int i = 0; i < iFeatureCount; ++i)52 {53 const CvFeatureInfo* pkFeatureInfo = GC.getFeatureInfo((FeatureTypes)i);54 if(pkFeatureInfo != NULL)55 {56 sg_kMapTypeDesc.m_kFeatures.Add( pkFeatureInfo->GetType() );57 sg_kMapTypeDesc.m_kNaturalWonders.Add( pkFeatureInfo->GetType() );58 }59 else60 {61 sg_kMapTypeDesc.m_kFeatures.Add( NULL );62 sg_kMapTypeDesc.m_kNaturalWonders.Add( NULL );63 }64 }6566 sg_kMapTypeDesc.m_kResources.Clear();67 const int iResourceCount = GC.getNumResourceInfos();68 for(int i = 0; i < iResourceCount; ++i)69 {70 const CvResourceInfo* pkResourceInfo = GC.getResourceInfo((ResourceTypes)i);71 if(pkResourceInfo != NULL)72 {73 sg_kMapTypeDesc.m_kResources.Add( pkResourceInfo->GetType() );74 }75 else76 {77 sg_kMapTypeDesc.m_kResources.Add( NULL );78 }79 }8081 sg_kMapTypeDesc.m_kImprovements.Clear();82 const int iImprovementCount = GC.getNumImprovementInfos();83 for(int i = 0; i < iImprovementCount; ++i)84 {85 const CvImprovementEntry* pkImprovementInfo = GC.getImprovementInfo((ImprovementTypes)i);86 if(pkImprovementInfo != NULL)87 {88 sg_kMapTypeDesc.m_kImprovements.Add( pkImprovementInfo->GetType() );89 }90 else91 {92 sg_kMapTypeDesc.m_kImprovements.Add( NULL );93 }94 }9596 sg_kMapTypeDesc.m_kUnits.Clear();97 const int iUnitCount = GC.getNumUnitInfos();98 for(int i = 0; i < iUnitCount; ++i)99 {100 const CvUnitEntry* pkUnitInfo = GC.getUnitInfo((UnitTypes)i);101 if(pkUnitInfo != NULL)102 {103 sg_kMapTypeDesc.m_kUnits.Add( pkUnitInfo->GetType() );104 }105 else106 {107 sg_kMapTypeDesc.m_kUnits.Add( NULL );108 }109 }110111 sg_kMapTypeDesc.m_kTechs.Clear();112 const int iTechCount = GC.getNumTechInfos();113 for(int i = 0; i < iTechCount; ++i)114 {115 const CvTechEntry* pkTechInfo = GC.getTechInfo((TechTypes)i);116 if(pkTechInfo != NULL)117 {118 sg_kMapTypeDesc.m_kTechs.Add( pkTechInfo->GetType() );119 }120 else121 {122 sg_kMapTypeDesc.m_kTechs.Add( NULL );123 }124 }125126 sg_kMapTypeDesc.m_kPolicies.Clear();127 const int iPolicyCount = GC.getNumPolicyInfos();128 for(int i = 0; i < iPolicyCount; ++i)129 {130 const CvPolicyEntry* pkPolicyInfo = GC.getPolicyInfo((PolicyTypes)i);131 if(pkPolicyInfo != NULL)132 {133 sg_kMapTypeDesc.m_kPolicies.Add( pkPolicyInfo->GetType() );134 }135 else136 {137 sg_kMapTypeDesc.m_kPolicies.Add( NULL );138 }139 }140141 sg_kMapTypeDesc.m_kBuildingTypes.Clear();142 const int iBuildingCount = GC.getNumBuildingInfos();143 for(int i = 0; i < iBuildingCount; ++i)144 {145 const CvBuildingEntry* pkBuildingInfo = GC.getBuildingInfo((BuildingTypes)i);146 if(pkBuildingInfo != NULL)147 {148 sg_kMapTypeDesc.m_kBuildingTypes.Add( pkBuildingInfo->GetType() );149 }150 else151 {152 sg_kMapTypeDesc.m_kBuildingTypes.Add( NULL );153 }154 }155156 sg_kMapTypeDesc.m_kUnitPromotions.Clear();157 const int iPromotionCount = GC.getNumPromotionInfos();158 for(int i = 0; i < iPromotionCount; ++i)159 {160 const CvPromotionEntry* pkPromotionInfo = GC.getPromotionInfo((PromotionTypes)i);161 if(pkPromotionInfo != NULL)162 {163 sg_kMapTypeDesc.m_kUnitPromotions.Add( pkPromotionInfo->GetType() );164 }165 else166 {167 sg_kMapTypeDesc.m_kUnitPromotions.Add( NULL );168 }169 }170171 //bFirst = false;172 }173}
Calls
- CvBaseInfo::GetType() const
- CvGlobals::getBuildingInfo(BuildingTypes)
- CvGlobals::getFeatureInfo(FeatureTypes)
- CvGlobals::getImprovementInfo(ImprovementTypes)
- CvGlobals::getNumBuildingInfos()
- CvGlobals::getNumFeatureInfos()
- CvGlobals::getNumImprovementInfos()
- CvGlobals::getNumPolicyInfos()
- CvGlobals::getNumPromotionInfos()
- CvGlobals::getNumResourceInfos()
- CvGlobals::getNumTechInfos()
- CvGlobals::getNumTerrainInfos()
- CvGlobals::getNumUnitInfos()
- CvGlobals::getPolicyInfo(PolicyTypes)
- CvGlobals::getPromotionInfo(PromotionTypes)
- CvGlobals::getResourceInfo(ResourceTypes)
- CvGlobals::getTechInfo(TechTypes)
- CvGlobals::getTerrainInfo(TerrainTypes)
- CvGlobals::getUnitInfo(UnitTypes)
CvWorldBuilderMapTypeDesc::TypeMap::AddCvWorldBuilderMapTypeDesc::TypeMap::Clear