瀏覽代碼

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

Ivan Savenko 4 月之前
父節點
當前提交
03997a800a
共有 1 個文件被更改,包括 10 次插入0 次删除
  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);
 }