diff --git a/src/common/filesystem/source/resourcefile.cpp b/src/common/filesystem/source/resourcefile.cpp index 3fd4676b0..09414907d 100644 --- a/src/common/filesystem/source/resourcefile.cpp +++ b/src/common/filesystem/source/resourcefile.cpp @@ -742,11 +742,17 @@ FileReader FResourceFile::GetEntryReader(uint32_t entry, int readertype, int rea else { FileReader fri; - if (readertype == READER_NEW || !mainThread) fri.OpenFile(FileName, Entries[entry].Position, Entries[entry].CompressedSize); - else fri.OpenFilePart(Reader, Entries[entry].Position, Entries[entry].CompressedSize); + if (readertype == READER_NEW || !mainThread) + fri.OpenFile(FileName, Entries[entry].Position, Entries[entry].CompressedSize); + else + fri.OpenFilePart(Reader, Entries[entry].Position, Entries[entry].CompressedSize); + int flags = DCF_TRANSFEROWNER | DCF_EXCEPTIONS; - if (readertype == READER_CACHED) flags |= DCF_CACHED; - else if (readerflags & READERFLAG_SEEKABLE) flags |= DCF_SEEKABLE; + if (readertype == READER_CACHED) + flags |= DCF_CACHED; + else if (readerflags & READERFLAG_SEEKABLE) + flags |= DCF_SEEKABLE; + OpenDecompressor(fr, fri, Entries[entry].Length, Entries[entry].Method, flags); } } diff --git a/src/common/rendering/vulkan/shaders/vk_shadercache.cpp b/src/common/rendering/vulkan/shaders/vk_shadercache.cpp index d51e495e4..ccc6dd764 100644 --- a/src/common/rendering/vulkan/shaders/vk_shadercache.cpp +++ b/src/common/rendering/vulkan/shaders/vk_shadercache.cpp @@ -171,16 +171,9 @@ const VkCachedShaderLump* VkShaderCache::GetPrivateFile(const FString& lumpname) FString GetStringFromLumpThreadsafe(int lump) { - auto reader = fileSystem.OpenFileReader(lump, FileSys::READER_NEW, FileSys::READERFLAG_SEEKABLE); - if (reader.GetBuffer()) - { - return FString(reader.GetBuffer(), reader.GetLength()); - } - else - { - auto data = reader.Read(); - return FString(static_cast(data.data()), data.size()); - } + auto reader = fileSystem.OpenFileReader(lump, FileSys::READER_NEW, 0); + auto data = reader.Read(); + return FString(static_cast(data.data()), data.size()); } FString VkShaderCache::LoadPublicShaderLump(const char* lumpname)