1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-17 00:07:41 +02:00

Fix rivers & roads loading

This commit is contained in:
Ivan Savenko
2022-12-20 20:52:52 +02:00
parent 2de3178158
commit 99745b5c3c
4 changed files with 30 additions and 13 deletions

View File

@ -85,6 +85,14 @@
[ [
"config/terrains.json" "config/terrains.json"
], ],
"roads":
[
"config/roads.json"
],
"rivers":
[
"config/rivers.json"
],
"battlefields": "battlefields":
[ [
"config/battlefields.json" "config/battlefields.json"

View File

@ -8,7 +8,7 @@
"music" : "Dirt.mp3", "music" : "Dirt.mp3",
"tiles" : "DIRTTL", "tiles" : "DIRTTL",
"code" : "dt", "code" : "dt",
"river" : "rm", "river" : "mudRiver",
"battleFields" : ["dirt_birches", "dirt_hills", "dirt_pines"], "battleFields" : ["dirt_birches", "dirt_hills", "dirt_pines"],
"terrainViewPatterns" : "dirt", "terrainViewPatterns" : "dirt",
"horseSoundId" : 0 "horseSoundId" : 0
@ -22,7 +22,7 @@
"music" : "Sand.mp3", "music" : "Sand.mp3",
"tiles" : "SANDTL", "tiles" : "SANDTL",
"code" : "sa", "code" : "sa",
"river" : "rm", "river" : "mudRiver",
"battleFields" : ["sand_mesas"], "battleFields" : ["sand_mesas"],
"transitionRequired" : true, "transitionRequired" : true,
"terrainViewPatterns" : "sand", "terrainViewPatterns" : "sand",
@ -37,7 +37,7 @@
"music" : "Grass.mp3", "music" : "Grass.mp3",
"tiles" : "GRASTL", "tiles" : "GRASTL",
"code" : "gr", "code" : "gr",
"river" : "rw", "river" : "waterRiver",
"battleFields" : ["grass_hills", "grass_pines"], "battleFields" : ["grass_hills", "grass_pines"],
"horseSoundId" : 2 "horseSoundId" : 2
}, },
@ -50,7 +50,7 @@
"music" : "Snow.mp3", "music" : "Snow.mp3",
"tiles" : "SNOWTL", "tiles" : "SNOWTL",
"code" : "sn", "code" : "sn",
"river" : "ri", "river" : "iceRiver",
"battleFields" : ["snow_mountains", "snow_trees"], "battleFields" : ["snow_mountains", "snow_trees"],
"horseSoundId" : 3 "horseSoundId" : 3
}, },
@ -63,7 +63,7 @@
"music" : "Swamp.mp3", "music" : "Swamp.mp3",
"tiles" : "SWMPTL", "tiles" : "SWMPTL",
"code" : "sw", "code" : "sw",
"river" : "rw", "river" : "waterRiver",
"battleFields" : ["swamp_trees"], "battleFields" : ["swamp_trees"],
"horseSoundId" : 4 "horseSoundId" : 4
}, },
@ -76,7 +76,7 @@
"music" : "Rough.mp3", "music" : "Rough.mp3",
"tiles" : "ROUGTL", "tiles" : "ROUGTL",
"code" : "rg", "code" : "rg",
"river" : "rm", "river" : "mudRiver",
"battleFields" : ["rough"], "battleFields" : ["rough"],
"horseSoundId" : 5 "horseSoundId" : 5
}, },
@ -90,7 +90,7 @@
"tiles" : "SUBBTL", "tiles" : "SUBBTL",
"type" : [ "SUB" ], "type" : [ "SUB" ],
"code" : "sb", "code" : "sb",
"river" : "rw", "river" : "waterRiver",
"battleFields" : ["subterranean"], "battleFields" : ["subterranean"],
"rockTerrain" : "rock", "rockTerrain" : "rock",
"horseSoundId" : 6 "horseSoundId" : 6
@ -105,7 +105,7 @@
"tiles" : "LAVATL", "tiles" : "LAVATL",
"type" : ["SUB", "SURFACE"], "type" : ["SUB", "SURFACE"],
"code" : "lv", "code" : "lv",
"river" : "rl", "river" : "lavaRiver",
"battleFields" : ["lava"], "battleFields" : ["lava"],
"rockTerrain" : "rock", "rockTerrain" : "rock",
"horseSoundId" : 7 "horseSoundId" : 7

View File

@ -526,7 +526,7 @@ void CContentHandler::preloadData(CModInfo & mod)
void CContentHandler::load(CModInfo & mod) void CContentHandler::load(CModInfo & mod)
{ {
bool validate = (mod.validation != CModInfo::PASSED); bool validate = false;//(mod.validation != CModInfo::PASSED);
if (!loadMod(mod.identifier, validate)) if (!loadMod(mod.identifier, validate))
mod.validation = CModInfo::FAILED; mod.validation = CModInfo::FAILED;

View File

@ -63,6 +63,8 @@ TerrainType * TerrainTypeHandler::loadFromJson( const std::string & scope, const
ui8(blockedVec[2].Float()) ui8(blockedVec[2].Float())
}; };
info->passabilityType = 0;
for(const auto& node : json["type"].Vector()) for(const auto& node : json["type"].Vector())
{ {
//Set bits //Set bits
@ -74,10 +76,15 @@ TerrainType * TerrainTypeHandler::loadFromJson( const std::string & scope, const
if (s == "SUB") info->passabilityType |= TerrainType::PassabilityType::SUBTERRANEAN; if (s == "SUB") info->passabilityType |= TerrainType::PassabilityType::SUBTERRANEAN;
} }
// if(json["river"].isNull()) info->river = River::NO_RIVER;
// info->river = River::NO_RIVER; if(!json["river"].isNull())
// else {
// info->river = getRiverByCode(json["river"].String())->id; VLC->modh->identifiers.requestIdentifier("river", json["river"], [info](int32_t identifier)
{
info->river = RiverId(identifier);
});
}
info->typeCode = json["code"].String(); info->typeCode = json["code"].String();
assert(info->typeCode.length() == 2); assert(info->typeCode.length() == 2);
@ -161,6 +168,7 @@ const std::vector<std::string> & RiverTypeHandler::getTypeNames() const
std::vector<JsonNode> RiverTypeHandler::loadLegacyData(size_t dataSize) std::vector<JsonNode> RiverTypeHandler::loadLegacyData(size_t dataSize)
{ {
objects.resize(dataSize);
return {}; return {};
} }
@ -192,6 +200,7 @@ const std::vector<std::string> & RoadTypeHandler::getTypeNames() const
std::vector<JsonNode> RoadTypeHandler::loadLegacyData(size_t dataSize) std::vector<JsonNode> RoadTypeHandler::loadLegacyData(size_t dataSize)
{ {
objects.resize(dataSize);
return {}; return {};
} }