PDA

View Full Version : [JX] [Source] Load PAK VNG



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

FanLoveJX
04-09-16, 08:51 PM
Còn thiếu một số loại lCompressType nữa ^.^

.......... .. . . . ...

BladeKnight109
04-09-16, 09:21 PM
Còn thiếu một số loại lCompressType nữa ^.^

.......... .. . . . ...

Do cái này mình làm 2 3 năm trước rồi. Có thể sau này VNG nó thay đổi. Cấu trúc nó vẫn vậy, chỉ là nó thay đổi con số đi thôi.

FanLoveJX
04-09-16, 09:26 PM
Do cái này mình làm 2 3 năm trước rồi. Có thể sau này VNG nó thay đổi. Cấu trúc nó vẫn vậy, chỉ là nó thay đổi con số đi thôi.

Ừ hiện tại có 5 type, về cách nén thì quanh đi quẩn lại với ucl thôi ^.^, có method = 16 thằng này nên dùng ucl_decompress_safe, không dễ bị crash, do thư viện ucl :v