void CvMapGenerator::setPlotTypes(const int* paiPlotTypes) { CvPlot* pLoopPlot; int iNumPlots; iNumPlots = GC.getMapINLINE().numPlotsINLINE(); for (int iI = 0; iI < iNumPlots; iI++) { gDLL->callUpdater(); GC.getMapINLINE().plotByIndexINLINE(iI)->setPlotType(((PlotTypes)(paiPlotTypes[iI])), false, false); } GC.getMapINLINE().recalculateAreas(); for (int iI = 0; iI < iNumPlots; iI++) { gDLL->callUpdater(); pLoopPlot = GC.getMapINLINE().plotByIndexINLINE(iI); if (pLoopPlot->isWater()) { if (pLoopPlot->isAdjacentToLand()) { pLoopPlot->setTerrainType(((TerrainTypes)(GC.getXMLval(XML_SHALLOW_WATER_TERRAIN))), false, false); } else { pLoopPlot->setTerrainType(((TerrainTypes)(GC.getXMLval(XML_DEEP_WATER_TERRAIN))), false, false); } } } }