diff options
author | Ladislav Zezula <ladislav.zezula@avg.com> | 2013-12-19 11:23:48 +0100 |
---|---|---|
committer | Ladislav Zezula <ladislav.zezula@avg.com> | 2013-12-19 11:23:48 +0100 |
commit | ebd502e0c220f7c2d3b9ce65bd83ed569d65f314 (patch) | |
tree | cb3c0d82de0432448db4a09e9e0ef6d4e71beacb /src/SFileGetFileInfo.cpp | |
parent | 55f159cf69d8b4816876653d25239abf6c3ef5a4 (diff) |
+ Bitmap support was moved from archive functions to FileStream functions, where are more appropriate
+ Added support for master-mirror streams (like Blizzard games do)
+ SFileGetArchiveBitmap was moved into SFileGetFileInfo
+ Fixed bug in SFileCompactArchive
+ Removed classes SFileMpqBitmapXXX from SFileGetFileInfo
Diffstat (limited to 'src/SFileGetFileInfo.cpp')
-rw-r--r-- | src/SFileGetFileInfo.cpp | 49 |
1 files changed, 6 insertions, 43 deletions
diff --git a/src/SFileGetFileInfo.cpp b/src/SFileGetFileInfo.cpp index da47fc9..31ee594 100644 --- a/src/SFileGetFileInfo.cpp +++ b/src/SFileGetFileInfo.cpp @@ -163,6 +163,12 @@ bool WINAPI SFileGetFileInfo( } break; + case SFileMpqFileBitmap: + ha = IsValidMpqHandle(hMpqOrFile); + if(ha != NULL) + return FileStream_GetBitmap(ha->pStream, pvFileInfo, cbFileInfo, pcbLengthNeeded); + break; + case SFileMpqUserDataOffset: ha = IsValidMpqHandle(hMpqOrFile); if(ha != NULL) @@ -510,49 +516,6 @@ bool WINAPI SFileGetFileInfo( } break; - case SFileMpqBitmapOffset: - ha = IsValidMpqHandle(hMpqOrFile); - if(ha != NULL) - { - nInfoType = SFILE_INFO_TYPE_NOT_FOUND; - if(ha->pBitmap != NULL) - { - Int64Value = MAKE_OFFSET64(ha->pBitmap->dwMapOffsetHi, ha->pBitmap->dwMapOffsetLo); - pvSrcFileInfo = &Int64Value; - cbSrcFileInfo = sizeof(ULONGLONG); - nInfoType = SFILE_INFO_TYPE_DIRECT_POINTER; - } - } - break; - - case SFileMpqBitmapSize: - ha = IsValidMpqHandle(hMpqOrFile); - if(ha != NULL) - { - nInfoType = SFILE_INFO_TYPE_NOT_FOUND; - if(ha->pBitmap != NULL) - { - pvSrcFileInfo = &ha->dwBitmapSize; - cbSrcFileInfo = sizeof(DWORD); - nInfoType = SFILE_INFO_TYPE_DIRECT_POINTER; - } - } - break; - - case SFileMpqBitmap: - ha = IsValidMpqHandle(hMpqOrFile); - if(ha != NULL) - { - nInfoType = SFILE_INFO_TYPE_NOT_FOUND; - if(ha->pBitmap != NULL) - { - pvSrcFileInfo = ha->pBitmap; - cbSrcFileInfo = ha->dwBitmapSize; - nInfoType = SFILE_INFO_TYPE_DIRECT_POINTER; - } - } - break; - case SFileMpqArchiveSize64: ha = IsValidMpqHandle(hMpqOrFile); if(ha != NULL) |