1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-25 22:42:04 +02:00

Respect GUI settings for roads. By default, all road types are enabled.

This commit is contained in:
Tomasz Zieliński
2023-07-08 08:44:10 +02:00
parent 27c4882237
commit 730b36612c
5 changed files with 47 additions and 17 deletions

View File

@@ -1,3 +1,4 @@
#include "CMapGenOptions.h"
/*
* CMapGenOptions.cpp, part of VCMI engine
*
@@ -26,6 +27,9 @@ CMapGenOptions::CMapGenOptions()
waterContent(EWaterContent::RANDOM), monsterStrength(EMonsterStrength::RANDOM), mapTemplate(nullptr)
{
resetPlayersMap();
setRoadEnabled(RoadId(Road::DIRT_ROAD), true);
setRoadEnabled(RoadId(Road::GRAVEL_ROAD), true);
setRoadEnabled(RoadId(Road::COBBLESTONE_ROAD), true);
}
si32 CMapGenOptions::getWidth() const
@@ -233,17 +237,26 @@ void CMapGenOptions::setMapTemplate(const std::string & name)
setMapTemplate(VLC->tplh->getTemplate(name));
}
void CMapGenOptions::setRoadEnabled(const std::string & roadName, bool enable)
void CMapGenOptions::setRoadEnabled(const RoadId & roadType, bool enable)
{
if(enable)
disabledRoads.erase(roadName);
if (enable)
{
enabledRoads.insert(roadType);
}
else
disabledRoads.insert(roadName);
{
enabledRoads.erase(roadType);
}
}
bool CMapGenOptions::isRoadEnabled(const std::string & roadName) const
bool CMapGenOptions::isRoadEnabled(const RoadId & roadType) const
{
return !disabledRoads.count(roadName);
return enabledRoads.count(roadType);
}
bool CMapGenOptions::isRoadEnabled() const
{
return !enabledRoads.empty();
}
void CMapGenOptions::setPlayerTeam(const PlayerColor & color, const TeamID & team)