Bazaar developer reference

CvStartPositioner::ComputeRowFertility(int, int, int, int, int)

Defined in
CvStartPositioner.cpp, line 593
Class
CvStartPositioner
Hook name
CivHooks::CvStartPositioner_ComputeRowFertility

Hooks

static bool BeforeCvStartPositioner_ComputeRowFertility(CvStartPositioner* self, int iAreaID, int xMin, int xMax, int yMin, int yMax, int& result);static void AfterCvStartPositioner_ComputeRowFertility(CvStartPositioner* self, int iAreaID, int xMin, int xMax, int yMin, int yMax, int& result);static int ReplaceCvStartPositioner_ComputeRowFertility(int (*original)(CvStartPositioner*, int, int, int, int, int), CvStartPositioner* self, int iAreaID, int xMin, int xMax, int yMin, int yMax);CivRegisterBefore<CivHooks::CvStartPositioner_ComputeRowFertility>(host, &BeforeCvStartPositioner_ComputeRowFertility);CivRegisterAfter<CivHooks::CvStartPositioner_ComputeRowFertility>(host, &AfterCvStartPositioner_ComputeRowFertility);CivRegisterReplace<CivHooks::CvStartPositioner_ComputeRowFertility>(host, &ReplaceCvStartPositioner_ComputeRowFertility);

Code

592/// Totals up the fertility of one row of data593int CvStartPositioner::ComputeRowFertility(int iAreaID, int xMin, int xMax, int yMin, int yMax)594{595	int rtnValue = 0;596597	for(int iRow = yMin; iRow <= yMax; iRow++)598	{599		for(int iCol = xMin; iCol <= xMax; iCol++)600		{601			CvPlot* pPlot = GC.getMap().plot(iCol, iRow);602603			if(pPlot && pPlot->getArea() == iAreaID)604			{605				// Retrieve from player 0's found value slot606				//   (Normally shouldn't be using a hard-coded player reference, but here in the pre-game initialization it is safe to do so.607				//    Allows us to reuse this data storage instead of jamming even more data into the CvPlot class that will never be used at run-time).608				rtnValue += pPlot->getFoundValue((PlayerTypes)0);609			}610		}611	}612613	return rtnValue;614}

Calls

Called by