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




CommitLineData
14362b19 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
7extern "C" {\r
8#endif\r
9\r
10// This no longer needs to be called\r
11extern 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
22typedef BOOL (WINAPI* funcSFileOpenArchive)(LPCSTR lpFilename, DWORD dwPriority, DWORD dwFlags, MPQHANDLE *hMPQ);\r
23typedef BOOL (WINAPI* funcSFileCloseArchive)(MPQHANDLE hMPQ);\r
24typedef BOOL (WINAPI* funcSFileOpenFile)(LPCSTR lpFileName, MPQHANDLE *hFile);\r
25typedef BOOL (WINAPI* funcSFileOpenFileEx)(MPQHANDLE hMPQ, LPCSTR lpFileName, DWORD dwSearchScope, MPQHANDLE *hFile);\r
26typedef BOOL (WINAPI* funcSFileCloseFile)(MPQHANDLE hFile);\r
27typedef DWORD (WINAPI* funcSFileGetFileSize)(MPQHANDLE hFile, LPDWORD lpFileSizeHigh);\r
28typedef DWORD (WINAPI* funcSFileSetFilePointer)(MPQHANDLE hFile, long lDistanceToMove, PLONG lplDistanceToMoveHigh, DWORD dwMoveMethod);\r
29typedef BOOL (WINAPI* funcSFileReadFile)(MPQHANDLE hFile,LPVOID lpBuffer,DWORD nNumberOfBytesToRead,LPDWORD lpNumberOfBytesRead,LPOVERLAPPED lpOverlapped);\r
30typedef LCID (WINAPI* funcSFileSetLocale)(LCID nNewLocale);\r
31typedef BOOL (WINAPI* funcSFileDestroy)();\r
32typedef BOOL (WINAPI* funcSFileGetArchiveName)(MPQHANDLE hMPQ, LPCSTR lpBuffer, DWORD dwBufferLength);\r
33typedef BOOL (WINAPI* funcSFileGetFileName)(MPQHANDLE hFile, LPCSTR lpBuffer, DWORD dwBufferLength);\r
34typedef BOOL (WINAPI* funcSFileGetFileArchive)(MPQHANDLE hFile, MPQHANDLE *hMPQ);\r
35typedef BOOL (WINAPI* funcSFileGetBasePath)(LPCSTR lpBuffer, DWORD dwBufferLength);\r
36typedef BOOL (WINAPI* funcSFileSetBasePath)(LPCSTR lpNewBasePath);\r
37\r
38// Storm Function Names\r
39extern funcSFileCloseArchive SFileCloseArchive;\r
40extern funcSFileCloseFile SFileCloseFile;\r
41extern funcSFileDestroy SFileDestroy;\r
42extern funcSFileGetFileArchive SFileGetFileArchive;\r
43extern funcSFileGetFileSize SFileGetFileSize;\r
44extern funcSFileOpenArchive SFileOpenArchive;\r
45extern funcSFileOpenFile SFileOpenFile;\r
46extern funcSFileOpenFileEx SFileOpenFileEx;\r
47extern funcSFileReadFile SFileReadFile;\r
48extern funcSFileSetBasePath SFileSetBasePath;\r
49extern funcSFileSetFilePointer SFileSetFilePointer;\r
50extern funcSFileSetLocale SFileSetLocale;\r
51extern funcSFileGetBasePath SFileGetBasePath;\r
52extern funcSFileGetArchiveName SFileGetArchiveName;\r
53extern funcSFileGetFileName SFileGetFileName;\r
54\r
55#ifdef __cplusplus\r
56}; // extern "C" \r
57#endif\r
58\r
59#endif\r