You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.2 KiB
57 lines
1.2 KiB
/** |
|
* @file mpqapi.h |
|
* |
|
* Interface of functions for creating and editing MPQ files. |
|
*/ |
|
#ifndef __MPQAPI_H__ |
|
#define __MPQAPI_H__ |
|
|
|
#include <stdint.h> |
|
|
|
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__ */
|
|
|