idstring "PACK" get BASE_OFF long get ArchiveSize long goto BASE_OFF set NUM_OF_FILES 1106
for i = 1 < NUM_OF_FILES getdstring NAME 0x10 get OFFSET long get SIZE long goto OFFSET log NAME OFFSET SIZE next i
It just stays at offset 0 and extracts a bunch of files so I'm really not sure where I'm going wrong with this. If anyone could take the time to help, I'd really appreciate it.
1) The length of the names is 0x38 bytes. 2) Remove "goto OFFSET"
To retrieve the number of files there are some solutions (ASIZE is meant to be get ASIZE asize): 1) FILES = (ASIZE - BASE_OFF) / (0x38 + 4 + 4) 2) for BASE_OFF = BASE_OFF != ASIZE 3) for savepos TMP if TMP == ASIZE break endif ... 3) endless loop till you get the read error that you can ignore
Thank you, I managed to get my first script done thanks to your help
Seems I overlooked a few things. If you don't mind me asking, did you document the commands that can be done with quickbms as I'd like to keep them handy for reference purposes during writing scripts. Thank you again for your help and quickbms itself