aboutsummaryrefslogtreecommitdiff
path: root/src/SCompression.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/SCompression.cpp')
-rw-r--r--src/SCompression.cpp12
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;