X-Git-Url: https://sfsrealm.hopto.org/projects/?a=blobdiff_plain;f=SComp.cpp;h=9a930ad241f35cfcbd80f9fbee65ac7bc4759330;hb=f71c1a8a32f53b22b31dbc850c72c1df291d2135;hp=f02fea663bf4b8206298e2503fd553a211df3bd8;hpb=58da368ca3dcc274346b693ebbd8b76de8f2b2dd;p=SComp.git diff --git a/SComp.cpp b/SComp.cpp index f02fea6..9a930ad 100644 --- a/SComp.cpp +++ b/SComp.cpp @@ -92,6 +92,25 @@ typedef struct { unsigned int FillInput(char *lpvBuffer, unsigned int *lpdwSize, void *param); void FillOutput(char *lpvBuffer, unsigned int *lpdwSize, void *param); +const unsigned int UNSUPPORTED_COMPRESSION = (0xFF ^ (0x40 | 0x80 | 0x01 +#ifdef USE_ZLIB + | 0x02 +#endif + | 0x08 +#ifdef USE_BZIP2 + | 0x10 +#endif + )); +const unsigned int UNSUPPORTED_DECOMPRESSION = (0xFF ^ (0x40 | 0x80 | 0x01 +#ifdef USE_ZLIB + | 0x02 +#endif + | 0x08 +#ifdef USE_BZIP2 + | 0x10 +#endif + )); + CompressFunc CompressionFunctions[] = { {0x40, CompressWaveMono}, @@ -477,7 +496,7 @@ void __fastcall Deflate(LPVOID lpvDestinationMem, LPDWORD lpdwCompressedSize, LP } } - compress2((LPBYTE)lpvDestinationMem,lpdwCompressedSize,(LPBYTE)lpvSourceMem,dwDecompressedSize,dwCompressLevel); + compress2((LPBYTE)lpvDestinationMem,(unsigned long *)lpdwCompressedSize,(LPBYTE)lpvSourceMem,dwDecompressedSize,dwCompressLevel); *lpdwCompressionSubType = 0; } @@ -618,7 +637,7 @@ void __fastcall HuffmanDecompress(LPVOID lpvDestinationMem, LPDWORD lpdwDecompre void __fastcall Inflate(LPVOID lpvDestinationMem, LPDWORD lpdwDecompressedSize, LPVOID lpvSourceMem, DWORD dwCompressedSize) { - uncompress((LPBYTE)lpvDestinationMem,lpdwDecompressedSize,(LPBYTE)lpvSourceMem,dwCompressedSize); + uncompress((LPBYTE)lpvDestinationMem,(unsigned long *)lpdwDecompressedSize,(LPBYTE)lpvSourceMem,dwCompressedSize); } #endif