1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-16 19:43:06 +01:00

Fix issues with file finding on Linux

This commit is contained in:
Ted John
2022-05-13 01:04:39 +01:00
parent a1d6492828
commit 2012488956
2 changed files with 23 additions and 14 deletions

View File

@@ -320,19 +320,25 @@ std::vector<uint8_t> ObjectAsset::GetData() const
std::unique_ptr<IStream> ObjectAsset::GetStream() const
{
if (_zipPath.empty())
try
{
return std::make_unique<FileStream>(_path, FILE_MODE_OPEN);
}
auto zipArchive = Zip::TryOpen(_zipPath, ZIP_ACCESS::READ);
if (zipArchive != nullptr)
{
auto stream = zipArchive->GetFileStream(_path);
if (stream != nullptr)
if (_zipPath.empty())
{
return std::make_unique<ZipStreamWrapper>(std::move(zipArchive), std::move(stream));
return std::make_unique<FileStream>(_path, FILE_MODE_OPEN);
}
auto zipArchive = Zip::TryOpen(_zipPath, ZIP_ACCESS::READ);
if (zipArchive != nullptr)
{
auto stream = zipArchive->GetFileStream(_path);
if (stream != nullptr)
{
return std::make_unique<ZipStreamWrapper>(std::move(zipArchive), std::move(stream));
}
}
}
catch (...)
{
}
return {};
}