Code: Select all
open FDDE "~h" 0
open FDDE "~p" 1
endian big
idstring dfpf
get DUMMY long
get DUMMY long
get DUMMY long # align?
get DUMMY long
get NAME_OFF long
get DUMMY long
get DUMMY long
get FILES long
math INFO_SIZE = FILES
math INFO_SIZE <<= 4
math INFO_OFF = NAME_OFF
math INFO_OFF -= INFO_SIZE
goto INFO_OFF
for i = 0 < FILES
get SIZE threebyte
get NAMEX threebyte
get DUMMY short
get OFFSET long
get ZSIZE threebyte
get COMTYPE byte
savepos INFO_OFF
math NAMEX >>= 3
math NAMEX += NAME_OFF
goto NAMEX
get NAME string
goto INFO_OFF
if COMTYPE & 2
comtype XMemDecompress
else
comtype zlib
endif
math ZSIZE >> 3
math OFFSET >>= 2
if SIZE == ZSIZE
log NAME OFFSET SIZE 1
else
math SIZE *= 10
clog NAME OFFSET ZSIZE SIZE 1
endif
math OFFSET += ZSIZE
next i