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 Small banner for links to this site: |
diff --git a/loadstorm/Storm.cpp b/loadstorm/Storm.cpp
--- a/loadstorm/Storm.cpp
+++ b/loadstorm/Storm.cpp
-/*\r
- Storm.cpp\r
-*/\r
-\r
-#include "storm.h"\r
-\r
-struct STORMMODULE {\r
- STORMMODULE();\r
- ~STORMMODULE();\r
-} Storm;\r
-\r
-void FreeStorm();\r
-\r
-HINSTANCE hStorm = 0;\r
-BOOL AlreadyLoaded = FALSE;\r
-\r
-// Storm Function Names\r
-funcSFileCloseArchive SFileCloseArchive = 0;\r
-funcSFileCloseFile SFileCloseFile = 0;\r
-funcSFileDestroy SFileDestroy = 0;\r
-funcSFileGetFileArchive SFileGetFileArchive = 0;\r
-funcSFileGetFileSize SFileGetFileSize = 0;\r
-funcSFileOpenArchive SFileOpenArchive = 0;\r
-funcSFileOpenFile SFileOpenFile = 0;\r
-funcSFileOpenFileEx SFileOpenFileEx = 0;\r
-funcSFileReadFile SFileReadFile = 0;\r
-funcSFileSetBasePath SFileSetBasePath = 0;\r
-funcSFileSetFilePointer SFileSetFilePointer = 0;\r
-funcSFileSetLocale SFileSetLocale = 0;\r
-funcSFileGetBasePath SFileGetBasePath = 0;\r
-funcSFileGetArchiveName SFileGetArchiveName = 0;\r
-funcSFileGetFileName SFileGetFileName = 0;\r
-\r
-STORMMODULE::STORMMODULE()\r
-{\r
- if (hStorm!=0) return;\r
- const char STORM_DLL[] = "Storm.dll";\r
- hStorm = GetModuleHandle(STORM_DLL);\r
- if (hStorm == NULL) hStorm = LoadLibrary(STORM_DLL);\r
- else AlreadyLoaded=TRUE;\r
-\r
- if (hStorm != NULL)\r
- {\r
- SFileCloseArchive = (funcSFileCloseArchive)GetProcAddress(hStorm, (LPCSTR)0xFC);\r
- SFileCloseFile = (funcSFileCloseFile)GetProcAddress(hStorm, (LPCSTR)0xFD);\r
- SFileDestroy = (funcSFileDestroy)GetProcAddress(hStorm, (LPCSTR)0x106);\r
- SFileGetFileArchive = (funcSFileGetFileArchive)GetProcAddress(hStorm, (LPCSTR)0x108);\r
- SFileGetFileSize = (funcSFileGetFileSize)GetProcAddress(hStorm, (LPCSTR)0x109);\r
- SFileOpenArchive = (funcSFileOpenArchive)GetProcAddress(hStorm, (LPCSTR)0x10A);\r
- SFileOpenFile = (funcSFileOpenFile)GetProcAddress(hStorm, (LPCSTR)0x10B);\r
- SFileOpenFileEx = (funcSFileOpenFileEx)GetProcAddress(hStorm, (LPCSTR)0x10C);\r
- SFileReadFile = (funcSFileReadFile)GetProcAddress(hStorm, (LPCSTR)0x10D);\r
- SFileSetBasePath = (funcSFileSetBasePath)GetProcAddress(hStorm, (LPCSTR)0x10E);\r
- SFileSetFilePointer = (funcSFileSetFilePointer)GetProcAddress(hStorm, (LPCSTR)0x10F);\r
- SFileSetLocale = (funcSFileSetLocale)GetProcAddress(hStorm, (LPCSTR)0x110);\r
- SFileGetBasePath = (funcSFileGetBasePath)GetProcAddress(hStorm, (LPCSTR)0x111);\r
- SFileGetArchiveName = (funcSFileGetArchiveName)GetProcAddress(hStorm, (LPCSTR)0x113);\r
- SFileGetFileName = (funcSFileGetFileName)GetProcAddress(hStorm, (LPCSTR)0x114);\r
- }\r
- if (SFileDestroy && !AlreadyLoaded) SFileDestroy();\r
-}\r
-\r
-STORMMODULE::~STORMMODULE()\r
-{\r
- FreeStorm();\r
-}\r
-\r
-HINSTANCE LoadStorm(char * DllFileName)\r
-{\r
- FreeStorm();\r
- if (hStorm!=0) return 0;\r
- hStorm = GetModuleHandle(DllFileName);\r
- if (hStorm == NULL) hStorm = LoadLibrary(DllFileName);\r
- else AlreadyLoaded=TRUE;\r
-\r
- if (hStorm != NULL)\r
- {\r
- SFileCloseArchive = (funcSFileCloseArchive)GetProcAddress(hStorm, (LPCSTR)0xFC);\r
- SFileCloseFile = (funcSFileCloseFile)GetProcAddress(hStorm, (LPCSTR)0xFD);\r
- SFileDestroy = (funcSFileDestroy)GetProcAddress(hStorm, (LPCSTR)0x106);\r
- SFileGetFileArchive = (funcSFileGetFileArchive)GetProcAddress(hStorm, (LPCSTR)0x108);\r
- SFileGetFileSize = (funcSFileGetFileSize)GetProcAddress(hStorm, (LPCSTR)0x109);\r
- SFileOpenArchive = (funcSFileOpenArchive)GetProcAddress(hStorm, (LPCSTR)0x10A);\r
- SFileOpenFile = (funcSFileOpenFile)GetProcAddress(hStorm, (LPCSTR)0x10B);\r
- SFileOpenFileEx = (funcSFileOpenFileEx)GetProcAddress(hStorm, (LPCSTR)0x10C);\r
- SFileReadFile = (funcSFileReadFile)GetProcAddress(hStorm, (LPCSTR)0x10D);\r
- SFileSetBasePath = (funcSFileSetBasePath)GetProcAddress(hStorm, (LPCSTR)0x10E);\r
- SFileSetFilePointer = (funcSFileSetFilePointer)GetProcAddress(hStorm, (LPCSTR)0x10F);\r
- SFileSetLocale = (funcSFileSetLocale)GetProcAddress(hStorm, (LPCSTR)0x110);\r
- SFileGetBasePath = (funcSFileGetBasePath)GetProcAddress(hStorm, (LPCSTR)0x111);\r
- SFileGetArchiveName = (funcSFileGetArchiveName)GetProcAddress(hStorm, (LPCSTR)0x113);\r
- SFileGetFileName = (funcSFileGetFileName)GetProcAddress(hStorm, (LPCSTR)0x114);\r
- }\r
- if (SFileDestroy && !AlreadyLoaded) SFileDestroy();\r
- if (AlreadyLoaded==TRUE) return 0;\r
- return hStorm;\r
-}\r
-\r
-void FreeStorm()\r
-{\r
- SFileCloseArchive = 0;\r
- SFileCloseFile = 0;\r
- SFileDestroy = 0;\r
- SFileGetFileArchive = 0;\r
- SFileGetFileSize = 0;\r
- SFileOpenArchive = 0;\r
- SFileOpenFile = 0;\r
- SFileOpenFileEx = 0;\r
- SFileReadFile = 0;\r
- SFileSetBasePath = 0;\r
- SFileSetFilePointer = 0;\r
- SFileSetLocale = 0;\r
- SFileGetBasePath = 0;\r
- SFileGetArchiveName = 0;\r
- SFileGetFileName = 0;\r
-\r
- if (hStorm==0) return;\r
-\r
- if (AlreadyLoaded==FALSE) FreeLibrary(hStorm);\r
- hStorm = 0;\r
-}\r
+/*
+ Storm.cpp
+*/
+
+#include "storm.h"
+
+struct STORMMODULE {
+ STORMMODULE();
+ ~STORMMODULE();
+} Storm;
+
+void FreeStorm();
+
+HINSTANCE hStorm = 0;
+BOOL AlreadyLoaded = FALSE;
+
+// Storm Function Names
+funcSFileCloseArchive SFileCloseArchive = 0;
+funcSFileCloseFile SFileCloseFile = 0;
+funcSFileDestroy SFileDestroy = 0;
+funcSFileGetFileArchive SFileGetFileArchive = 0;
+funcSFileGetFileSize SFileGetFileSize = 0;
+funcSFileOpenArchive SFileOpenArchive = 0;
+funcSFileOpenFile SFileOpenFile = 0;
+funcSFileOpenFileEx SFileOpenFileEx = 0;
+funcSFileReadFile SFileReadFile = 0;
+funcSFileSetBasePath SFileSetBasePath = 0;
+funcSFileSetFilePointer SFileSetFilePointer = 0;
+funcSFileSetLocale SFileSetLocale = 0;
+funcSFileGetBasePath SFileGetBasePath = 0;
+funcSFileGetArchiveName SFileGetArchiveName = 0;
+funcSFileGetFileName SFileGetFileName = 0;
+
+STORMMODULE::STORMMODULE()
+{
+ if (hStorm!=0) return;
+ const char STORM_DLL[] = "Storm.dll";
+ hStorm = GetModuleHandle(STORM_DLL);
+ if (hStorm == NULL) hStorm = LoadLibrary(STORM_DLL);
+ else AlreadyLoaded=TRUE;
+
+ if (hStorm != NULL)
+ {
+ SFileCloseArchive = (funcSFileCloseArchive)GetProcAddress(hStorm, (LPCSTR)0xFC);
+ SFileCloseFile = (funcSFileCloseFile)GetProcAddress(hStorm, (LPCSTR)0xFD);
+ SFileDestroy = (funcSFileDestroy)GetProcAddress(hStorm, (LPCSTR)0x106);
+ SFileGetFileArchive = (funcSFileGetFileArchive)GetProcAddress(hStorm, (LPCSTR)0x108);
+ SFileGetFileSize = (funcSFileGetFileSize)GetProcAddress(hStorm, (LPCSTR)0x109);
+ SFileOpenArchive = (funcSFileOpenArchive)GetProcAddress(hStorm, (LPCSTR)0x10A);
+ SFileOpenFile = (funcSFileOpenFile)GetProcAddress(hStorm, (LPCSTR)0x10B);
+ SFileOpenFileEx = (funcSFileOpenFileEx)GetProcAddress(hStorm, (LPCSTR)0x10C);
+ SFileReadFile = (funcSFileReadFile)GetProcAddress(hStorm, (LPCSTR)0x10D);
+ SFileSetBasePath = (funcSFileSetBasePath)GetProcAddress(hStorm, (LPCSTR)0x10E);
+ SFileSetFilePointer = (funcSFileSetFilePointer)GetProcAddress(hStorm, (LPCSTR)0x10F);
+ SFileSetLocale = (funcSFileSetLocale)GetProcAddress(hStorm, (LPCSTR)0x110);
+ SFileGetBasePath = (funcSFileGetBasePath)GetProcAddress(hStorm, (LPCSTR)0x111);
+ SFileGetArchiveName = (funcSFileGetArchiveName)GetProcAddress(hStorm, (LPCSTR)0x113);
+ SFileGetFileName = (funcSFileGetFileName)GetProcAddress(hStorm, (LPCSTR)0x114);
+ }
+ if (SFileDestroy && !AlreadyLoaded) SFileDestroy();
+}
+
+STORMMODULE::~STORMMODULE()
+{
+ FreeStorm();
+}
+
+HINSTANCE LoadStorm(char * DllFileName)
+{
+ FreeStorm();
+ if (hStorm!=0) return 0;
+ hStorm = GetModuleHandle(DllFileName);
+ if (hStorm == NULL) hStorm = LoadLibrary(DllFileName);
+ else AlreadyLoaded=TRUE;
+
+ if (hStorm != NULL)
+ {
+ SFileCloseArchive = (funcSFileCloseArchive)GetProcAddress(hStorm, (LPCSTR)0xFC);
+ SFileCloseFile = (funcSFileCloseFile)GetProcAddress(hStorm, (LPCSTR)0xFD);
+ SFileDestroy = (funcSFileDestroy)GetProcAddress(hStorm, (LPCSTR)0x106);
+ SFileGetFileArchive = (funcSFileGetFileArchive)GetProcAddress(hStorm, (LPCSTR)0x108);
+ SFileGetFileSize = (funcSFileGetFileSize)GetProcAddress(hStorm, (LPCSTR)0x109);
+ SFileOpenArchive = (funcSFileOpenArchive)GetProcAddress(hStorm, (LPCSTR)0x10A);
+ SFileOpenFile = (funcSFileOpenFile)GetProcAddress(hStorm, (LPCSTR)0x10B);
+ SFileOpenFileEx = (funcSFileOpenFileEx)GetProcAddress(hStorm, (LPCSTR)0x10C);
+ SFileReadFile = (funcSFileReadFile)GetProcAddress(hStorm, (LPCSTR)0x10D);
+ SFileSetBasePath = (funcSFileSetBasePath)GetProcAddress(hStorm, (LPCSTR)0x10E);
+ SFileSetFilePointer = (funcSFileSetFilePointer)GetProcAddress(hStorm, (LPCSTR)0x10F);
+ SFileSetLocale = (funcSFileSetLocale)GetProcAddress(hStorm, (LPCSTR)0x110);
+ SFileGetBasePath = (funcSFileGetBasePath)GetProcAddress(hStorm, (LPCSTR)0x111);
+ SFileGetArchiveName = (funcSFileGetArchiveName)GetProcAddress(hStorm, (LPCSTR)0x113);
+ SFileGetFileName = (funcSFileGetFileName)GetProcAddress(hStorm, (LPCSTR)0x114);
+ }
+ if (SFileDestroy && !AlreadyLoaded) SFileDestroy();
+ if (AlreadyLoaded==TRUE) return 0;
+ return hStorm;
+}
+
+void FreeStorm()
+{
+ SFileCloseArchive = 0;
+ SFileCloseFile = 0;
+ SFileDestroy = 0;
+ SFileGetFileArchive = 0;
+ SFileGetFileSize = 0;
+ SFileOpenArchive = 0;
+ SFileOpenFile = 0;
+ SFileOpenFileEx = 0;
+ SFileReadFile = 0;
+ SFileSetBasePath = 0;
+ SFileSetFilePointer = 0;
+ SFileSetLocale = 0;
+ SFileGetBasePath = 0;
+ SFileGetArchiveName = 0;
+ SFileGetFileName = 0;
+
+ if (hStorm==0) return;
+
+ if (AlreadyLoaded==FALSE) FreeLibrary(hStorm);
+ hStorm = 0;
+}
|