aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/History.txt10
-rw-r--r--src/DllMain.def3
-rw-r--r--storm_dll/storm.def3
-rw-r--r--storm_dll/storm.h6
4 files changed, 17 insertions, 5 deletions
diff --git a/doc/History.txt b/doc/History.txt
index b6a098c..e61c954 100644
--- a/doc/History.txt
+++ b/doc/History.txt
@@ -2,6 +2,10 @@
StormLib history
================
+ Version 9.30
+
+ - Added functions for conversions between file names and safe operating system file names
+
Version 9.11
- Fixed bug in processing HET table.
@@ -34,13 +38,13 @@
- Updated support for protected maps from Warcraft III
Version 7.11
-
+
- Support for MPQs v 3.0 (WOW-Cataclysm BETA)
- StormLib now deals properly with files that have MPQ_SECTOR_CHECKSUM missing,
but have sector checksum entry present in the sector offset table
Version 7.10
-
+
- Support for partial MPQs ("interface.MPQ.part")
- The only operation that is externally allowed to do with internal files
("(listfile)", "(attributes)" and "(signature)") is reading. Attempt to modify any of the file
@@ -48,7 +52,7 @@
- Fixed memory leak that has occured when writing more than one sector to the file at once
Version 7.01
-
+
- Support for adding files from memory
- Fixed improper validation of handles to MPQ file and MPQ archive
- Fixed bug where StormLib didn't save CRC32 of the file when added to archive
diff --git a/src/DllMain.def b/src/DllMain.def
index bce2877..0315607 100644
--- a/src/DllMain.def
+++ b/src/DllMain.def
@@ -70,6 +70,9 @@ EXPORTS
SFileSetDataCompression
SFileSetAddFileCallback
+ SMemUTF8ToFileName
+ SMemFileNameToUTF8
+
SCompImplode
SCompExplode
SCompCompress
diff --git a/storm_dll/storm.def b/storm_dll/storm.def
index 8de88f5..2b8b08c 100644
--- a/storm_dll/storm.def
+++ b/storm_dll/storm.def
@@ -18,8 +18,7 @@ EXPORTS
StormGetArchiveName @275 ; 0x113
StormGetFileName @276 ; 0x114
-; StormSetLastError @465 ; 0x
+; StormSetLastError @465 ; 0x1d1
StormCompress @551 ; 0x227
StormDecompress @552 ; 0x228
- \ No newline at end of file
diff --git a/storm_dll/storm.h b/storm_dll/storm.h
index 75681b8..96cae9c 100644
--- a/storm_dll/storm.h
+++ b/storm_dll/storm.h
@@ -23,9 +23,11 @@
// will not conflict with other MPQ tools.
#ifdef STORM_ALTERNATE_NAMES
#define SFILE(Name) Storm##Name
+ #define SMEM(Name) Storm##Name
#define SCOMP(Name) Storm##Name
#else
#define SFILE(Name) SFile##Name
+ #define SMEM(Name) SMem##Name
#define SCOMP(Name) SComp##Name
#endif
@@ -50,6 +52,10 @@ LCID WINAPI SFILE(SetLocale)(LCID nNewLocale);
BOOL WINAPI SFILE(GetBasePath)(LPCSTR lpBuffer, DWORD dwBufferLength);
BOOL WINAPI SFILE(SetBasePath)(LPCSTR lpNewBasePath);
+// File name safe functions
+BOOL WINAPI SMEM(UTF8ToFileName)(LPTSTR szBuffer, size_t ccBuffer, const void * lpString, const void * lpStringEnd, DWORD dwFlags, size_t * pOutLength);
+BOOL WINAPI SMEM(FileNameToUTF8)(void * lpBuffer, size_t ccBuffer, const TCHAR * szString, const TCHAR * szStringEnd, DWORD dwFlags, size_t * pOutLength);
+
// Storm (de)compression functions
BOOL WINAPI SCOMP(Compress) (char * pbOutBuffer, int * pdwOutLength, char * pbInBuffer, int dwInLength, int uCmp, int uCmpType, int nCmpLevel);
BOOL WINAPI SCOMP(Decompress)(char * pbOutBuffer, int * pdwOutLength, char * pbInBuffer, int dwInLength);