Page 1 of 1

Animation files from Marble Drop (1997)

Posted: Sat Sep 17, 2016 10:22 pm
by milek7
I have problem with figuring out animation format in puzzle game Marble Drop by Maxis South.
1.1.tar
Currently I know that:
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
Every resource with type 1 (saved with extension ".1" by script) is animation data, except first image which contain table background compressed with Greenleaf compression algorithm.