1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-15 00:05:02 +02:00

Verifying mods before starting map

This commit is contained in:
nordsoft
2023-04-16 15:38:13 +04:00
parent 67e1b48d47
commit 954a2abb71
7 changed files with 60 additions and 3 deletions

View File

@ -86,6 +86,24 @@ void CMapService::saveMap(const std::unique_ptr<CMap> & map, boost::filesystem::
}
}
ModCompatibilityInfo CMapService::verifyMapHeaderMods(const CMapHeader & map)
{
ModCompatibilityInfo modCompatibilityInfo;
const auto & activeMods = VLC->modh->getActiveMods();
for(const auto & mapMod : map.mods)
{
if(vstd::contains(activeMods, mapMod.first))
{
const auto & modInfo = VLC->modh->getModInfo(mapMod.first);
if(modInfo.version.compatible(mapMod.second))
continue;
}
modCompatibilityInfo[mapMod.first] = mapMod.second;
}
return modCompatibilityInfo;
}
std::unique_ptr<CInputStream> CMapService::getStreamFromFS(const ResourceID & name)
{
return CResourceHandler::get()->load(name);