BladeKnight109
04-09-16, 05:45 PM
Bỏ JX khá lâu nay lục lại thấy cái này hay share cho ai cần và mình xin phép vẫn để nguồn là LTG Team mặc dù đã giải thể.:)
Tìm hàm trong Project Engine và thay thế hàm bên dưới nhé.
Không tiếp nhận gạch đá, trẩu or các thành phần gato khác.
bool XPackFile::ExtractRead(void* pBuffer, unsigned int uExtractSize,
long lCompressType, unsigned int uOffset, unsigned int uSize) const
{
_ASSERT(pBuffer);
bool bResult = false;
if (lCompressType == TYPE_NONE)
{
if (uExtractSize == uSize)
bResult = DirectRead(pBuffer, uOffset, uSize);
}
else
{
void* pReadBuffer = malloc(uSize);
if (pReadBuffer)
{
//Load Pak VNG
if ((lCompressType == TYPE_UCL || lCompressType == 0x20000000) && DirectRead(pReadBuffer, uOffset, uSize))
{
unsigned int uDestLength;
ucl_nrv2b_decompress_8((BYTE*)pReadBuffer, uSize, (BYTE*)pBuffer, &uDestLength, NULL);
bResult = (uDestLength == uExtractSize);
}
free (pReadBuffer);
}
}
return bResult;
}
Nguồn: LTG Team
Tìm hàm trong Project Engine và thay thế hàm bên dưới nhé.
Không tiếp nhận gạch đá, trẩu or các thành phần gato khác.
bool XPackFile::ExtractRead(void* pBuffer, unsigned int uExtractSize,
long lCompressType, unsigned int uOffset, unsigned int uSize) const
{
_ASSERT(pBuffer);
bool bResult = false;
if (lCompressType == TYPE_NONE)
{
if (uExtractSize == uSize)
bResult = DirectRead(pBuffer, uOffset, uSize);
}
else
{
void* pReadBuffer = malloc(uSize);
if (pReadBuffer)
{
//Load Pak VNG
if ((lCompressType == TYPE_UCL || lCompressType == 0x20000000) && DirectRead(pReadBuffer, uOffset, uSize))
{
unsigned int uDestLength;
ucl_nrv2b_decompress_8((BYTE*)pReadBuffer, uSize, (BYTE*)pBuffer, &uDestLength, NULL);
bResult = (uDestLength == uExtractSize);
}
free (pReadBuffer);
}
}
return bResult;
}
Nguồn: LTG Team