mirror of
https://github.com/ladislav-zezula/StormLib.git
synced 2026-01-20 14:47:22 +01:00
+ 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
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user