diff --git a/src/resource/ResourceManager.cpp b/src/resource/ResourceManager.cpp index ac0bdf8a7..a48c49d43 100644 --- a/src/resource/ResourceManager.cpp +++ b/src/resource/ResourceManager.cpp @@ -143,6 +143,7 @@ std::shared_ptr ResourceManager::LoadResourceProcess(const ResourceId auto file = LoadFileProcess(identifier.Path, initData); if (file == nullptr) { SPDLOG_TRACE("Failed to load resource file at path {}", identifier.Path); + return nullptr; } // Transform the raw data into a resource diff --git a/src/resource/archive/Archive.cpp b/src/resource/archive/Archive.cpp index 1970c9ddf..1a800756a 100644 --- a/src/resource/archive/Archive.cpp +++ b/src/resource/archive/Archive.cpp @@ -219,7 +219,7 @@ std::shared_ptr Archive::LoadFile(const std::string& filePath, std::shared } else { fileToLoad = LoadFileRaw(filePath); if (fileToLoad == nullptr) { - SPDLOG_ERROR("Failed to load file at path {}.", filePath); + SPDLOG_TRACE("Failed to load file at path {}.", filePath); return nullptr; } fileToLoad->InitData = ReadResourceInitDataLegacy(filePath, fileToLoad); diff --git a/src/resource/archive/O2rArchive.cpp b/src/resource/archive/O2rArchive.cpp index 5bc76e897..98a038d4c 100644 --- a/src/resource/archive/O2rArchive.cpp +++ b/src/resource/archive/O2rArchive.cpp @@ -36,6 +36,12 @@ std::shared_ptr O2rArchive::LoadFileRaw(const std::string& filePath) { return nullptr; } + // Filesize 0, no logging needed + if (zipEntryStat.size == 0) { + SPDLOG_TRACE("({}) Failed to load file {}; filesize 0", GetLastError(), filePath, GetPath()); + return nullptr; + } + struct zip_file* zipEntryFile = zip_fopen_index(mZipArchive, zipEntryIndex, 0); if (!zipEntryFile) { SPDLOG_TRACE("Failed to open file {} in zip archive {}.", filePath, GetPath()); diff --git a/src/resource/archive/OtrArchive.cpp b/src/resource/archive/OtrArchive.cpp index 197934ed8..0ae907117 100644 --- a/src/resource/archive/OtrArchive.cpp +++ b/src/resource/archive/OtrArchive.cpp @@ -33,6 +33,10 @@ std::shared_ptr OtrArchive::LoadFileRaw(const std::string& filePath) { auto fileToLoad = std::make_shared(); DWORD fileSize = SFileGetFileSize(fileHandle, 0); + if (fileSize == 0) { + SPDLOG_TRACE("({}) Failed to load file {}; filesize 0", GetLastError(), filePath, GetPath()); + return nullptr; + } DWORD readBytes; fileToLoad->Buffer = std::make_shared>(fileSize); bool readFileSuccess = SFileReadFile(fileHandle, fileToLoad->Buffer->data(), fileSize, &readBytes, NULL);