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.
 
 
 
 
 
 

58 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__ */