aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/frontend/zipfs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/zenserver/frontend/zipfs.h')
-rw-r--r--src/zenserver/frontend/zipfs.h12
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;