diff options
Diffstat (limited to 'src/zenserver/frontend/zipfs.h')
| -rw-r--r-- | src/zenserver/frontend/zipfs.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/zenserver/frontend/zipfs.h b/src/zenserver/frontend/zipfs.h index 645121693..c6acf7334 100644 --- a/src/zenserver/frontend/zipfs.h +++ b/src/zenserver/frontend/zipfs.h @@ -17,8 +17,16 @@ public: IoBuffer GetFile(const std::string_view& FileName) const; private: - using FileItem = MemoryView; - using FileMap = std::unordered_map<std::string_view, FileItem>; + struct FileItem + { + MemoryView View; // Initially points to LFH (size=0); resolved to file data on first access + uint32_t CompressedSize = 0; + uint32_t UncompressedSize = 0; + uint16_t CompressionMethod = 0; + IoBuffer DecompressedData; // Owns decompressed buffer for deflate entries + }; + + using FileMap = std::unordered_map<std::string_view, FileItem>; mutable RwLock m_FilesLock; FileMap mutable m_Files; IoBuffer m_Buffer; |