Bazaar developer reference

CvMap::reset(CvMapInitData *)

Defined in
CvMap.cpp, line 404
Class
CvMap
Hook name
CivHooks::CvMap_reset

Hooks

static bool BeforeCvMap_reset(CvMap* self, CvMapInitData* pInitInfo);static void AfterCvMap_reset(CvMap* self, CvMapInitData* pInitInfo);static void ReplaceCvMap_reset(void (*original)(CvMap*, CvMapInitData*), CvMap* self, CvMapInitData* pInitInfo);CivRegisterBefore<CivHooks::CvMap_reset>(host, &BeforeCvMap_reset);CivRegisterAfter<CivHooks::CvMap_reset>(host, &AfterCvMap_reset);CivRegisterReplace<CivHooks::CvMap_reset>(host, &ReplaceCvMap_reset);

Code

402// FUNCTION: reset()403// Initializes data members that are serialized.404void CvMap::reset(CvMapInitData* pInitInfo)405{406	//--------------------------------407	// Uninit class408	uninit();409410	m_iAIMapHints = 0;411	//412	// set grid size413	// initially set in terrain cell units414	//415	m_iGridWidth = (CvPreGame::worldSize() != NO_WORLDSIZE) ?  getWorldInfo().getGridWidth(): 0;	//todotw:tcells wide416	m_iGridHeight = (CvPreGame::worldSize() != NO_WORLDSIZE) ? getWorldInfo().getGridHeight(): 0;417418	// allow grid size override419	if(pInitInfo)420	{421		m_iGridWidth	= pInitInfo->m_iGridW;422		m_iGridHeight	= pInitInfo->m_iGridH;423	}424425	m_iGridSize = m_iGridHeight * m_iGridWidth;426	m_iLandPlots = 0;427	m_iOwnedPlots = 0;428	m_iNumNaturalWonders = 0;429430	if(pInitInfo)431	{432		m_iTopLatitude = pInitInfo->m_iTopLatitude;433		m_iBottomLatitude = pInitInfo->m_iBottomLatitude;434	}435436	m_iTopLatitude = std::min(m_iTopLatitude, 90);437	m_iTopLatitude = std::max(m_iTopLatitude, -90);438	m_iBottomLatitude = std::min(m_iBottomLatitude, 90);439	m_iBottomLatitude = std::max(m_iBottomLatitude, -90);440441	//442	// set wrapping443	//444	m_bWrapX = true;445	m_bWrapY = false;446447	CoCreateGuid(&m_guid);448449	if(pInitInfo)450	{451		m_bWrapX = pInitInfo->m_bWrapX;452		m_bWrapY = pInitInfo->m_bWrapY;453	}454455	int iNumResourceInfos = GC.getNumResourceInfos();456	if(iNumResourceInfos)457	{458		CvAssertMsg((0 < GC.getNumResourceInfos()), "GC.getNumResourceInfos() is not greater than zero but an array is being allocated in CvMap::reset");459		CvAssertMsg(m_paiNumResource==NULL, "mem leak m_paiNumResource");460		m_paiNumResource = FNEW(int[iNumResourceInfos], c_eCiv5GameplayDLL, 0);461		CvAssertMsg(m_paiNumResourceOnLand==NULL, "mem leak m_paiNumResourceOnLand");462		m_paiNumResourceOnLand = FNEW(int[iNumResourceInfos], c_eCiv5GameplayDLL, 0);463		for(int iI = 0; iI < iNumResourceInfos; iI++)464		{465			m_paiNumResource[iI] = 0;466			m_paiNumResourceOnLand[iI] = 0;467		}468	}469470	m_areas.RemoveAll();471	m_landmasses.RemoveAll();472473	m_vDeferredFogPlots.clear();474475	gDLL->DoMapSetup(numPlots());476}

Calls

Called by