Ver Fonte

Add workaround for loading save when entity was moved to another mod

Ivan Savenko há 4 meses atrás
pai
commit
03997a800a
1 ficheiros alterados com 10 adições e 0 exclusões
  1. 10 0
      lib/constants/EntityIdentifiers.cpp

+ 10 - 0
lib/constants/EntityIdentifiers.cpp

@@ -158,6 +158,16 @@ int32_t IdentifierBase::resolveIdentifier(const std::string & entityType, const
 
 	if (rawId)
 		return rawId.value();
+
+	size_t semicolon = identifier.find(':');
+
+	if (semicolon != std::string::npos)
+	{
+		auto rawId2 = LIBRARY->identifiers()->getIdentifier(ModScope::scopeGame(), entityType, identifier.substr(semicolon + 1));
+		if (rawId2)
+			return rawId2.value();
+	}
+
 	throw IdentifierResolutionException(identifier);
 }