mirror of
https://github.com/vcmi/vcmi.git
synced 2025-08-15 20:03:15 +02:00
Show root mods for maps
This commit is contained in:
@@ -94,7 +94,7 @@ ModCompatibilityInfo CMapService::verifyMapHeaderMods(const CMapHeader & map)
|
|||||||
{
|
{
|
||||||
const auto & activeMods = VLC->modh->getActiveMods();
|
const auto & activeMods = VLC->modh->getActiveMods();
|
||||||
|
|
||||||
ModCompatibilityInfo modCompatibilityInfo;
|
ModCompatibilityInfo missingMods, missingModsFiltered;
|
||||||
for(const auto & mapMod : map.mods)
|
for(const auto & mapMod : map.mods)
|
||||||
{
|
{
|
||||||
if(vstd::contains(activeMods, mapMod.first))
|
if(vstd::contains(activeMods, mapMod.first))
|
||||||
@@ -103,10 +103,18 @@ ModCompatibilityInfo CMapService::verifyMapHeaderMods(const CMapHeader & map)
|
|||||||
if(modInfo.getVerificationInfo().version.compatible(mapMod.second.version))
|
if(modInfo.getVerificationInfo().version.compatible(mapMod.second.version))
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
missingMods[mapMod.first] = mapMod.second;
|
||||||
modCompatibilityInfo[mapMod.first] = mapMod.second;
|
}
|
||||||
}
|
|
||||||
return modCompatibilityInfo;
|
//filter child mods
|
||||||
|
for(const auto & mapMod : missingMods)
|
||||||
|
{
|
||||||
|
if(!mapMod.second.parent.empty() && missingMods.count(mapMod.second.parent))
|
||||||
|
continue;
|
||||||
|
missingModsFiltered.insert(mapMod);
|
||||||
|
}
|
||||||
|
|
||||||
|
return missingModsFiltered;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<CInputStream> CMapService::getStreamFromFS(const ResourcePath & name)
|
std::unique_ptr<CInputStream> CMapService::getStreamFromFS(const ResourcePath & name)
|
||||||
|
Reference in New Issue
Block a user