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