1 byte - 00
2 bytes - width
2 bytes - height
9 bytes - possibly rest of header?
I suspect that indexed animation is compressed with primitive compression algorithm (75% entropy, I can find single pixels that appear in game, but not series of them).
Game can be downloaded from https://archive.org/details/marble-drop or demo https://archive.org/details/MDDEMO
quickbms script for unpacking .DAT archives:
Code: Select all
idstring "PARTOUT(4.0)RESOURCE\x00"
getdstring name 50
getdstring desc 100
print "App name: %name%\nFile description: %desc%"
get size long
get groups short
get unknown1 short
get unknown2 long
for g = 0 < groups
get entries byte
for e = 0 < entries
get type byte
if type == 0
set len 2
else
get len long
endif
set fn g
string fn + "/"
string fn + e
string fn + "."
string fn + type
savepos offset
log fn offset len
goto len 0 SEEK_CUR
next e
next g
