mirror of
https://github.com/spiffcode/hostile-takeover.git
synced 2026-03-27 15:29:39 -06:00
40 lines
949 B
C++
40 lines
949 B
C++
#ifndef __MEMPDBREADER_H__
|
|
#define __MEMPDBREADER_H__
|
|
|
|
#include "game/ht.h"
|
|
#include "mpshared/pdbreader.h"
|
|
|
|
namespace wi {
|
|
|
|
//
|
|
// Reads pdbs from memory
|
|
//
|
|
|
|
class MemPdbReader : public PdbReader
|
|
{
|
|
public:
|
|
MemPdbReader() secPackFile;
|
|
~MemPdbReader() secPackFile;
|
|
bool Open(char *pszFn) secPackFile;
|
|
|
|
virtual void Close() secPackFile;
|
|
virtual bool GetRecordSize(word nRec, word *pcb) secPackFile;
|
|
virtual bool ReadRecord(word nRec, word n, word cb, void *pv) secPackFile;
|
|
virtual byte *MapRecord(word nRec, void **ppvCookie, word *pcb = NULL) secPackFile;
|
|
virtual void UnmapRecord(word nRec, void *pvCookie) secPackFile;
|
|
|
|
private:
|
|
bool GetRecordEntry(word nRec, int cRec, RecordEntryType *prece, dword *pcb) secPackFile;
|
|
dword GetCompressionHeader(word nRec, CompressionHeader *pcoh) secPackFile;
|
|
|
|
dword m_cb;
|
|
byte *m_pb;
|
|
word m_cRecs;
|
|
word m_cMapped;
|
|
CacheHandle *m_aphcRecordData;
|
|
};
|
|
|
|
} // namespace wi
|
|
|
|
#endif // __MEMPDBREADER_H__
|