22 MpqArchive(
const char* MpqFileName,
const char* listFilePath =
nullptr);
27 bool exists(
const Path& filePath)
override;
28 StreamPtr open(
const Path& filePath)
override;
30 HANDLE getInternalHandle() {
return mpqHandle; }
32 void addListFile(
const char* listFilePAth);
33 std::vector<Path> findFiles(
const Path& searchMask =
"*");
37 bool is_loaded()
override;
38 bool unload()
override;
41 HANDLE mpqHandle =
nullptr;
51 HANDLE file =
nullptr;
57 bool open(
MpqArchive& archive,
const Path& filename);
58 bool is_open()
const {
return file !=
nullptr; }
61 size_t read(
void* buffer,
size_t size)
override;
69 bool seek(
long offset, seekdir origin)
override;
An interface for a stream of data.
bool seek(long offset, seekdir origin) override
Base class to use/build archives.
long size() override
Compute the size of the file.
long tell() override
Return the current position of the stream pointer.
A wrapper to manage MPQ archives.
size_t read(void *buffer, size_t size) override
Read data from the stream.
A file from a MpqArchive.