diff options
Diffstat (limited to 'src/SCompression.cpp')
-rw-r--r-- | src/SCompression.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/SCompression.cpp b/src/SCompression.cpp index 933dc61..5402771 100644 --- a/src/SCompression.cpp +++ b/src/SCompression.cpp @@ -425,7 +425,7 @@ static void LZMA_Callback_Free(void *p, void *address) // the data compressed by StormLib. // -/*static */ void Compress_LZMA(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer, int * pCmpType, int nCmpLevel) +static void Compress_LZMA(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer, int * pCmpType, int nCmpLevel) { ICompressProgress Progress; CLzmaEncProps props; @@ -1076,6 +1076,16 @@ int WINAPI SCompDecompress2(void * pvOutBuffer, int * pcbOutBuffer, void * pvInB // is not supported by newer MPQs. // + case (MPQ_COMPRESSION_ADPCM_MONO | MPQ_COMPRESSION_HUFFMANN): + pfnDecompress1 = Decompress_huff; + pfnDecompress2 = Decompress_ADPCM_mono; + break; + + case (MPQ_COMPRESSION_ADPCM_STEREO | MPQ_COMPRESSION_HUFFMANN): + pfnDecompress1 = Decompress_huff; + pfnDecompress2 = Decompress_ADPCM_stereo; + break; + default: SetLastError(ERROR_FILE_CORRUPT); return 0; |