mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-23 22:37:55 +02:00
fix crash when map is packaged in a zip mod
This commit is contained in:
@@ -38,11 +38,6 @@ CMapInfo::CMapInfo()
|
||||
|
||||
CMapInfo::~CMapInfo() = default;
|
||||
|
||||
std::string CMapInfo::getFullFileURI(const ResourcePath & file) const
|
||||
{
|
||||
auto path = boost::filesystem::canonical(*CResourceHandler::get()->getResourceName(file));
|
||||
return TextOperations::filesystemPathToUtf8(path);
|
||||
}
|
||||
|
||||
void CMapInfo::mapInit(const std::string & fname)
|
||||
{
|
||||
@@ -50,9 +45,9 @@ void CMapInfo::mapInit(const std::string & fname)
|
||||
CMapService mapService;
|
||||
ResourcePath resource = ResourcePath(fname, EResType::MAP);
|
||||
originalFileURI = resource.getOriginalName();
|
||||
fullFileURI = getFullFileURI(resource);
|
||||
fullFileURI = CResourceHandler::get()->getFullFileURI(resource);
|
||||
mapHeader = mapService.loadMapHeader(resource);
|
||||
lastWrite = boost::filesystem::last_write_time(*CResourceHandler::get()->getResourceName(resource));
|
||||
lastWrite = CResourceHandler::get()->getLastWriteTime(resource);
|
||||
date = TextOperations::getFormattedDateTimeLocal(lastWrite);
|
||||
countPlayers();
|
||||
}
|
||||
@@ -71,9 +66,9 @@ void CMapInfo::saveInit(const ResourcePath & file)
|
||||
|
||||
fileURI = file.getName();
|
||||
originalFileURI = file.getOriginalName();
|
||||
fullFileURI = getFullFileURI(file);
|
||||
fullFileURI = CResourceHandler::get()->getFullFileURI(file);
|
||||
countPlayers();
|
||||
lastWrite = boost::filesystem::last_write_time(*CResourceHandler::get()->getResourceName(file));
|
||||
lastWrite = CResourceHandler::get()->getLastWriteTime(file);
|
||||
date = TextOperations::getFormattedDateTimeLocal(lastWrite);
|
||||
|
||||
// We absolutely not need this data for lobby and server will read it from save
|
||||
@@ -85,7 +80,7 @@ void CMapInfo::campaignInit()
|
||||
{
|
||||
ResourcePath resource = ResourcePath(fileURI, EResType::CAMPAIGN);
|
||||
originalFileURI = resource.getOriginalName();
|
||||
fullFileURI = getFullFileURI(resource);
|
||||
fullFileURI = CResourceHandler::get()->getFullFileURI(resource);
|
||||
campaign = CampaignHandler::getHeader(fileURI);
|
||||
lastWrite = boost::filesystem::last_write_time(*CResourceHandler::get()->getResourceName(resource));
|
||||
date = TextOperations::getFormattedDateTimeLocal(lastWrite);
|
||||
|
||||
Reference in New Issue
Block a user