# Twisted Metal BNK get EXT extension if EXT == "bnk" get DUMMY long # 1 get FILES long for i = 0 < FILES get OFFSET long get SIZE long log "" OFFSET SIZE next i else open FDDE "sbv" open FDDE "dat" 1 EXISTS if EXISTS == 0 open FDSE "00000001.dat" 1 # work-around endif idstring "SBv2" get DUMMY long # 2 get DUMMY long # 4 idstring "shmd" get DUMMY long # 0xa get DUMMY short # 1 get FOLDERS short get FILES short get DUMMY short # 0x2e get DUMMY long # 0x34, maybe offset get FOLDERS_OFF long get FILES_OFF long get DUMMY long get DUMMY long get DUMMY long get DUMMY long /* idstring "shmd" idstring "shmd" idstring "shmd" */ goto FOLDERS_OFF for x = 0 < FOLDERS get DUMMY long get FOLDER_OFF[x] long next x goto FILES_OFF for i = 0 < FILES savepos ENTRY_OFF get DUMMY long getdstring DUMMY 8 get DUMMY long get OFFSET long get DUMMY long for x = FOLDERS > 0 math x - 1 if FOLDER_OFF[x] < ENTRY_OFF break endif next math x + 1 string NAME p "%d/" x putarray 0 i NAME putarray 1 i OFFSET next i get OFFSET asize 1 putarray 1 i OFFSET sortarray 1 1 for i = 0 < FILES getarray NAME 0 i getarray OFFSET 1 i math i + 1 getarray SIZE 1 i math SIZE - OFFSET log NAME OFFSET SIZE 1 next endif