/** * @file mpqapi.h * * Interface of functions for creating and editing MPQ files. */ #ifndef __MPQAPI_H__ #define __MPQAPI_H__ #include DEVILUTION_BEGIN_NAMESPACE #ifdef __cplusplus extern "C" { #endif typedef struct _FILEHEADER { int signature; int headersize; int filesize; Uint16 version; Sint16 sectorsizeid; int hashoffset; int blockoffset; int hashcount; int blockcount; Uint8 pad[72]; } _FILEHEADER; typedef struct _HASHENTRY { Uint32 hashcheck[2]; Uint32 lcid; Uint32 block; } _HASHENTRY; typedef struct _BLOCKENTRY { Uint32 offset; Uint32 sizealloc; Uint32 sizefile; Uint32 flags; } _BLOCKENTRY; void mpqapi_remove_hash_entry(const char *pszName); void mpqapi_remove_hash_entries(BOOL (*fnGetName)(DWORD, char *)); BOOL mpqapi_write_file(const char *pszName, const BYTE *pbData, DWORD dwLen); void mpqapi_rename(char *pszOld, char *pszNew); BOOL mpqapi_has_file(const char *pszName); BOOL OpenMPQ(const char *pszArchive, DWORD dwChar); BOOL mpqapi_flush_and_close(const char *pszArchive, BOOL bFree, DWORD dwChar); #ifdef __cplusplus } #endif DEVILUTION_END_NAMESPACE #endif /* __MPQAPI_H__ */