1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-21 00:19:29 +02:00

- Implementation of overrides for towns

- Converted dwellings.json into new format
- Implemented "mapObject" entry in town format
- Removed capital/fort/village fields from town in favor of overrides
This commit is contained in:
Ivan Savenko
2014-06-15 19:43:01 +03:00
parent 7cfd9a0903
commit 836c466f81
27 changed files with 340 additions and 288 deletions

@ -153,6 +153,7 @@ void CObjectClassesHandler::loadObjectEntry(const JsonNode & entry, ObjectContai
}
obj->objects[id] = handler;
logGlobal->debugStream() << "Loaded object " << obj->id << ":" << id;
}
CObjectClassesHandler::ObjectContainter * CObjectClassesHandler::loadFromJson(const JsonNode & json)
@ -198,8 +199,9 @@ void CObjectClassesHandler::loadSubObject(std::string name, JsonNode config, si3
config["index"].Float() = subID.get();
}
std::string oldMeta = config.meta; // FIXME: move into inheritNode?
JsonUtils::inherit(config, objects.at(ID)->base);
logGlobal->errorStream() << "JSON: " << config;
config.setMeta(oldMeta);
loadObjectEntry(config, objects[ID]);
}
@ -339,9 +341,6 @@ void AObjectTypeHandler::addTemplate(ObjectTemplate templ)
void AObjectTypeHandler::addTemplate(JsonNode config)
{
logGlobal->errorStream() << "INPUT FOR: " << type << ":" << subtype << " " << config;
logGlobal->errorStream() << "BASE FOR: " << type << ":" << subtype << " " << base;
config.setType(JsonNode::DATA_STRUCT); // ensure that input is not null
JsonUtils::inherit(config, base);
ObjectTemplate tmpl;
@ -349,7 +348,6 @@ void AObjectTypeHandler::addTemplate(JsonNode config)
tmpl.subid = subtype;
tmpl.stringID = ""; // TODO?
tmpl.readJson(config);
logGlobal->errorStream() << "DATA FOR: " << type << ":" << subtype << " " << config;
addTemplate(tmpl);
}