Ivan Savenko 9 місяців тому
батько
коміт
35fc7f7f03
2 змінених файлів з 6 додано та 3 видалено
  1. 1 1
      config/schemas/settings.json
  2. 5 2
      lib/modding/ModManager.cpp

+ 1 - 1
config/schemas/settings.json

@@ -665,7 +665,7 @@
 				},
 				"defaultRepositoryURL" : {
 					"type" : "string",
-					"default" : "https://raw.githubusercontent.com/vcmi/vcmi-mods-repository/develop/vcmi-1.6.json",
+					"default" : "https://raw.githubusercontent.com/vcmi/vcmi-mods-repository/develop/vcmi-1.7.json",
 				},
 				"extraRepositoryEnabled" : {
 					"type" : "boolean",

+ 5 - 2
lib/modding/ModManager.cpp

@@ -425,6 +425,9 @@ ModsStorage::ModsStorage(const std::vector<TModID> & modsToLoad, const JsonNode
 	coreModConfig.setModScope(ModScope::scopeBuiltin());
 	mods.try_emplace(ModScope::scopeBuiltin(), ModScope::scopeBuiltin(), coreModConfig, JsonNode());
 
+	// MODS COMPATIBILITY: in 1.6, repository list contains mod list directly, in 1.7 it is located in 'availableMods' node
+	const auto & availableRepositoryMods = repositoryList["availableMods"].isNull() ? repositoryList : repositoryList["availableMods"];
+
 	for(auto modID : modsToLoad)
 	{
 		if(ModScope::isScopeReserved(modID))
@@ -439,10 +442,10 @@ ModsStorage::ModsStorage(const std::vector<TModID> & modsToLoad, const JsonNode
 			continue;
 		}
 
-		mods.try_emplace(modID, modID, modConfig, repositoryList[modID]);
+		mods.try_emplace(modID, modID, modConfig, availableRepositoryMods[modID]);
 	}
 
-	for(const auto & mod : repositoryList.Struct())
+	for(const auto & mod : availableRepositoryMods.Struct())
 	{
 		if (vstd::contains(modsToLoad, mod.first))
 			continue;