By Experience, I mean the Japanese game company, experience.co.jp
Their dungeon crawling games are the ones that get the most media exposure.
Here I have two image files (I believe) from their recent steam release of Saviors of Sapphire Wings.
ExgSamples.zip [2.08 MiB]
Downloaded 17 times
Through comparison, the following can be observed for an *.exg file.
The attachment town0001.exg will be used for demonstration.
4B ID: 45 58 47 72, "EXGr"
4B Count: 01 00 00 00, number of items, little-endian.*
4B Size: 2D A4 0E 00, size of item, little-endian.
28B Unknown: 10 13 00 00... Curiously, here, bytes 04~07 is always identical to bytes 0C~0F.
(the repetition of 80 07 40 04)
4B Zstd ID: 28 B5 2F FD, Zstd magic number?
NB of Data: A0 80 E0 1F...,
The bytes here plus 4 (the Zstd ID) should equal to the size mentioned earlier, that is,
if you jump 0x000EA42D from the start of Zstd ID, you should land at the end of the item.
*:The sample only has 1 item, what happens when there are more than 1?
For that, please refer to npc0100.exg
The count segment in that sample says 2, and fair enough, you can locate 2 sets
of Zstd ID bytes within that sample.
A single item consist of 4B Size, 28B Unknown, followed by 4B Zstd ID, and then data,
so an *.exg file can be generalized as:
4+4 Bytes, followed by
Array of (4+28+4+N) Bytes.
I have tried saving the Zstd+Data section to a binary, they open it with Peazip
(which supports Zstd), but it did not work.
(Or maybe that's not how a Zstd file is structured? I have no idea how Zstd works.)
Actually, the presence of the magic number only implies it could be Zstd, it could very well be
that it's simply a coincidence and Zstd has nothing to do with it.
Hope someone who is familiar with Zstd can take a look.