Commit | Line | Data |
09d0556c |
1 | #ifndef STORM_H_INCLUDED |
2 | #define STORM_H_INCLUDED |
3 | |
4 | #include <windows.h> |
5 | |
6 | #ifdef __cplusplus |
7 | extern "C" { |
8 | #endif |
9 | |
10 | // This no longer needs to be called |
11 | extern HINSTANCE LoadStorm(char * DllFileName); |
12 | |
13 | #define SFILE_OPEN_HARD_DISK_FILE 0x0000 //Open archive without regard to the drive type it resides on |
14 | #define SFILE_OPEN_CD_ROM_FILE 0x0001 //Open the archive only if it is on a CD-ROM |
15 | |
16 | #define SFILE_SEARCH_CURRENT_ONLY 0x00 //Used with SFileOpenFileEx; only the archive with the handle specified will be searched for the file |
17 | #define SFILE_SEARCH_ALL_OPEN 0x01 //SFileOpenFileEx will look through all open archives for the file |
18 | |
19 | #define MPQHANDLE HANDLE |
20 | |
21 | // Storm Function Prototypes |
22 | typedef BOOL (WINAPI* funcSFileOpenArchive)(LPCSTR lpFilename, DWORD dwPriority, DWORD dwFlags, MPQHANDLE *hMPQ); |
23 | typedef BOOL (WINAPI* funcSFileCloseArchive)(MPQHANDLE hMPQ); |
24 | typedef BOOL (WINAPI* funcSFileOpenFile)(LPCSTR lpFileName, MPQHANDLE *hFile); |
25 | typedef BOOL (WINAPI* funcSFileOpenFileEx)(MPQHANDLE hMPQ, LPCSTR lpFileName, DWORD dwSearchScope, MPQHANDLE *hFile); |
26 | typedef BOOL (WINAPI* funcSFileCloseFile)(MPQHANDLE hFile); |
27 | typedef DWORD (WINAPI* funcSFileGetFileSize)(MPQHANDLE hFile, LPDWORD lpFileSizeHigh); |
28 | typedef DWORD (WINAPI* funcSFileSetFilePointer)(MPQHANDLE hFile, long lDistanceToMove, PLONG lplDistanceToMoveHigh, DWORD dwMoveMethod); |
29 | typedef BOOL (WINAPI* funcSFileReadFile)(MPQHANDLE hFile,LPVOID lpBuffer,DWORD nNumberOfBytesToRead,LPDWORD lpNumberOfBytesRead,LPOVERLAPPED lpOverlapped); |
30 | typedef LCID (WINAPI* funcSFileSetLocale)(LCID nNewLocale); |
31 | typedef BOOL (WINAPI* funcSFileDestroy)(); |
32 | typedef BOOL (WINAPI* funcSFileGetArchiveName)(MPQHANDLE hMPQ, LPCSTR lpBuffer, DWORD dwBufferLength); |
33 | typedef BOOL (WINAPI* funcSFileGetFileName)(MPQHANDLE hFile, LPCSTR lpBuffer, DWORD dwBufferLength); |
34 | typedef BOOL (WINAPI* funcSFileGetFileArchive)(MPQHANDLE hFile, MPQHANDLE *hMPQ); |
35 | typedef BOOL (WINAPI* funcSFileGetBasePath)(LPCSTR lpBuffer, DWORD dwBufferLength); |
36 | typedef BOOL (WINAPI* funcSFileSetBasePath)(LPCSTR lpNewBasePath); |
37 | |
38 | // Storm Function Names |
39 | extern funcSFileCloseArchive SFileCloseArchive; |
40 | extern funcSFileCloseFile SFileCloseFile; |
41 | extern funcSFileDestroy SFileDestroy; |
42 | extern funcSFileGetFileArchive SFileGetFileArchive; |
43 | extern funcSFileGetFileSize SFileGetFileSize; |
44 | extern funcSFileOpenArchive SFileOpenArchive; |
45 | extern funcSFileOpenFile SFileOpenFile; |
46 | extern funcSFileOpenFileEx SFileOpenFileEx; |
47 | extern funcSFileReadFile SFileReadFile; |
48 | extern funcSFileSetBasePath SFileSetBasePath; |
49 | extern funcSFileSetFilePointer SFileSetFilePointer; |
50 | extern funcSFileSetLocale SFileSetLocale; |
51 | extern funcSFileGetBasePath SFileGetBasePath; |
52 | extern funcSFileGetArchiveName SFileGetArchiveName; |
53 | extern funcSFileGetFileName SFileGetFileName; |
54 | |
55 | #ifdef __cplusplus |
56 | }; // extern "C" |
57 | #endif |
58 | |
59 | #endif |