Catdog: Quest for the Golden Hydrant .df

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
lemurboy12
Posts: 265
Joined: Fri Oct 17, 2014 2:57 am

Catdog: Quest for the Golden Hydrant .df

Post by lemurboy12 »

http://puu.sh/cht76.df

This is the game's only archive, so I can only assume all the data is in here.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Catdog: Quest for the Golden Hydrant .df

Post by aluigi »

Unfortunately the compression algorithm is unknown:

Code: Select all

idstring "DF"
getdstring ZERO 6
get FILES long
savepos INFO_OFF
xmath INFO_SIZE "FILES * 4"
log MEMORY_FILE2 INFO_OFF INFO_SIZE
xmath BASE_OFF "INFO_OFF + INFO_SIZE"

    get OFFSET long MEMORY_FILE2
    math OFFSET += BASE_OFF
for i = 1 < FILES
    get NEXT_OFFSET long MEMORY_FILE2
    math NEXT_OFFSET += BASE_OFF
    xmath SIZE "NEXT_OFFSET - OFFSET"
    if SIZE != 0
        goto OFFSET
        getdstring TYPE 4
        get DUMMY long
        get HEADER_SIZE long
        get XSIZE long
        math OFFSET += HEADER_SIZE
        math SIZE   -= HEADER_SIZE

        string NAME p= "%s/*" TYPE
        if SIZE == XSIZE
            log NAME OFFSET SIZE
        else
            idstring "COMP"
            get SIZE long
            get SIZE long
            get ZSIZE long
            savepos OFFSET
            #comtype ???
            #clog NAME OFFSET ZSIZE SIZE

            # lame dump
            string NAME p= "unknown_compression/%s/*" TYPE
            log NAME OFFSET ZSIZE
        endif
    endif
    math OFFSET = NEXT_OFFSET
next i