Bazaar developer reference

CvMap::calculateInfluenceDistance(CvPlot *, CvPlot *, int, bool)

Defined in
CvMap.cpp, line 1328
Class
CvMap
Hook name
CivHooks::CvMap_calculateInfluenceDistance

Hooks

static bool BeforeCvMap_calculateInfluenceDistance(CvMap* self, CvPlot* pSource, CvPlot* pDest, int iMaxRange, bool bCorrectButSlower, int& result);static void AfterCvMap_calculateInfluenceDistance(CvMap* self, CvPlot* pSource, CvPlot* pDest, int iMaxRange, bool bCorrectButSlower, int& result);static int ReplaceCvMap_calculateInfluenceDistance(int (*original)(CvMap*, CvPlot*, CvPlot*, int, bool), CvMap* self, CvPlot* pSource, CvPlot* pDest, int iMaxRange, bool bCorrectButSlower);CivRegisterBefore<CivHooks::CvMap_calculateInfluenceDistance>(host, &BeforeCvMap_calculateInfluenceDistance);CivRegisterAfter<CivHooks::CvMap_calculateInfluenceDistance>(host, &AfterCvMap_calculateInfluenceDistance);CivRegisterReplace<CivHooks::CvMap_calculateInfluenceDistance>(host, &ReplaceCvMap_calculateInfluenceDistance);

Code

1328int CvMap::calculateInfluenceDistance(CvPlot* pSource, CvPlot* pDest, int iMaxRange, bool bCorrectButSlower)1329{1330	CvAStarNode* pNode;13311332	if(pSource == NULL || pDest == NULL)1333	{1334		return -1;1335	}13361337	GC.getInfluenceFinder().SetData(&iMaxRange);1338	if(GC.getInfluenceFinder().GeneratePath(pSource->getX(), pSource->getY(), pDest->getX(), pDest->getY(), 0, !bCorrectButSlower))1339	{1340		pNode = GC.getInfluenceFinder().GetLastNode();13411342		if(pNode != NULL)1343		{1344			return pNode->m_iKnownCost;1345		}1346	}13471348	return -1; // no passable path exists1349}

Calls

Called by