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

It is now possible to define game settings in rmg template

This commit is contained in:
Ivan Savenko
2024-09-04 18:18:10 +00:00
parent 8225eb454e
commit ff8d36c350
8 changed files with 40 additions and 5 deletions

View File

@@ -501,9 +501,12 @@ void ZoneConnection::serializeJson(JsonSerializeFormat & handler)
using namespace rmg;//todo: remove
CRmgTemplate::~CRmgTemplate() = default;
CRmgTemplate::CRmgTemplate()
: minSize(72, 72, 2),
maxSize(72, 72, 2)
maxSize(72, 72, 2),
mapSettings(std::make_unique<JsonNode>())
{
}
@@ -694,6 +697,8 @@ void CRmgTemplate::serializeJson(JsonSerializeFormat & handler)
serializePlayers(handler, players, "players");
serializePlayers(handler, humanPlayers, "humans"); // TODO: Rename this parameter
*mapSettings = handler.getCurrent()["settings"];
{
auto connectionsData = handler.enterArray("connections");
connectionsData.serializeStruct(connectedZoneIds);
@@ -749,6 +754,11 @@ void CRmgTemplate::serializeJson(JsonSerializeFormat & handler)
}
}
const JsonNode & CRmgTemplate::getMapSettings() const
{
return *mapSettings;
}
std::set<TerrainId> CRmgTemplate::inheritTerrainType(std::shared_ptr<ZoneOptions> zone, uint32_t iteration /* = 0 */)
{
if (iteration >= 50)