//keldath - color city states plots
void CvGame::updateCityStatesColoredPlots(CvPlot const* pPlot) const
{
CvDLLEngineIFaceBase& kEngine = *gDLL->getEngineIFace();
CvDLLInterfaceIFaceBase& kUI = gDLL->UI();
CvDLLEngineIFaceBase& kEngine = *gDLL->getEngineIFace();
CvDLLInterfaceIFaceBase& kUI = gDLL->UI();
kEngine.clearAreaBorderPlots(AREA_BORDER_LAYER_RANGED);
NiColorA color(GC.getInfo(GC.getColorType("YELLOW")).getColor());
color.a = 0.5f;
kEngine.fillAreaBorderPlot(pPlot->getX(), pPlot->getY(),
color, AREA_BORDER_LAYER_RANGED);
}
if (getCultureLevel() != NO_CULTURELEVEL)
{
for (ScanLinePlotIterator itPlot(getPlot(), getCultureLevel());
itPlot.hasNext(); ++itPlot)
{
int iCultureRange = cultureDistance(itPlot.currXDist(), itPlot.currYDist());
if (iCultureRange > eOldValue && iCultureRange <= getCultureLevel())
{
FAssert(iCultureRange <= GC.getNumCultureLevelInfos());
itPlot->changeCultureRangeCities(getOwner(), (CultureLevelTypes)
iCultureRange, 1, bUpdatePlotGroups);
updateCityStatesColoredPlots(itPlot);
}
}
//keldath - color city states plots - START
NiColorA color = GC.getInfo(GC.getInfo(GET_PLAYER(getOwner()).getPlayerColor()).getColorTypePrimary()).getColor();
bool changeIt = false;
if (!isOwned())
{
// color default, but it is ignored -> its cause i didnt know how to give it a defaul null - int to plot error something
color = (GC.getInfo(GC.getColorType("black")).getColor());
changeIt = true;
}
GC.getGame().updateCityStatesColoredPlots(changeIt, *this, color);
//keldath - color city states plots - END
//keldath - color city states plots
void CvGame::updateCityStatesColoredPlots(bool clearPlot, CvPlot const& kPlot, NiColorA &color) const
{
CvDLLEngineIFaceBase& kEngine = *gDLL->getEngineIFace();
if (clearPlot)
{
//turn tiles to no color - for that any color will do - just the alpha needs to be 0
NiColorA color(GC.getInfo(GC.getColorType("WHITE")).getColor());
color.a = 0.0f;
kEngine.fillAreaBorderPlot(kPlot.getX(), kPlot.getY(),
color, AREA_BORDER_CITY_STATE);
return;
}
// kEngine.clearAreaBorderPlots(AREA_BORDER_CITY_STATE);
// kEngine.clearColoredPlots(PLOT_LANDSCAPE_LAYER_BASE);
color.a = 0.8f;
kEngine.fillAreaBorderPlot(kPlot.getX(), kPlot.getY(),
color, AREA_BORDER_CITY_STATE);
//CvMap const& kMap = GC.getMap();
//CvPlot& kPlotNum = kMap.getPlotByIndex(kPlot.plotNum());
//kEngine.addColoredPlot(kPlotNum.getX(), kPlotNum.getY(),color,
// PLOT_STYLE_CIRCLE, PLOT_LANDSCAPE_LAYER_CITY_STATE);
}
//CvMap const& kMap = GC.getMap();
//CvPlot& kPlotNum = kMap.getPlotByIndex(kPlot.plotNum());
//kEngine.addColoredPlot(kPlotNum.getX(), kPlotNum.getY(),color,
// PLOT_STYLE_CIRCLE, PLOT_LANDSCAPE_LAYER_CITY_STATE);
In case that someone is puzzled
//Warning: these values are used as an index into a fixed array
enum PlotLandscapeLayers
{
PLOT_LANDSCAPE_LAYER_ALL = -1,
PLOT_LANDSCAPE_LAYER_BASE = 0,
PLOT_LANDSCAPE_LAYER_RECOMMENDED_PLOTS = 1,
PLOT_LANDSCAPE_LAYER_WORLD_BUILDER = 2,
PLOT_LANDSCAPE_LAYER_NUMPAD_HELP = 2,
PLOT_LANDSCAPE_LAYER_REVEALED_PLOTS = 1,
};