From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- Minecraft.Client/ArchiveFile.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Minecraft.Client/ArchiveFile.h (limited to 'Minecraft.Client/ArchiveFile.h') diff --git a/Minecraft.Client/ArchiveFile.h b/Minecraft.Client/ArchiveFile.h new file mode 100644 index 00000000..722d570d --- /dev/null +++ b/Minecraft.Client/ArchiveFile.h @@ -0,0 +1,38 @@ +#pragma once + +#include +#include + +#include "..\Minecraft.World\File.h" +#include "..\Minecraft.World\ArrayWithLength.h" + +using namespace std; + +class ArchiveFile +{ +protected: + File m_sourcefile; + BYTE *m_cachedData; + + typedef struct _MetaData + { + wstring filename; + int ptr; + int filesize; + bool isCompressed; + + } MetaData, *PMetaData; + + unordered_map m_index; + +public: + void _readHeader(DataInputStream *dis); + + ArchiveFile(File file); + ~ArchiveFile(); + + vector *getFileList(); + bool hasFile(const wstring &filename); + int getFileSize(const wstring &filename); + byteArray getFile(const wstring &filename); +}; \ No newline at end of file -- cgit v1.2.3