The rules have been updated, read them now: Rules!

[HELP] Xmem decompression error with MC360 chunk data

Read or post about compression. And decompression. Or ask questions how to decompress your files.
Post Reply
Posts: 1
Joined: Fri Mar 19, 2021 9:37 pm

[HELP] Xmem decompression error with MC360 chunk data

Post by theunholyone » Sat Apr 03, 2021 5:22 pm

The data can be decompresses using the official XDK Xmemdecompress API but fails with MSPACK_ERR_DECRUNCH when using quickbms implementation in Linux or Mac, which uses libmspack lzx_decompress with window size 17 and a modified read function from UEViewer.
The file does not use native compression and has a standard 0xFF header.

(libmspack impl: ... ack/lzxd.c)
(UEViewer modified sys_read function ... on.cpp#L90)

The script used is the following:

Code: Select all

endian big
comtype xmemdecompress

get ZSize long
get Size long
math ZSize &= 0x7fffffff
clog result Offset ZSize Size
And the file is: ... k.dat/file

For clarification, all other types of files such as savegames decompress perfectly, but all chunk data that I've tried fails. I'm going to try debug or at least identify the problematic lzx blocks, but I thought posting it here would be a good idea in case someone has any clue of what might be happening. :keke:

(Crossposting from ZenHax:

User avatar
Posts: 273
Joined: Mon May 06, 2019 6:07 pm
Location: On board the USS Callister
Has thanked: 6 times
Been thanked: 123 times

Re: [HELP] Xmem decompression error with MC360 chunk data

Post by DKDave » Sun May 02, 2021 11:47 am

It is standard xmemlzx. If you use offset + 8 as the starting point, it will work. I'm not sure what 'Size' refers to, but the decompressed size is 0x21BF of that chunk.
"Each person is born with their fate written into their own genetic code. It's unchangeable, immutable. But that's not all there is to life." - Dr. Naomi Hunter

Post Reply