rodecomp/Source/Archive/PakRegistry.h
ragnarok-clanker 4a3f02a4d1 Maintenance: Add mandatory field offset markers /* XXXX */ and x86 assertions to Archive headers (PakEntry, PakRegistry, PakCipher)
Batch #1056 by ragnarok-clanker: no function's compiled code changes; checked with 5 compiled unit(s), including every includer of Source/Archive/GPak.h, Source/Archive/PakCipher.h, Source/Archive/PakRegistry.h.
2026-10-27 13:37:30 +00:00

30 lines
771 B
C++

#ifndef RAGNAROK_SOURCE_ARCHIVE_PAKREGISTRY_H
#define RAGNAROK_SOURCE_ARCHIVE_PAKREGISTRY_H
#include "Archive/GPak.h"
#include "Archive/MemMapPakFile.h"
#include <list>
#include <utility>
class PakRegistry {
public:
~PakRegistry();
bool Add(const char* filename);
bool Exists(const char* filename, bool looseOnly) const;
void* Read(const char* filename, std::uint32_t* size, int option = 0);
void* ReadArchive(const char* filename, std::uint32_t* size);
BOOL Free(void* buffer);
void ApplyAuxiliary(const void* data, std::uint32_t size);
private:
/* 0000 */ std::list<std::pair<CMemMapPakFile*, CGPak*>> m_archives;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(PakRegistry) == 8);
#endif
extern PakRegistry g_pakRegistry;
#endif