Bazaar developer reference

AreaValid(CvAStarNode *, CvAStarNode *, int, const void *, CvAStar *)

Defined in
CvAStar.cpp, line 2722
Hook name
CivHooks::AreaValid

Hooks

static bool BeforeAreaValid(CvAStarNode* parent, CvAStarNode* node, int data, const void* pointer, CvAStar* finder, int& result);static void AfterAreaValid(CvAStarNode* parent, CvAStarNode* node, int data, const void* pointer, CvAStar* finder, int& result);static int ReplaceAreaValid(int (*original)(CvAStarNode*, CvAStarNode*, int, const void*, CvAStar*), CvAStarNode* parent, CvAStarNode* node, int data, const void* pointer, CvAStar* finder);CivRegisterBefore<CivHooks::AreaValid>(host, &BeforeAreaValid);CivRegisterAfter<CivHooks::AreaValid>(host, &AfterAreaValid);CivRegisterReplace<CivHooks::AreaValid>(host, &ReplaceAreaValid);

Code

2721/// Area path finder - check validity of a coordinate2722int AreaValid(CvAStarNode* parent, CvAStarNode* node, int data, const void* pointer, CvAStar* finder)2723{2724	if(parent == NULL)2725	{2726		return TRUE;2727	}27282729	CvMap& kMap = GC.getMap();2730	if(kMap.plotUnchecked(parent->m_iX, parent->m_iY)->isImpassable() != kMap.plotUnchecked(node->m_iX, node->m_iY)->isImpassable())2731	{2732		return FALSE;2733	}27342735	return ((kMap.plotUnchecked(parent->m_iX, parent->m_iY)->isWater() == kMap.plotUnchecked(node->m_iX, node->m_iY)->isWater()) ? TRUE : FALSE);2736}

Calls

Called by