Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- set DEBUGPRINT byte 0
- IDString FORM
- endian big
- get lFORM long
- IDString PAC1
- IDString HEAD
- get lHEAD long
- if DEBUGPRINT == 1
- print "lHEAD %lHEAD%"
- endif
- savepos OFFSET
- math OFFSET += lHEAD //skip HEAD section
- goto OFFSET
- IDString DATA
- get lDATA long
- if DEBUGPRINT == 1
- print "lDATA %lDATA%"
- endif
- savepos OFFSET
- math OFFSET += lDATA //skip DATA section
- goto OFFSET
- IDString FILE
- get lFILE long
- if DEBUGPRINT == 1
- print "lFILE %lFILE%"
- endif
- get isFile byte //toplevel folder, always 0
- get lFILENAME byte //toplevel folder, always 0
- set PATH string ""
- endian little
- CallFunction PARSEFOLDER
- StartFunction PARSEFOLDER
- get FOLDERFILENO long //number of files/folders which are in the current folder
- set FILENO long 0
- if lFILENAME > 0
- string PATH += FILENAME
- string PATH += "/"
- endif
- for FILENO = 0 < FOLDERFILENO
- get isFile byte
- if DEBUGPRINT == 1
- print "isFile %isFile%"
- endif
- get lFILENAME byte
- getDString FILENAME lFILENAME
- if DEBUGPRINT == 1
- print "lFILENAME %lFILENAME%"
- print "FILENAME %FILENAME%"
- endif
- if isFile == 1
- CallFunction PARSEFILE
- else
- CallFunction PARSEFOLDER
- endif
- next FILENO
- EndFunction
- StartFunction PARSEFILE
- string PATH += FILENAME
- get FILEOFFSET long
- get ZSIZE long
- get SIZE long
- if DEBUGPRINT == 1
- print "SIZE %SIZE%"
- print "ZSIZE %ZSIZE%"
- endif
- get DUMMY longlong
- if SIZE != ZSIZE
- CLOG PATH FILEOFFSET ZSIZE SIZE
- else
- LOG PATH FILEOFFSET SIZE
- endif
- EndFunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement