1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-25 21:38:59 +02:00

Add workaround to loading old map format

This commit is contained in:
Ivan Savenko 2023-11-27 13:47:10 +02:00
parent e21e3f8386
commit ee46fc806a

View File

@ -158,20 +158,35 @@ namespace TriggeredEventsDetail
{
case EventCondition::HAVE_ARTIFACT:
case EventCondition::TRANSPORT:
event.objectType = ArtifactID(ArtifactID::decode(data["type"].String()));
if (data["type"].isNumber()) // compatibility
event.objectType = ArtifactID(data["type"].Integer());
else
event.objectType = ArtifactID(ArtifactID::decode(data["type"].String()));
break;
case EventCondition::HAVE_CREATURES:
event.objectType = CreatureID(CreatureID::decode(data["type"].String()));
if (data["type"].isNumber()) // compatibility
event.objectType = CreatureID(data["type"].Integer());
else
event.objectType = CreatureID(CreatureID::decode(data["type"].String()));
break;
case EventCondition::HAVE_RESOURCES:
event.objectType = GameResID(GameResID::decode(data["type"].String()));
if (data["type"].isNumber()) // compatibility
event.objectType = GameResID(data["type"].Integer());
else
event.objectType = GameResID(GameResID::decode(data["type"].String()));
break;
case EventCondition::HAVE_BUILDING:
event.objectType = BuildingID(BuildingID::decode(data["type"].String()));
if (data["type"].isNumber()) // compatibility
event.objectType = BuildingID(data["type"].Integer());
else
event.objectType = BuildingID(BuildingID::decode(data["type"].String()));
break;
case EventCondition::CONTROL:
case EventCondition::DESTROY:
event.objectType = MapObjectID(MapObjectID::decode(data["type"].String()));
if (data["type"].isNumber()) // compatibility
event.objectType = MapObjectID(data["type"].Integer());
else
event.objectType = MapObjectID(MapObjectID::decode(data["type"].String()));
break;
}