Current News
Archived News
Search News
Discussion Forum


Old Forum
Install Programs More Downloads...
Troubleshooting
Source Code
Format Specs.
Misc. Information
Non-SF Stuff
Links




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