1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-12-01 23:12:49 +02:00

Save string identifiers for all game objects

This commit is contained in:
AlexVinS
2015-08-24 11:55:45 +03:00
parent 93c214d7a0
commit 6f203fb7e2
12 changed files with 52 additions and 36 deletions

View File

@@ -201,28 +201,28 @@ std::vector<JsonNode> CArtHandler::loadLegacyData(size_t dataSize)
void CArtHandler::loadObject(std::string scope, std::string name, const JsonNode & data)
{
auto object = loadFromJson(data);
auto object = loadFromJson(data, name);
object->id = ArtifactID(artifacts.size());
object->iconIndex = object->id + 5;
artifacts.push_back(object);
VLC->modh->identifiers.registerObject(scope, "artifact", name, object->id);
registerObject(scope, "artifact", object->identifier, object->id);
}
void CArtHandler::loadObject(std::string scope, std::string name, const JsonNode & data, size_t index)
{
auto object = loadFromJson(data);
auto object = loadFromJson(data, name);
object->id = ArtifactID(index);
object->iconIndex = object->id;
assert(artifacts[index] == nullptr); // ensure that this id was not loaded before
artifacts[index] = object;
VLC->modh->identifiers.registerObject(scope, "artifact", name, object->id);
registerObject(scope, "artifact", object->identifier, object->id);
}
CArtifact * CArtHandler::loadFromJson(const JsonNode & node)
CArtifact * CArtHandler::loadFromJson(const JsonNode & node, const std::string & identifier)
{
CArtifact * art;
@@ -234,7 +234,7 @@ CArtifact * CArtHandler::loadFromJson(const JsonNode & node)
loadGrowingArt(growing, node);
art = growing;
}
art->identifier = identifier;
const JsonNode & text = node["text"];
art->name = text["name"].String();
art->description = text["description"].String();