==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-== MultiEx Commander Binary MultiEx Scripts (BMS) 15-2-2005 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-- Number of formats: 180 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-- +-----------------------------------------------+ Game : Abomination The Nemesis Project Archive: CLT +-----------------------------------------------+ IDString 0 AWAD ; Get FILECNTL Long 0 ; SavePos FILESTART 0 ; Set DUMMYL Long 65 ; Set TAILOFF Long DUMMYL ; Math TAILOFF *= 4 ; Do ; Math FILESTART += 1 ; GoTo FILESTART 0 ; Get FILENAME String 0 ; Math FILESTART += TAILOFF ; Math FILESTART -= 1 ; GoTo FILESTART 0 ; Get FILESIZE Long 0 ; Get FILEOFF Long 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Abomination The Nemesis Project Archive: AWF +-----------------------------------------------+ Get FILECNTL Long 0 ; SavePos FILESTART 0 ; Set DUMMYL Long 65 ; Set TAILOFF Long DUMMYL ; Math TAILOFF *= 4 ; Do ; GoTo FILESTART 0 ; Get FILEOFF Long 0 ; SavePos FILESTART 0 ; Get FILENAME String 0 ; Math FILESTART += TAILOFF ; GoTo FILEOFF 0 ; Get DUMMYL Long 0 ; Get FILESIZE Long 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT = FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Actua Soccer 1 audio Archive: MAD +-----------------------------------------------+ ImpType Standard ; SavePos FILESTART 0 ; GetDString FILENAME 16 0 ; Get DUMMYL Long 0 ; GoTo FILESTART 0 ; Math DUMMYL /= 24 ; For T = 1 To DUMMYL ; GetDString FILENAME 16 0 ; SavePos FOO 0 ; Get FILEOFF Long 0 ; SavePos FSO 0 ; Get FILESIZE Long 0 ; Log FILENAME FILEOFF FILESIZE FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Actua Soccer 2 audio Archive: MAD +-----------------------------------------------+ ImpType Standard ; SavePos FILESTART 0 ; GetDString FILENAME 16 0 ; Get DUMMYL Long 0 ; GoTo FILESTART 0 ; Math DUMMYL /= 24 ; For T = 1 To DUMMYL ; GetDString FILENAME 16 0 ; SavePos FOO 0 ; Get FILEOFF Long 0 ; SavePos FSO 0 ; Get FILESIZE Long 0 ; Log FILENAME FILEOFF FILESIZE FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Actua Soccer 3 audio Archive: MAD +-----------------------------------------------+ ImpType Standard ; SavePos FILESTART 0 ; GetDString FILENAME 16 0 ; Get DUMMYL Long 0 ; GoTo FILESTART 0 ; Math DUMMYL /= 24 ; For T = 1 To DUMMYL ; GetDString FILENAME 16 0 ; SavePos FOO 0 ; Get FILEOFF Long 0 ; SavePos FSO 0 ; Get FILESIZE Long 0 ; Log FILENAME FILEOFF FILESIZE FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Age of Empires 2 Archive: DRS +-----------------------------------------------+ IDString 0 Copyright ; Set FILESTART Long 68 ; GoTo FILESTART 0 ; Get FILESTART Long 0 ; Get FILECNTL Long 0 ; Do ; GoTo FILESTART 0 ; Get DUMMYL Long 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; Log "" FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Age Of Empires MEX3 Archive: DRS +-----------------------------------------------+ IDString 0 Copyright ; Set ST Long 68 ; GoTo ST 0 ; Get ST Long 0 ; Get FC Long 0 ; For TE = 1 To FC ; GoTo ST 0 ; Get D Long 0 ; Get FO Long 0 ; Get FS Long 0 ; SavePos ST 0 ; Log "" FO FS 0 0 ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Star Wars GBG Archive: DRS +-----------------------------------------------+ IDString 0 Copyright ; ImpType Standard ; GoTo 80 0 ; Get FS Long 0 ; GoTo 88 0 ; Get FIS Long 0 ; Set FN Long FS ; Math FN -= FIS ; Math FN /= 12 ; GoTo FIS 0 ; For TE = 1 To FN ; Get D Long 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Log "" FO FS FOO FSO ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Age of Mythology Archive: BAR +-----------------------------------------------+ ImpType StandardTail ; Set S Long 12 ; GoTo S 0 ; Get FC Long 0 ; Get FTSize Long 0 ; SavePos TailOffOff 0 ; Get TO Long 0 ; Set FJ Long 4 ; Math FJ *= FC ; GoTo TO 0 ; For TE = 1 To FC ; Get FE Long 0 ; Math FE += TO ; Math FE += FJ ; SavePos CB 0 ; GoTo FE 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; SavePos TP 0 ; Math TP += 12 ; GoTo TP 0 ; Get FN String 0 ; Log FN FO FS FOO FSO ; GoTo CB 0 ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Anachronox Archive: DAT +-----------------------------------------------+ IDString 0 ADAT ; ImpType Standard ; SavePos TailOffOff 0 ; Get TO Long 0 ; Get TS Long 0 ; Math TS /= 144 ; GoTo TO 0 ; For t = 1 To TS ; SavePos TO 0 ; Get FN String 0 ; Math TO += 128 ; GoTo TO 0 ; SavePos FOO 0 ; Get FO Long 0 ; Get FS Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Get D Long 0 ; Log FN FO FS FOO FSO ; Next t ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Arcanum Archive: DAT +-----------------------------------------------+ ImpType Standard ; ComType ZLib1 ; Get AS ASize 0 ; Math AS -= 4 ; GoTo AS 0 ; Get TS Long 0 ; Math AS -= TS ; GoTo AS 0 ; SavePos TailOffOff 0 ; Get FSP Long 0 ; GoTo FSP 0 ; Get FA Long 0 ; For TE = 1 To FA ; Get SS Long 0 ; Get FN String 0 ; SavePos FSP 0 ; Math FSP += 8 ; GoTo FSP 0 ; SavePos OSO 0 ; Get OS Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; SavePos FOO 0 ; Get FO Long 0 ; CLog FN FO FS FOO FSO OS OSO ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Empire 2 Archive: DAT +-----------------------------------------------+ Set FILESTART Long 32 ; Do ; GoTo FILESTART 0 ; GetDString FILENAME 6 0 ; Get FILEOFF Long 0 ; SavePos FILESTART 0 ; GetDString FILENAME 6 0 ; Get FILESIZE Long 0 ; ReverseLong FILEOFF ; ReverseLong FILESIZE ; If FILESIZE = 0 ; CleanExit ; EndIf ; Math FILESIZE -= FILEOFF ; Log "" FILEOFF FILESIZE 0 0 ; While NotEOF <> 0 ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Gunlock Archive: DAT +-----------------------------------------------+ IDString 0 FILECHNK ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; Get FILEJMP Long 0 ; Set FILEJMP Long FILEJMP ; Math FILEJMP *= 48 ; SavePos FILESTART 0 ; Get FILENAME String 0 ; SavePos DUMMYL 0 ; Math DUMMYL += 1 ; Math DUMMYL += 10 ; GoTo DUMMYL 0 ; Get FILEOFF Long 0 ; Math FILEOFF += FILEJMP ; Do ; GoTo FILESTART 0 ; Get FILENAME String 0 ; SavePos FILESTART 0 ; Math FILESTART += 1 ; Math FILESTART += 16 ; Set DUMMYL Long FILEOFF ; Math DUMMYL += 4 ; GoTo DUMMYL 0 ; Get FILESIZE Long 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Kingdom O Magic Archive: DAT +-----------------------------------------------+ Get FILECNTL Int 0 ; Do ; GetDString FILENAME 14 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; GoTo FILEOFF 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; GoTo FILESTART 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Outlive Archive: DAT +-----------------------------------------------+ Get FILECNTL Long 0 ; SavePos FILEJMP 0 ; SavePos FILESTART 0 ; GoTo EOF 0 ; SavePos TAILOFF 0 ; Set DUMMYL Long FILECNTL ; Math DUMMYL *= 36 ; Math DUMMYL += 4 ; Math FILECNTL -= 1 ; Do ; GoTo FILESTART 0 ; GetDString FILENAME 32 0 ; Get FILEOFF Long 0 ; SavePos FILESTART 0 ; Set FILEJMP Long FILESTART ; Math FILEJMP += 32 ; GoTo FILEJMP 0 ; Get FILESIZE Long 0 ; Math FILESIZE -= FILEOFF ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; GoTo FILESTART 0 ; GetDString FILENAME 32 0 ; Get FILEOFF Long 0 ; Set FILESIZE Long TAILOFF ; Math FILESIZE -= FILEOFF ; Log FILENAME FILEOFF FILESIZE 0 0 ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Rollercoaster Tycoon Css Archive: DAT +-----------------------------------------------+ Get S ASize 0 ; For T = 1 To S ; FindLoc B String RIFF 0 ; GoTo B 0 ; Get D Long 0 ; Get FSI Long 0 ; Math FSI += 8 ; Set T Long B ; Math T += FSI ; Log "" B FSI 0 0 ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Syndicate Wars (SNDCREDS Archive: DAT +-----------------------------------------------+ ImpType StandardTail ; GoTo EOF 0 ; SavePos TE 0 ; Math TE -= 3 ; GoTo TE 0 ; Get TEND Long 0 ; Math TE -= 52 ; GoTo TE 0 ; Get TS Long 0 ; Math TEND -= TS ; Math TEND += 32 ; Set FN Long TS ; Math FN /= 32 ; Math FN -= 1 ; GoTo TEND 0 ; SavePos FST 0 ; For T = 1 To FN ; Get FNAME String 0 ; Math FST += 18 ; GoTo FST 0 ; SavePos FOO 0 ; Get FOFF Long 0 ; Get D Long 0 ; SavePos FSO 0 ; Get FSIZE Long 0 ; SavePos FST 0 ; Math FST += 2 ; GoTo FST 0 ; Log FNAME FOFF FSIZE FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Syndicate Wars (SOUND Archive: DAT +-----------------------------------------------+ ImpType StandardTail ; GoTo EOF 0 ; SavePos TE 0 ; Math TE -= 3 ; GoTo TE 0 ; Get TEND Long 0 ; Math TE -= 52 ; GoTo TE 0 ; Get TS Long 0 ; Math TEND -= TS ; Math TEND += 32 ; Set FN Long TS ; Math FN /= 32 ; Math FN -= 1 ; GoTo TEND 0 ; SavePos FST 0 ; For T = 1 To FN ; Get FNAME String 0 ; Math FST += 18 ; GoTo FST 0 ; SavePos FOO 0 ; Get FOFF Long 0 ; Get D Long 0 ; SavePos FSO 0 ; Get FSIZE Long 0 ; SavePos FST 0 ; Math FST += 2 ; GoTo FST 0 ; Log FNAME FOFF FSIZE FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Theme Hospital Archive: DAT +-----------------------------------------------+ Get S ASize 0 ; For T = 1 To S ; FindLoc B String RIFF 0 ; GoTo B 0 ; Get D Long 0 ; Get FSI Long 0 ; Math FSI += 8 ; Set T Long B ; Math T += FSI ; Log "" B FSI 0 0 ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : The Lost Vikings Archive: DAT +-----------------------------------------------+ SavePos ST 0 ; Get FNum Long 0 ; Math FNum /= 4 ; Math FNum -= 1 ; For T = 1 To FNum ; GoTo ST 0 ; Get FO Long 0 ; SavePos ST 0 ; Get FS Long 0 ; Math FS -= FO ; Log "" FO FS 0 0 ; Next T ; GoTo ST 0 ; Get FO Long 0 ; GoTo EOF 0 ; SavePos FS 0 ; Math FS -= FO ; Math FS += 1 ; Log "" FO FS 0 0 ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Imperium Galactica II Archive: DAT +-----------------------------------------------+ ComType ZLib1 ; GoTo EOF 0 ; SavePos END 0 ; Math END -= 3 ; GoTo END 0 ; Get TS Long 0 ; Set ST Long END ; Math ST -= TS ; Math ST += 4 ; Math END -= 4 ; GoTo END 0 ; Get FC Long 0 ; GoTo ST 0 ; For T = 1 To FC ; Get FN String 0 ; Get OFF Long 0 ; Get COM Long 0 ; Get PSize Long 0 ; Get OSize Long 0 ; Get DL Long 0 ; CLog FN OFF PSize 0 0 OSize 0 ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Dune Archive: DAT +-----------------------------------------------+ Get FileNum Int 0 ; For T = 1 To FileNum ; GetDString FN 16 0 ; SavePos SIZEOFF 0 ; Get SIZE Long 0 ; SavePos OFFOFF 0 ; Get OFF Long 0 ; Get DUM Byte 0 ; Log FN OFF SIZE OFFOFF SIZEOFF ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Apache Longbow Archive: BLK +-----------------------------------------------+ Set FILESTART Long 9 ; Do ; GoTo FILESTART 0 ; Get DUMMYL Long 0 ; Get FILESIZE Long 0 ; SavePos FILEOFF 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; SavePos FILESTART 0 ; While NotEOF <> 0 ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Arx Fatalis Archive: PAK +-----------------------------------------------+ ImpType StandardTail ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; Get TS Long 0 ; SavePos T 0 ; Math T += 5 ; GoTo T 0 ; Get Path String 0 ; Get FN Long 0 ; For D = 1 To FN ; Set Name String Path ; Get Name String 0 ; SavePos FOO 0 ; Get FO Long 0 ; Get ZipState Long 0 ; Get OrSize Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Log Name FO FS FOO FSO ; Next D ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Counterstrike Archive: PAK +-----------------------------------------------+ IDString 0 PACK ; ImpType Standard ; SavePos TailOffOff 0 ; Get T Long 0 ; Get TS Long 0 ; SavePos F 0 ; GoTo T 0 ; Math TS /= 64 ; For i = 1 To TS ; SavePos T 0 ; Get FN String 0 ; Math T += 56 ; GoTo T 0 ; SavePos Foo 0 ; Get Fo Long 0 ; SavePos Fso 0 ; Get Fs Long 0 ; Log FN Fo Fs Foo Fso ; Next i ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Daikatana Archive: PAK +-----------------------------------------------+ IDString 0 PACK ; Get TAILOFF Long 0 ; Get TAILSIZEB Long 0 ; SavePos FILESTART 0 ; GoTo TAILOFF 0 ; SavePos DUMMYL 0 ; Set BytesRead Long 0 ; Do ; GoTo DUMMYL 0 ; GetDString FILENAME 56 0 ; Set WHATEVER1 Long 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; SavePos DUMMYL 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; While BytesRead <> TAILSIZEB ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Dune 2 Archive: PAK +-----------------------------------------------+ ImpType SFileOff ; SavePos FF 0 ; Get TAILEND Long 0 ; GoTo FF 0 ; Do ; SavePos FSO 0 ; Get FILEOFF Long 0 ; Get FILENAME String 0 ; SavePos TAILOFF 0 ; Get FILESIZE Long 0 ; Math FILESIZE -= FILEOFF ; Log FILENAME FILEOFF FILESIZE FSO 0 ; SavePos THERE 0 ; GoTo TAILOFF 0 ; While THERE < TAILEND ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Far Cry Archive: PAK +-----------------------------------------------+ ImpType SFileSize ; GoTo EOF 0 ; SavePos EF 0 ; GoTo SOF 0 ; Do ; Get Sign Int 0 ; If Sign = 19280 ; Get D Long 0 ; Get D Long 0 ; Get D Long 0 ; Get D Long 0 ; SavePos CSO 0 ; Get CS Long 0 ; SavePos USO 0 ; Get US Long 0 ; Get FS Long 0 ; GetDString FN FS 0 ; SavePos FO 0 ; Log FN FO CS 0 CSO ; Math FO += CS ; GoTo FO 0 ; Else ; CleanExit ; EndIf ; While FO < EF ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Gunman Chronicles Archive: PAK +-----------------------------------------------+ IDString 0 PACK ; ImpType Standard ; SavePos TailOffOff 0 ; Get T Long 0 ; Get TS Long 0 ; SavePos F 0 ; GoTo T 0 ; Math TS /= 64 ; For i = 1 To TS ; SavePos T 0 ; Get FN String 0 ; Math T += 56 ; GoTo T 0 ; SavePos Foo 0 ; Get Fo Long 0 ; SavePos Fso 0 ; Get Fs Long 0 ; Log FN Fo Fs Foo Fso ; Next i ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Half-Life Archive: PAK +-----------------------------------------------+ IDString 0 PACK ; ImpType Standard ; SavePos TailOffOff 0 ; Get T Long 0 ; Get TS Long 0 ; SavePos F 0 ; GoTo T 0 ; Math TS /= 64 ; For i = 1 To TS ; SavePos T 0 ; Get FN String 0 ; Math T += 56 ; GoTo T 0 ; SavePos Foo 0 ; Get Fo Long 0 ; SavePos Fso 0 ; Get Fs Long 0 ; Log FN Fo Fs Foo Fso ; Next i ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Half-Life Blue Shift Archive: PAK +-----------------------------------------------+ IDString 0 PACK ; ImpType Standard ; SavePos TailOffOff 0 ; Get T Long 0 ; Get TS Long 0 ; SavePos F 0 ; GoTo T 0 ; Math TS /= 64 ; For i = 1 To TS ; SavePos T 0 ; Get FN String 0 ; Math T += 56 ; GoTo T 0 ; SavePos Foo 0 ; Get Fo Long 0 ; SavePos Fso 0 ; Get Fs Long 0 ; Log FN Fo Fs Foo Fso ; Next i ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Half-Life OppForce Archive: PAK +-----------------------------------------------+ IDString 0 PACK ; ImpType Standard ; SavePos TailOffOff 0 ; Get T Long 0 ; Get TS Long 0 ; SavePos F 0 ; GoTo T 0 ; Math TS /= 64 ; For i = 1 To TS ; SavePos T 0 ; Get FN String 0 ; Math T += 56 ; GoTo T 0 ; SavePos Foo 0 ; Get Fo Long 0 ; SavePos Fso 0 ; Get Fs Long 0 ; Log FN Fo Fs Foo Fso ; Next i ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Heretic 2 Archive: PAK +-----------------------------------------------+ IDString 0 PACK ; ImpType Standard ; SavePos TailOffOff 0 ; Get T Long 0 ; Get TS Long 0 ; SavePos F 0 ; GoTo T 0 ; Math TS /= 64 ; For i = 1 To TS ; SavePos T 0 ; Get FN String 0 ; Math T += 56 ; GoTo T 0 ; SavePos Foo 0 ; Get Fo Long 0 ; SavePos Fso 0 ; Get Fs Long 0 ; Log FN Fo Fs Foo Fso ; Next i ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Hexen 2 Archive: PAK +-----------------------------------------------+ IDString 0 PACK ; ImpType Standard ; SavePos TailOffOff 0 ; Get T Long 0 ; Get TS Long 0 ; SavePos F 0 ; GoTo T 0 ; Math TS /= 64 ; For i = 1 To TS ; SavePos T 0 ; Get FN String 0 ; Math T += 56 ; GoTo T 0 ; SavePos Foo 0 ; Get Fo Long 0 ; SavePos Fso 0 ; Get Fs Long 0 ; Log FN Fo Fs Foo Fso ; Next i ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Kingpin Archive: PAK +-----------------------------------------------+ IDString 0 PACK ; ImpType Standard ; SavePos TailOffOff 0 ; Get T Long 0 ; Get TS Long 0 ; SavePos F 0 ; GoTo T 0 ; Math TS /= 64 ; For i = 1 To TS ; SavePos T 0 ; Get FN String 0 ; Math T += 56 ; GoTo T 0 ; SavePos Foo 0 ; Get Fo Long 0 ; SavePos Fso 0 ; Get Fs Long 0 ; Log FN Fo Fs Foo Fso ; Next i ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Quake 1 Archive: PAK +-----------------------------------------------+ IDString 0 PACK ; ImpType Standard ; SavePos TailOffOff 0 ; Get T Long 0 ; Get TS Long 0 ; SavePos F 0 ; GoTo T 0 ; Math TS /= 64 ; For i = 1 To TS ; SavePos T 0 ; Get FN String 0 ; Math T += 56 ; GoTo T 0 ; SavePos Foo 0 ; Get Fo Long 0 ; SavePos Fso 0 ; Get Fs Long 0 ; Log FN Fo Fs Foo Fso ; Next i ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Quake 2 Archive: PAK +-----------------------------------------------+ IDString 0 PACK ; ImpType Standard ; SavePos TailOffOff 0 ; Get T Long 0 ; Get TS Long 0 ; SavePos F 0 ; GoTo T 0 ; Math TS /= 64 ; For i = 1 To TS ; SavePos T 0 ; Get FN String 0 ; Math T += 56 ; GoTo T 0 ; SavePos Foo 0 ; Get Fo Long 0 ; SavePos Fso 0 ; Get Fs Long 0 ; Log FN Fo Fs Foo Fso ; Next i ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Sin Archive: PAK +-----------------------------------------------+ IDString 0 PACK ; ImpType Standard ; SavePos TailOffOff 0 ; Get T Long 0 ; Get TS Long 0 ; SavePos F 0 ; GoTo T 0 ; Math TS /= 64 ; For i = 1 To TS ; SavePos T 0 ; Get FN String 0 ; Math T += 56 ; GoTo T 0 ; SavePos Foo 0 ; Get Fo Long 0 ; SavePos Fso 0 ; Get Fs Long 0 ; Log FN Fo Fs Foo Fso ; Next i ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Soldier of Fortune Archive: PAK +-----------------------------------------------+ IDString 0 PACK ; ImpType Standard ; SavePos TailOffOff 0 ; Get T Long 0 ; Get TS Long 0 ; SavePos F 0 ; GoTo T 0 ; Math TS /= 64 ; For i = 1 To TS ; SavePos T 0 ; Get FN String 0 ; Math T += 56 ; GoTo T 0 ; SavePos Foo 0 ; Get Fo Long 0 ; SavePos Fso 0 ; Get Fs Long 0 ; Log FN Fo Fs Foo Fso ; Next i ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Baldur's Gate 1 Archive: BIF +-----------------------------------------------+ IDString 0 BIFFV1 ; Get DUMMYL Int 0 ; SavePos FILESTART 0 ; Get FILECNTL Long 0 ; Math FILESTART += 16 ; Do ; GoTo FILESTART 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; Math FILESTART += 16 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Baldur's Gate 2 Archive: BIF +-----------------------------------------------+ ImpType Standard ; IDString 0 BIFFV1 ; Get I Int 0 ; SavePos FST 0 ; Get FC Long 0 ; Math FST += 16 ; For T = 1 To FC ; GoTo FST 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; SavePos FST 0 ; Math FST += 8 ; Log "" FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Planescape Torment Archive: BIF +-----------------------------------------------+ IDString 0 BIFFV1 ; Get DUMMYL Int 0 ; SavePos FILESTART 0 ; Get FILECNTL Long 0 ; Math FILESTART += 16 ; Do ; GoTo FILESTART 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; Math FILESTART += 16 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Battle for Naboo Archive: BIN +-----------------------------------------------+ Get FILESTART Long 0 ; Get FILEJMP Long 0 ; Set FILECNTL Long FILEJMP ; Math FILECNTL /= 32 ; Do ; GoTo FILESTART 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; GetDString FILENAME 16 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Destruction Derby Archive: BIN +-----------------------------------------------+ Get S ASize 0 ; For T = 1 To S ; FindLoc B String RIFF 0 ; GoTo B 0 ; Get D Long 0 ; Get FSI Long 0 ; Math FSI += 8 ; Set T Long B ; Math T += FSI ; Log "" B FSI 0 0 ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Hitman Archive: BIN +-----------------------------------------------+ Get S ASize 0 ; For T = 1 To S ; FindLoc B String RIFF 0 ; GoTo B 0 ; Get D Long 0 ; Get FSI Long 0 ; Math FSI += 8 ; Set T Long B ; Math T += FSI ; Log "" B FSI 0 0 ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Battlefield 1942 Demo Archive: RFA +-----------------------------------------------+ ImpType Standard ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; Get FSN Long 0 ; For TE = 1 To FSN ; Get FNS Long 0 ; GetDString FN FNS 0 ; SavePos CSO 0 ; Get CS Long 0 ; SavePos FSO 0 ; Get US Long 0 ; SavePos FOO 0 ; Get FO Long 0 ; Get IDU Long 0 ; Get DUMMY Long 0 ; Get DUMMY Long 0 ; Log FN FO CS FOO FSO ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Betrayal At Krondor Archive: 001 +-----------------------------------------------+ ImpType SFileSize ; Set DUMMYL Long 0 ; Set FILECNTL Long 8 ; Set FILECNTL Long FILECNTL ; Math FILECNTL *= 220 ; Math FILECNTL += 5 ; Do ; SavePos FILESTART 0 ; Get FILENAME String 0 ; Math FILESTART += 13 ; GoTo FILESTART 0 ; SavePos FSO 0 ; Get FILESIZE Long 0 ; SavePos FILEOFF 0 ; SavePos FILESTART 0 ; Math FILESTART += FILESIZE ; GoTo FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 FSO ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Twilight CD Archive: 001 +-----------------------------------------------+ IDString 0 TLCF ; SavePos FILESTART 0 ; Math FILESTART += 4 ; Do ; GoTo FILESTART 0 ; GetDString FILENAME 32 0 ; Get FILESIZE Long 0 ; Get DUMMYL Long 0 ; SavePos FILEOFF 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; SavePos FILESTART 0 ; While NotEOF <> 0 ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Black&White Archive: SAD +-----------------------------------------------+ IDString 0 LiOnHeAd ; SavePos FILESTART 0 ; Math FILESTART += 32 ; GoTo FILESTART 0 ; Get FILESTART Long 0 ; SavePos DUMMYL 0 ; Math FILESTART += DUMMYL ; Math FILESTART += 32 ; GoTo FILESTART 0 ; Get FILESTART Long 0 ; SavePos TAILOFF 0 ; Math FILESTART += TAILOFF ; Math FILESTART += 32 ; GoTo FILESTART 0 ; Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; Set DUMMYL Long DUMMYL ; Math DUMMYL /= FILECNTL ; SavePos FILESTART 0 ; Do ; GoTo FILESTART 0 ; SavePos FILEJMP 0 ; Math FILESTART += 2 ; GoTo FILESTART 0 ; GetDString FILENAME 254 0 ; SavePos FILESTART 0 ; Math FILESTART += 12 ; GoTo FILESTART 0 ; Get FILESIZE Long 0 ; Set FILESTART Long FILEJMP ; Get FILEJMP Long 0 ; Set FILEOFF Long TAILOFF ; Math FILEOFF += FILEJMP ; Math FILESTART += DUMMYL ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : SadCom MultiEx (DOS) Archive: SAD +-----------------------------------------------+ ImpType Standard ; IDString 0 SadComLtdat ; SavePos FS 0 ; Math FS += 2 ; GoTo FS 0 ; Get FC Long 0 ; SavePos FS 0 ; For T = 1 To FC ; Math FS += 2 ; GoTo FS 0 ; GetDString FN 254 0 ; SavePos FSO 0 ; Get FSI Long 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FS 0 ; Log FN FO FSI FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Blair Witch Project series Archive: POD +-----------------------------------------------+ IDString 0 POD2 ; Set FILESTART Long 88 ; GoTo FILESTART 0 ; Get FILECNTL Long 0 ; Set DUMMYL Long FILECNTL ; Math DUMMYL *= 20 ; Set FILESTART Long 100 ; Math DUMMYL += 100 ; Do ; GoTo FILESTART 0 ; Get FILESIZE Long 0 ; Get FILEOFF Long 0 ; Math FILESTART += 20 ; GoTo DUMMYL 0 ; Get FILENAME String 0 ; SavePos DUMMYL 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : BloodRayne Archive: POD +-----------------------------------------------+ ImpType StandardTail ; IDString 0 POD3 ; Set D Long 88 ; GoTo D 0 ; Get FNU Long 0 ; Set D Long 264 ; GoTo D 0 ; SavePos TailOffOff 0 ; Get TP Long 0 ; Set DE Long FNU ; Math DE *= 20 ; Math DE += TP ; For T = 1 To FNU ; GoTo TP 0 ; Get CO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos TP 0 ; Math TP += 8 ; Set DZ Long DE ; Math DZ += CO ; GoTo DZ 0 ; Get FN String 0 ; Log FN FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Blood 1 Archive: RFF +-----------------------------------------------+ ImpType StandardTail ; IDString 0 RFF ; Set FT Long 8 ; GoTo FT 0 ; SavePos TailOffOff 0 ; Get FT Long 0 ; Get FC Long 0 ; For T = 1 To FC ; Math FT += 16 ; GoTo FT 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; SavePos FT 0 ; Math FT += 9 ; GoTo FT 0 ; GetDString FN 11 0 ; Get D Long 0 ; SavePos FT 0 ; Log FN FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Blood 2 Archive: REZ +-----------------------------------------------+ Get S ASize 0 ; For T = 1 To S ; FindLoc B String RIFF 0 ; GoTo B 0 ; Get D Long 0 ; Get FSI Long 0 ; Math FSI += 8 ; Set T Long B ; Math T += FSI ; Log "" B FSI 0 0 ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : No One Lives Forever Archive: REZ +-----------------------------------------------+ Get S ASize 0 ; For T = 1 To S ; FindLoc B String RIFF 0 ; GoTo B 0 ; Get D Long 0 ; Get FSI Long 0 ; Math FSI += 8 ; Set T Long B ; Math T += FSI ; Log "" B FSI 0 0 ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : C&C Generals Archive: BIG +-----------------------------------------------+ ImpType Standard ; IDString 0 BIGF ; Get D Long 0 ; Get FC Long 0 ; ReverseLong FC ; Get D Long 0 ; SavePos FS 0 ; For T = 1 To FC ; GoTo FS 0 ; SavePos FOO 0 ; Get FO Long 0 ; ReverseLong FO ; SavePos FSO 0 ; Get FSI Long 0 ; ReverseLong FSI ; Get FN String 0 ; SavePos FS 0 ; Log FN FO FSI FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : FIFA 1999 Archive: BIG +-----------------------------------------------+ ImpType Standard ; IDString 0 BIGF ; Get D Long 0 ; Get FC Long 0 ; ReverseLong FC ; Get D Long 0 ; SavePos FS 0 ; For T = 1 To FC ; GoTo FS 0 ; SavePos FOO 0 ; Get FO Long 0 ; ReverseLong FO ; SavePos FSO 0 ; Get FSI Long 0 ; ReverseLong FSI ; Get FN String 0 ; SavePos FS 0 ; Log FN FO FSI FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : FIFA 2000 Archive: BIG +-----------------------------------------------+ ImpType Standard ; IDString 0 BIGF ; Get D Long 0 ; Get FC Long 0 ; ReverseLong FC ; Get D Long 0 ; SavePos FS 0 ; For T = 1 To FC ; GoTo FS 0 ; SavePos FOO 0 ; Get FO Long 0 ; ReverseLong FO ; SavePos FSO 0 ; Get FSI Long 0 ; ReverseLong FSI ; Get FN String 0 ; SavePos FS 0 ; Log FN FO FSI FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : FIFA 2001 Archive: BIG +-----------------------------------------------+ ImpType Standard ; IDString 0 BIGF ; Get D Long 0 ; Get FC Long 0 ; ReverseLong FC ; Get D Long 0 ; SavePos FS 0 ; For T = 1 To FC ; GoTo FS 0 ; SavePos FOO 0 ; Get FO Long 0 ; ReverseLong FO ; SavePos FSO 0 ; Get FSI Long 0 ; ReverseLong FSI ; Get FN String 0 ; SavePos FS 0 ; Log FN FO FSI FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : FIFA 2002 Archive: BIG +-----------------------------------------------+ ImpType Standard ; IDString 0 BIGF ; Get D Long 0 ; Get FC Long 0 ; ReverseLong FC ; Get D Long 0 ; SavePos FS 0 ; For T = 1 To FC ; GoTo FS 0 ; SavePos FOO 0 ; Get FO Long 0 ; ReverseLong FO ; SavePos FSO 0 ; Get FSI Long 0 ; ReverseLong FSI ; Get FN String 0 ; SavePos FS 0 ; Log FN FO FSI FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : FIFA 2003 Archive: BIG +-----------------------------------------------+ ImpType Standard ; IDString 0 BIGF ; Get D Long 0 ; Get FC Long 0 ; ReverseLong FC ; Get D Long 0 ; SavePos FS 0 ; For T = 1 To FC ; GoTo FS 0 ; SavePos FOO 0 ; Get FO Long 0 ; ReverseLong FO ; SavePos FSO 0 ; Get FSI Long 0 ; ReverseLong FSI ; Get FN String 0 ; SavePos FS 0 ; Log FN FO FSI FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Lord of the Rings BFME Archive: BIG +-----------------------------------------------+ ImpType Standard ; IDString 0 BIG4 ; Get D Long 0 ; Get FC Long 0 ; ReverseLong FC ; Get D Long 0 ; SavePos FS 0 ; For T = 1 To FC ; GoTo FS 0 ; SavePos FOO 0 ; Get FO Long 0 ; ReverseLong FO ; SavePos FSO 0 ; Get FSI Long 0 ; ReverseLong FSI ; Get FN String 0 ; SavePos FS 0 ; Log FN FO FSI FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Call To Power 2 Archive: ZFS +-----------------------------------------------+ IDString 0 ZFS3 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get TAILSIZEB Long 0 ; Get FILECNTL Long 0 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get FILEJMP Long 0 ; SavePos FILESTART 0 ; Set TAILOFF Long FILECNTL ; Math TAILOFF /= TAILSIZEB ; Set TAILOFF Long TAILSIZEB ; Math TAILOFF *= TAILOFF ; Set DUMMYL Long TAILOFF ; Set TAILOFF Long FILECNTL ; Math TAILOFF -= DUMMYL ; Set DUMMYL Long 0 ; Do ; Math DUMMYL += 1 ; GoTo FILESTART 0 ; GetDString FILENAME 16 0 ; Get FILEOFF Long 0 ; Math FILESTART += 24 ; GoTo FILESTART 0 ; Get FILESIZE Long 0 ; Math FILESTART += 12 ; Log FILENAME FILEOFF FILESIZE 0 0 ; While DUMMYL <> TAILSIZEB ; If EXTRCNT = FILECNTL ; CleanExit ; EndIf ; GoTo FILEJMP 0 ; Get FILEJMP Long 0 ; SavePos FILESTART 0 ; Set DUMMYL Long FILECNTL ; Math DUMMYL -= EXTRCNT ; Set FILEOFF Long TAILOFF ; Math FILEOFF /= DUMMYL ; Set FILEOFF Long TAILOFF ; Math FILEOFF *= FILEOFF ; Set FILESIZE Long DUMMYL ; Math FILESIZE /= TAILSIZEB ; Set FILESIZE Long TAILSIZEB ; Math FILESIZE *= FILESIZE ; Set TAILSIZEB Long FILESIZE ; Math TAILSIZEB += FILEOFF ; Set DUMMYL Long 0 ; Do ; GoTo FILESTART 0 ; GetDString FILENAME 16 0 ; Get FILEOFF Long 0 ; Math FILESTART += 24 ; GoTo FILESTART 0 ; Get FILESIZE Long 0 ; Math FILESTART += 12 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math DUMMYL += 1 ; While DUMMYL <> TAILSIZEB ; If EXTRCNT = FILECNTL ; CleanExit ; EndIf ; GoTo FILEJMP 0 ; Get FILEJMP Long 0 ; SavePos FILESTART 0 ; Set DUMMYL Long FILECNTL ; Math DUMMYL -= EXTRCNT ; Set FILEOFF Long TAILOFF ; Math FILEOFF /= DUMMYL ; Set FILEOFF Long TAILOFF ; Math FILEOFF *= FILEOFF ; Set FILESIZE Long DUMMYL ; Math FILESIZE /= TAILSIZEB ; Set FILESIZE Long TAILSIZEB ; Math FILESIZE *= FILESIZE ; Set TAILSIZEB Long FILESIZE ; Math TAILSIZEB += FILEOFF ; Set DUMMYL Long 0 ; Do ; GoTo FILESTART 0 ; GetDString FILENAME 16 0 ; Get FILEOFF Long 0 ; Math FILESTART += 24 ; GoTo FILESTART 0 ; Get FILESIZE Long 0 ; Math FILESTART += 12 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math DUMMYL += 1 ; While DUMMYL <> TAILSIZEB ; +-----------------------------------------------+ +-----------------------------------------------+ Game : City of Heroes Archive: PIG +-----------------------------------------------+ ImpType Standard ; ComType ZLib1 ; Set D Long 12 ; GoTo D 0 ; Get C Long 0 ; Get D Long 0 ; Get D Long 0 ; Set J Long 24 ; SavePos D 0 ; Set JF Long 48 ; Math JF *= C ; Math JF += 28 ; For T = 1 To C ; SavePos UCSO 0 ; Get UCS Long 0 ; Get D Long 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos D 0 ; Math D += J ; GoTo D 0 ; SavePos CSO 0 ; Get CS Long 0 ; Get D Long 0 ; Get D Long 0 ; SavePos D 0 ; GoTo JF 0 ; Get FNS Long 0 ; GetDString FN FNS 0 ; SavePos JF 0 ; GoTo D 0 ; CLog FN FO CS FOO CSO UCS UCSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Close Combat 4 Archive: SFX +-----------------------------------------------+ Get FILECNTL Long 0 ; SavePos FILESTART 0 ; Math FILESTART += 12 ; Do ; GoTo FILESTART 0 ; Get FILESIZE Long 0 ; Get FILEOFF Long 0 ; SavePos FILESTART 0 ; Math FILESTART += 20 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Echelon Archive: SFX +-----------------------------------------------+ IDString 0 DSFX ; Get FILECNTL Long 0 ; Get D Long 0 ; Get F Long 0 ; SavePos FILESTART 0 ; Math FILESTART += 8 ; GoTo EOF 0 ; SavePos TA 0 ; Math TA -= F ; Math TA += 1 ; Do ; GoTo FILESTART 0 ; SavePos FSO 0 ; Get FILESIZE Long 0 ; SavePos FOO 0 ; Get FILEOFF Long 0 ; Math FILESTART += 16 ; GoTo TA 0 ; Get FILENAME String 0 ; SavePos TA 0 ; Log FILENAME FILEOFF FILESIZE FOO FSO ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Micro Machines 2 Archive: SFX +-----------------------------------------------+ SavePos FILESTART 0 ; Do ; GoTo FILESTART 0 ; SavePos FILEOFF 0 ; Get DUMMYL Long 0 ; Get FILESIZE Long 0 ; Math FILESTART += FILESIZE ; Get FILENAME String 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; While NotEOF <> 0 ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Tombraider 3 Archive: SFX +-----------------------------------------------+ Set FILECNTL Long 0 ; Do ; SavePos FILESTART 0 ; Get DUMMYL Long 0 ; Get FILESIZE Long 0 ; GoTo FILESTART 0 ; Math FILESIZE += 8 ; Log FILENAME FILEOFF FILESIZE 0 0 ; While NotEOF <> 0 ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Worms 1 Archive: SFX +-----------------------------------------------+ Set DUMMYL Long 1024 ; Set FILEJMP Long 2048 ; SavePos FILESTART 0 ; GoTo EOF 0 ; SavePos E 0 ; Do ; GoTo FILESTART 0 ; Get FILEOFF Long 0 ; SavePos FILESTART 0 ; GoTo DUMMYL 0 ; Get FILESIZE Long 0 ; Set D Long FILESIZE ; Math D += FILEJMP ; SavePos DUMMYL 0 ; Math FILESIZE -= FILEOFF ; Math FILEOFF += FILEJMP ; Log FILENAME FILEOFF FILESIZE 0 0 ; While D < E ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Close Combat 4 Archive: PIX +-----------------------------------------------+ IDString 0 PICS ; Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; SavePos FILESTART 0 ; Do ; GoTo FILESTART 0 ; GetDString FILENAME 32 0 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get FILESIZE Long 0 ; Get FILEOFF Long 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Close Combat 4 Archive: AZP +-----------------------------------------------+ Get FILECNTL Long 0 ; SavePos FILESTART 0 ; Set DUMMYL Long 65 ; Set TAILOFF Long DUMMYL ; Math TAILOFF *= 4 ; Math TAILOFF -= 4 ; Do ; GoTo FILESTART 0 ; Get FILENAME String 0 ; Math FILESTART += TAILOFF ; GoTo FILESTART 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Colin McRae Rally Archive: BFL +-----------------------------------------------+ Get S ASize 0 ; For T = 1 To S ; FindLoc B String RIFF 0 ; GoTo B 0 ; Get D Long 0 ; Get FSI Long 0 ; Math FSI += 8 ; Set T Long B ; Math T += FSI ; Log "" B FSI 0 0 ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Conflict Freespace Archive: VP +-----------------------------------------------+ IDString 0 VPVP ; Get DUMMYL Long 0 ; Get TAILOFF Long 0 ; Get FILECNTL Long 0 ; SavePos FILESTART 0 ; GoTo TAILOFF 0 ; Do ; Get D Long 0 ; Get FILESIZE Long 0 ; Get FILENAME String 0 ; Set FILEOFF Long FILESTART ; Math TAILOFF += 44 ; GoTo TAILOFF 0 ; Math FILESTART += FILESIZE ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Counterstrike Archive: WAD +-----------------------------------------------+ ImpType Standard ; IDString 0 WAD3 ; Get FC Long 0 ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; For TE = 1 To FC ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; GetDString FN 8 0 ; Log FN FO FS FOO FSO ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Doom Archive: WAD +-----------------------------------------------+ ImpType Standard ; IDString 0 IWAD ; Get FC Long 0 ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; For TE = 1 To FC ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; GetDString FN 8 0 ; Log FN FO FS FOO FSO ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Doom 2 Archive: WAD +-----------------------------------------------+ ImpType Standard ; IDString 0 IWAD ; Get FC Long 0 ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; For TE = 1 To FC ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; GetDString FN 8 0 ; Log FN FO FS FOO FSO ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Half-Life Archive: WAD +-----------------------------------------------+ ImpType Standard ; IDString 0 IWAD ; Get FC Long 0 ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; For TE = 1 To FC ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; GetDString FN 8 0 ; Log FN FO FS FOO FSO ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Half-Life Blue Shift Archive: WAD +-----------------------------------------------+ ImpType Standard ; IDString 0 IWAD ; Get FC Long 0 ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; For TE = 1 To FC ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; GetDString FN 8 0 ; Log FN FO FS FOO FSO ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Half-Life OppForce Archive: WAD +-----------------------------------------------+ ImpType Standard ; IDString 0 IWAD ; Get FC Long 0 ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; For TE = 1 To FC ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; GetDString FN 8 0 ; Log FN FO FS FOO FSO ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Heretic 1 Archive: WAD +-----------------------------------------------+ ImpType Standard ; IDString 0 IWAD ; Get FC Long 0 ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; For TE = 1 To FC ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; GetDString FN 8 0 ; Log FN FO FS FOO FSO ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Hexen 1 Archive: WAD +-----------------------------------------------+ ImpType Standard ; IDString 0 IWAD ; Get FC Long 0 ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; For TE = 1 To FC ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; GetDString FN 8 0 ; Log FN FO FS FOO FSO ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Quake 2 Archive: WAD +-----------------------------------------------+ ImpType Standard ; IDString 0 IWAD ; Get FC Long 0 ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; For TE = 1 To FC ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; GetDString FN 8 0 ; Log FN FO FS FOO FSO ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Theme Park World Archive: WAD +-----------------------------------------------+ IDString 0 DWFB ; Set FILESTART Long 72 ; GoTo FILESTART 0 ; Get FILECNTL Long 0 ; Get TAILOFF Long 0 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; SavePos FILESTART 0 ; Do ; GoTo FILESTART 0 ; Get DUMMYL Long 0 ; Get TAILOFF Long 0 ; Get DUMMYL Long 0 ; SavePos FILESTART 0 ; GoTo TAILOFF 0 ; GetDString FILENAME DUMMYL 0 ; GoTo FILESTART 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; Math FILESTART += 20 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Thunderhawk Archive: WAD +-----------------------------------------------+ Get DUMMYL Long 0 ; ReverseLong DUMMYL ; Set FILECNTL Long DUMMYL ; Math FILECNTL /= 12 ; Set FILESTART Long 0 ; Do ; GoTo FILESTART 0 ; Get DUMMYL Long 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; ReverseLong DUMMYL ; ReverseLong FILEOFF ; ReverseLong FILESIZE ; GoTo DUMMYL 0 ; GetDString FILENAME 9 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Tombraider 3 Archive: WAD +-----------------------------------------------+ Set FILECNTL Long 0 ; Set FILESTART Long 0 ; Do ; Math FILESTART += 250 ; Math FILESTART += 10 ; GoTo FILESTART 0 ; Get FILESIZE Long 0 ; Get FILEOFF Long 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; While NotEOF <> 0 ; +-----------------------------------------------+ +-----------------------------------------------+ Game : MTX Mototrax (BINK Extractor) Archive: WAD +-----------------------------------------------+ Do ; FindLoc OFF String BIK 0 ; Set JP Long OFF ; Math JP += 4 ; GoTo JP 0 ; Get SIZE Long 0 ; Math SIZE += 4 ; Log "" OFF SIZE 0 0 ; While NotEOF <> 0 ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Counterstrike XBox Archive: WAD +-----------------------------------------------+ ImpType Standard ; ComType ZLib1 ; Get D Long 0 ; Get FC Long 0 ; Get HS Long 0 ; Get D2 Long 0 ; For T = 1 To FC ; SavePos OSOff 0 ; Get OSize Long 0 ; SavePos CSizeOff 0 ; Get CSize Long 0 ; SavePos OffOff 0 ; Get Offset Long 0 ; Get NSize Long 0 ; GetDString FN NSize 0 ; SavePos C 0 ; Set JP Long NSize ; Math NSize += 4 ; Math NSize /= 4 ; Math NSize *= 4 ; Math NSize -= JP ; Math C += NSize ; GoTo C 0 ; CLog FN Offset CSize OffOff CSizeOff OSize OSOff ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Crusader No Remorse Archive: FLX +-----------------------------------------------+ Set FILESTART Long 128 ; Do ; GoTo FILESTART 0 ; Get FILEOFF Long 0 ; If FILEOFF = 0 ; CleanExit ; EndIf ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; While NotEOF <> 0 ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Cultures Archive: LIB +-----------------------------------------------+ Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; SavePos FILESTART 0 ; Do ; GoTo FILESTART 0 ; Get DUMMYL Int 0 ; GetDString FILENAME DUMMYL 0 ; SavePos FILESTART 0 ; Get FILEOFF Long 0 ; GoTo FILESTART 0 ; Get TAILOFF Long 0 ; Set TAILOFF Long FILESTART ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : US Navy Fighters Archive: LIB +-----------------------------------------------+ IDString 0 EALIB ; Get FILECNTL Int 0 ; SavePos FILESTART 0 ; Do ; GoTo FILESTART 0 ; GetDString FILENAME 12 0 ; Get DUMMYL Int 0 ; Get FILEOFF Long 0 ; Math FILEOFF += 5 ; SavePos FILESTART 0 ; SavePos DUMMYL 0 ; Math DUMMYL += 12 ; GoTo DUMMYL 0 ; Get DUMMYL Int 0 ; Get FILESIZE Long 0 ; Math FILESIZE -= FILEOFF ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Dark Reign 2 Archive: ZWP +-----------------------------------------------+ IDString 0 NORK ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get FILESTART Long 0 ; Get FILESTART Long 0 ; Math DUMMYL -= FILESTART ; Set FILECNTL Long DUMMYL ; Math FILECNTL /= 24 ; Do ; Math FILESTART += 1 ; GoTo FILESTART 0 ; Get DUMMYL Long 0 ; ReverseLong DUMMYL ; GetDString FILENAME DUMMYL 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Delta Force Archive: PFF +-----------------------------------------------+ ImpType StandardTail ; Set FS Long 8 ; GoTo FS 0 ; Get FC Long 0 ; Get FJ Long 0 ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; For T = 1 To FC ; Get D Long 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Get D Long 0 ; GetDString FN 36 0 ; Get D Long 0 ; Get D Long 0 ; Math TO += FJ ; GoTo TO 0 ; Log FN FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Delta Force 2 Archive: PFF +-----------------------------------------------+ ImpType StandardTail ; Set FS Long 8 ; GoTo FS 0 ; Get FC Long 0 ; Get FJ Long 0 ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; For T = 1 To FC ; Get D Long 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Get D Long 0 ; GetDString FN 36 0 ; Get D Long 0 ; Get D Long 0 ; Math TO += FJ ; GoTo TO 0 ; Log FN FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Delta Force Landwarrior Archive: PFF +-----------------------------------------------+ ImpType StandardTail ; Set FS Long 8 ; GoTo FS 0 ; Get FC Long 0 ; Get FJ Long 0 ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; For T = 1 To FC ; Get D Long 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Get D Long 0 ; GetDString FN 36 0 ; Get D Long 0 ; Get D Long 0 ; Math TO += FJ ; GoTo TO 0 ; Log FN FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : DF - Black Hawk Down Archive: PFF +-----------------------------------------------+ ImpType StandardTail ; Set FS Long 8 ; GoTo FS 0 ; Get FC Long 0 ; Get FJ Long 0 ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; For T = 1 To FC ; Get D Long 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Get D Long 0 ; GetDString FN 36 0 ; Get D Long 0 ; Get D Long 0 ; Math TO += FJ ; GoTo TO 0 ; Log FN FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Delta Force Landwarrior Archive: PWF +-----------------------------------------------+ Set FILESTART Long 8 ; GoTo FILESTART 0 ; Get FILECNTL Long 0 ; SavePos FILESTART 0 ; Do ; Math FILESTART += 16 ; GoTo FILESTART 0 ; GetDString FILENAME 24 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; Get DUMMYL Long 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Descent 1 Archive: HOG +-----------------------------------------------+ IDString 0 DHF ; SavePos FILESTART 0 ; GoTo EOF 0 ; SavePos D 0 ; Do ; GoTo FILESTART 0 ; GetDString FILENAME 13 0 ; Get FILESIZE Long 0 ; SavePos FILEOFF 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math FILESTART += FILESIZE ; Set F Long FILESTART ; Math F += 17 ; While F < D ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Descent 3 Archive: HOG +-----------------------------------------------+ IDString 0 HOG2 ; Get FILECNTL Long 0 ; Get FILESTART Long 0 ; SavePos DUMMYL 0 ; Math DUMMYL += 56 ; Do ; GoTo DUMMYL 0 ; GetDString FILENAME 40 0 ; Get FILESIZE Long 0 ; Get DUMMYL Long 0 ; SavePos DUMMYL 0 ; GoTo FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; SavePos FILESTART 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Starlancer Archive: HOG +-----------------------------------------------+ IDString 0 BIGF ; Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; ReverseLong FILECNTL ; Get DUMMYL Long 0 ; SavePos FILESTART 0 ; Do ; GoTo FILESTART 0 ; Get FILEOFF Long 0 ; ReverseLong FILEOFF ; Get FILESIZE Long 0 ; ReverseLong FILESIZE ; Get FILENAME String 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Duke Nukem 3d Archive: RTS +-----------------------------------------------+ ImpType Standard ; IDString 0 IWAD ; Get FC Long 0 ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; For TE = 1 To FC ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; GetDString FN 8 0 ; Log FN FO FS FOO FSO ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Shadow Warrior Archive: RTS +-----------------------------------------------+ ImpType Standard ; IDString 0 IWAD ; Get FC Long 0 ; SavePos TailOffOff 0 ; Get TO Long 0 ; GoTo TO 0 ; For TE = 1 To FC ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; GetDString FN 8 0 ; Log FN FO FS FOO FSO ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Duke Nukem 3d Archive: GRP +-----------------------------------------------+ ImpType SFileSize ; IDString 0 KenSilverman ; Get FC Long 0 ; Set MFC Long FC ; Math MFC *= 16 ; Math MFC += 16 ; SavePos FS 0 ; For TE = 1 To FC ; GoTo FS 0 ; GetDString FN 12 0 ; SavePos FSO 0 ; Get FSI Long 0 ; SavePos FS 0 ; Log FN MFC FSI 0 FSO ; Math MFC += FSI ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Shadow Warrior Archive: GRP +-----------------------------------------------+ ImpType SFileSize ; IDString 0 KenSilverman ; Get FC Long 0 ; Set MFC Long FC ; Math MFC *= 16 ; Math MFC += 16 ; SavePos FS 0 ; For TE = 1 To FC ; GoTo FS 0 ; GetDString FN 12 0 ; SavePos FSO 0 ; Get FSI Long 0 ; SavePos FS 0 ; Log FN MFC FSI 0 FSO ; Math MFC += FSI ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Dungeon Keeper 2 Archive: SDT +-----------------------------------------------+ Get FC Long 0 ; Get D Long 0 ; For TE = 1 To FC ; SavePos FS 0 ; GoTo D 0 ; Get DD Long 0 ; Get FSI Long 0 ; GetDString FN 16 0 ; SavePos FO 0 ; Math FO += 16 ; Log FN FO FSI 0 0 ; GoTo FS 0 ; Get D Long 0 ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Populous 3 Archive: SDT +-----------------------------------------------+ Get FC Long 0 ; Get D Long 0 ; For TE = 1 To FC ; SavePos FS 0 ; GoTo D 0 ; Get DD Long 0 ; Get FSI Long 0 ; GetDString FN 16 0 ; SavePos FO 0 ; Math FO += 16 ; Log FN FO FSI 0 0 ; GoTo FS 0 ; Get D Long 0 ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Sim Theme Park audio Archive: SDT +-----------------------------------------------+ Get FILECNTL Long 0 ; Get DUMMYL Long 0 ; Do ; SavePos FILESTART 0 ; GoTo DUMMYL 0 ; Get FILESIZE Long 0 ; Get FILESIZE Long 0 ; GetDString FILENAME 16 0 ; SavePos FILEOFF 0 ; Math FILEOFF += 16 ; Log FILENAME FILEOFF FILESIZE 0 0 ; GoTo FILESTART 0 ; Get DUMMYL Long 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : EA Cricket 2004 Archive: GOB +-----------------------------------------------+ GoTo EOF 0 ; SavePos END 0 ; Math END -= 2047 ; GoTo END 0 ; Get DUM Long 0 ; Get FNU Long 0 ; Get DJ Long 0 ; Math END -= DJ ; Set DJJ Long 24 ; Math DJJ *= FNU ; Math END -= DJJ ; GoTo END 0 ; For T = 1 To FNU ; GetDString DUMM 16 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Log "" FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Emperor - Battle for Dune Archive: BAG +-----------------------------------------------+ IDString 0 GABA ; ImpType Standard ; GoTo 8 0 ; Get Filenumber Long 0 ; Set Start Long 16 ; For Count = 1 To Filenumber ; GoTo Start 0 ; Get Filename String 0 ; Math Start += 32 ; GoTo Start 0 ; SavePos FileOffOff 0 ; Get FileOff Long 0 ; SavePos FileSizeOff 0 ; Get FileSize Long 0 ; Math Start += 32 ; Log Filename FileOff FileSize FileOffOff FileSizeOff ; Next Count ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Escape From Monkey Island Archive: M4B +-----------------------------------------------+ IDString 0 LABN ; Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; SavePos FILESTART 0 ; Do ; GoTo FILESTART 0 ; Get DUMMYL Long 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; Get DUMMYL Long 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Etherlords Archive: RES +-----------------------------------------------+ ImpType Standard ; Get AS ASize 0 ; Get FN Long 0 ; Get FN Long 0 ; SavePos TailOffOff 0 ; Get FIP Long 0 ; Get FNS Long 0 ; Math AS -= FNS ; For TE = 1 To FN ; GoTo FIP 0 ; Get D Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; SavePos FOO 0 ; Get FO Long 0 ; Get D Long 0 ; Get D Int 0 ; Get SU Long 0 ; Set AA Long AS ; Math AA += SU ; SavePos FIP 0 ; GoTo AA 0 ; GetDString F$ D 0 ; Log F$ FO FS FOO FSO ; Next TE ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Evil Islands Archive: RES +-----------------------------------------------+ Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; Get FILESTART Long 0 ; Set FILEJMP Long FILECNTL ; Math FILEJMP *= 22 ; Math FILEJMP += FILESTART ; Do ; GoTo FILESTART 0 ; Get DUMMYL Long 0 ; Get FILESIZE Long 0 ; Get FILEOFF Long 0 ; Get DUMMYL Long 0 ; Get TAILOFF Int 0 ; Get TAILSIZEB Long 0 ; SavePos FILESTART 0 ; Set DUMMYL Long FILEJMP ; Math DUMMYL += TAILSIZEB ; GoTo DUMMYL 0 ; GetDString FILENAME TAILOFF 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Nascar Heat Archive: RES +-----------------------------------------------+ IDString 0 0TSR ; Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; Get DUMMYL Long 0 ; Get TAILOFF Long 0 ; SavePos FILESTART 0 ; Set DUMMYL Long FILECNTL ; Math DUMMYL *= 56 ; Math DUMMYL += 20 ; Do ; GoTo FILESTART 0 ; Get FILENAME String 0 ; Math FILESTART += 44 ; GoTo FILESTART 0 ; Get FILESIZE Long 0 ; Math FILESTART += 12 ; Math DUMMYL += 4 ; Set FILEOFF Long DUMMYL ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math DUMMYL += FILESIZE ; Math DUMMYL += 4 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Rage Of Mages Archive: RES +-----------------------------------------------+ SavePos FILESTART 0 ; Math FILESTART += 16 ; GoTo FILESTART 0 ; Get TAILOFF Long 0 ; Get FILECNTL Long 0 ; Do ; GoTo TAILOFF 0 ; Get DUMMYL Long 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; Get DUMMYL Long 0 ; GetDString FILENAME 16 0 ; SavePos TAILOFF 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Laser Light Archive: RES +-----------------------------------------------+ ImpType Standard ; Get FN Int 0 ; For T = 1 To FN ; Get D Byte 0 ; GetDString NAME 12 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Get D Byte 0 ; Log NAME FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Xatax Archive: RES +-----------------------------------------------+ ImpType Standard ; Get FN Int 0 ; For T = 1 To FN ; Get D Byte 0 ; GetDString NAME 12 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Get D Byte 0 ; Log NAME FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Fuzzy's World Archive: RES +-----------------------------------------------+ ImpType Standard ; Get FN Int 0 ; For T = 1 To FN ; Get D Byte 0 ; GetDString NAME 12 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Get D Byte 0 ; Log NAME FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Electranoid Archive: RES +-----------------------------------------------+ ImpType Standard ; Get FN Int 0 ; For T = 1 To FN ; Get D Byte 0 ; GetDString NAME 12 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Get D Byte 0 ; Log NAME FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : FIFA 1999 Archive: ABG +-----------------------------------------------+ ImpType Standard ; IDString 0 BIGF ; Get D Long 0 ; Get FC Long 0 ; ReverseLong FC ; Get D Long 0 ; SavePos FS 0 ; For T = 1 To FC ; GoTo FS 0 ; SavePos FOO 0 ; Get FO Long 0 ; ReverseLong FO ; SavePos FSO 0 ; Get FSI Long 0 ; ReverseLong FSI ; Get FN String 0 ; SavePos FS 0 ; Log FN FO FSI FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : FIFA 2000 Archive: ABG +-----------------------------------------------+ ImpType Standard ; IDString 0 BIGF ; Get D Long 0 ; Get FC Long 0 ; ReverseLong FC ; Get D Long 0 ; SavePos FS 0 ; For T = 1 To FC ; GoTo FS 0 ; SavePos FOO 0 ; Get FO Long 0 ; ReverseLong FO ; SavePos FSO 0 ; Get FSI Long 0 ; ReverseLong FSI ; Get FN String 0 ; SavePos FS 0 ; Log FN FO FSI FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : FIFA 2001 Archive: ABG +-----------------------------------------------+ ImpType Standard ; IDString 0 BIGF ; Get D Long 0 ; Get FC Long 0 ; ReverseLong FC ; Get D Long 0 ; SavePos FS 0 ; For T = 1 To FC ; GoTo FS 0 ; SavePos FOO 0 ; Get FO Long 0 ; ReverseLong FO ; SavePos FSO 0 ; Get FSI Long 0 ; ReverseLong FSI ; Get FN String 0 ; SavePos FS 0 ; Log FN FO FSI FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : FIFA 2002 Archive: ABG +-----------------------------------------------+ ImpType Standard ; IDString 0 BIGF ; Get D Long 0 ; Get FC Long 0 ; ReverseLong FC ; Get D Long 0 ; SavePos FS 0 ; For T = 1 To FC ; GoTo FS 0 ; SavePos FOO 0 ; Get FO Long 0 ; ReverseLong FO ; SavePos FSO 0 ; Get FSI Long 0 ; ReverseLong FSI ; Get FN String 0 ; SavePos FS 0 ; Log FN FO FSI FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : FIFA 2003 Archive: ABG +-----------------------------------------------+ ImpType Standard ; IDString 0 BIGF ; Get D Long 0 ; Get FC Long 0 ; ReverseLong FC ; Get D Long 0 ; SavePos FS 0 ; For T = 1 To FC ; GoTo FS 0 ; SavePos FOO 0 ; Get FO Long 0 ; ReverseLong FO ; SavePos FSO 0 ; Get FSI Long 0 ; ReverseLong FSI ; Get FN String 0 ; SavePos FS 0 ; Log FN FO FSI FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Final Fantasy 7 Archive: LGP +-----------------------------------------------+ Set FILESTART Long 12 ; GoTo FILESTART 0 ; Get FILECNTL Long 0 ; SavePos FILESTART 0 ; Do ; GoTo FILESTART 0 ; GetDString FILENAME 20 0 ; Get FILEOFF Long 0 ; SavePos FILESTART 0 ; Math FILESTART += 3 ; GoTo FILEOFF 0 ; GetDString FILENAME 20 0 ; Get FILESIZE Long 0 ; SavePos FILEOFF 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Frank Herbert's Dune Archive: DUN +-----------------------------------------------+ Set FS Long 8 ; ImpType Standard ; GoTo FS 0 ; SavePos TailOffOff 0 ; Get TAO Long 0 ; Get FN Long 0 ; GoTo TAO 0 ; For A = 1 To FN ; GetCT FIN String 10 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Log FIN FO FS FOO FSO ; Next A ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Giants Citizen Kabuto Archive: GZP +-----------------------------------------------+ Get DUMMYL Long 0 ; Get TAILOFF Long 0 ; GoTo TAILOFF 0 ; Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; SavePos TAILOFF 0 ; Do ; GoTo TAILOFF 0 ; Get FILESIZE Long 0 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get FILEOFF Long 0 ; Math FILEOFF += 16 ; SavePos TAILOFF 0 ; Math TAILOFF += 2 ; GoTo TAILOFF 0 ; Get FILENAME String 0 ; SavePos TAILOFF 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Heroes Chronicles Series Archive: SND +-----------------------------------------------+ Get FC Long 0 ; ImpType Standard ; For A = 1 To FC ; SavePos FS 0 ; Get FN String 0 ; Math FS += 40 ; GoTo FS 0 ; SavePos Foo 0 ; Get Fo Long 0 ; SavePos Fso 0 ; Get Fsi Long 0 ; Log FN Fo Fsi Foo Fso ; Next A ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Heroes of Might and Magic 3 Archive: SND +-----------------------------------------------+ Get FILECNTL Long 0 ; Do ; GetDString FILENAME 40 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; GoTo FILEOFF 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; GoTo FILESTART 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Star Trek (BOTF) Archive: SND +-----------------------------------------------+ Get TAILOFF Long 0 ; Do ; GoTo TAILOFF 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; SavePos TAILOFF 0 ; Log "" FILEOFF FILESIZE 0 0 ; While NotEOF <> 0 ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Heroes Chronicles Series Archive: LOD +-----------------------------------------------+ IDString 0 LOD ; SavePos FILESTART 0 ; Math FILESTART += 5 ; GoTo FILESTART 0 ; Get FILECNTL Long 0 ; Set FILESTART Long 92 ; GoTo FILESTART 0 ; Do ; SavePos FILESTART 0 ; GetDString FILENAME 16 0 ; Get FILEOFF Long 0 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; GoTo FILEOFF 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; GoTo FILESTART 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Heroes of Might and Magic 3 Archive: LOD +-----------------------------------------------+ IDString 0 LOD ; SavePos FILESTART 0 ; Math FILESTART += 5 ; GoTo FILESTART 0 ; Get FILECNTL Long 0 ; Set FILESTART Long 92 ; GoTo FILESTART 0 ; Do ; SavePos FILESTART 0 ; GetDString FILENAME 16 0 ; Get FILEOFF Long 0 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; GoTo FILEOFF 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; GoTo FILESTART 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Heroes of Might and Magic 1 Archive: AGG +-----------------------------------------------+ Get FC Int 0 ; Set FS Long 0 ; Set M Long FC ; Math M -= 1 ; Math M *= 14 ; Math M += 2 ; GoTo M 0 ; Get D Int 0 ; Get FO Long 0 ; Get FSI Long 0 ; Get DD Long 0 ; Set S Long 0 ; GoTo S 0 ; Set TO Long FO ; Math TO += FSI ; Get D Int 0 ; For T = 1 To FC ; Get D Int 0 ; Get FO Long 0 ; Get FSI Long 0 ; Get DD Long 0 ; SavePos S 0 ; GoTo TO 0 ; GetDString FN 15 0 ; SavePos TO 0 ; Log FN FO FSI 0 0 ; GoTo S 0 ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Hidden and dangerous Archive: DTA +-----------------------------------------------+ IDString 0 COMPCNT4 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; CleanExit ; SavePos DUMMYL 0 ; Do ; GoTo DUMMYL 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; Get DUMMYL Int 0 ; GetDString FILENAME DUMMYL 0 ; SavePos DUMMYL 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Homeworld Archive: VCE +-----------------------------------------------+ IDString 0 VCE0 ; Do ; FindLoc FILEOFF String INFO 0 ; Math FILEOFF += 12 ; GoTo FILEOFF 0 ; Get FILESIZE Long 0 ; Math FILEOFF -= 12 ; Log FILENAME FILEOFF FILESIZE 0 0 ; While NotEOF <> 0 ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Homeworld Cataclysm Archive: VCE +-----------------------------------------------+ IDString 0 VCE0 ; Do ; FindLoc FILEOFF String INFO 0 ; Math FILEOFF += 12 ; GoTo FILEOFF 0 ; Get FILESIZE Long 0 ; Math FILEOFF -= 12 ; Log FILENAME FILEOFF FILESIZE 0 0 ; While NotEOF <> 0 ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Hostile Waters Archive: MNG +-----------------------------------------------+ IDString 0 ZGWH ; Get FILECNTL Long 0 ; SavePos FILESTART 0 ; Do ; GoTo FILESTART 0 ; Get FILENAME String 0 ; Get FILESIZE Long 0 ; Get FILEOFF Long 0 ; Get FILEOFF Long 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Hostile Waters Archive: MBX +-----------------------------------------------+ CleanExit ; Get FILECNTL Long 0 ; SavePos DUMMYL 0 ; Do ; GoTo DUMMYL 0 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get FILESIZE Long 0 ; Get FILEOFF Long 0 ; SavePos DUMMYL 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Imperialism II Archive: RSR +-----------------------------------------------+ IDString 0 rsrc ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; Do ; GetDString FILENAME 8 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; GoTo FILESTART 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Kohan Archive: TGW +-----------------------------------------------+ ImpType Standard ; Set S Long 60 ; GoTo S 0 ; Get ST Long 0 ; SavePos T 0 ; Math T += 12 ; GoTo T 0 ; Get TS Long 0 ; Get FC Long 0 ; For B = 1 To FC ; GoTo ST 0 ; GetDString Na 80 0 ; SavePos ST 0 ; SavePos T 0 ; Math T += 4 ; GoTo T 0 ; SavePos FSO 0 ; Get FS Long 0 ; Math ST += 24 ; GoTo TS 0 ; SavePos FOO 0 ; Get FO Long 0 ; Math TS += 8 ; Log Na FO FS FOO FSO ; Next B ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Lemmings Revolution Archive: BOX +-----------------------------------------------+ IDString 0 LEMBOX ; Get FILECNTL Long 0 ; Get DUMMYL Long 0 ; Set TAILSIZEB Long 0 ; Set DUMMYL Long FILECNTL ; Math DUMMYL *= 4 ; SavePos FILESTART 0 ; Set TAILOFF Long 0 ; Do ; Get FILEOFF Long 0 ; GetDString FILENAME FILEOFF 0 ; Math TAILOFF += 1 ; While FILECNTL <> TAILOFF ; SavePos FILEJMP 0 ; Math FILEJMP += 4 ; Math DUMMYL += FILEJMP ; Math DUMMYL += 4 ; Do ; GoTo FILESTART 0 ; Get FILEOFF Long 0 ; GetDString FILENAME FILEOFF 0 ; SavePos FILESTART 0 ; GoTo FILEJMP 0 ; Get FILEOFF Long 0 ; SavePos FILEJMP 0 ; GoTo DUMMYL 0 ; Get FILESIZE Long 0 ; SavePos DUMMYL 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; Set BytesRead Long 0 ; Do ; GoTo DUMMYL 0 ; GetDString FILENAME 56 0 ; Set WHATEVER1 Long 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; SavePos DUMMYL 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; While BytesRead <> TAILSIZEB ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Master of Magic Archive: LBX +-----------------------------------------------+ Get FILECNTL Int 0 ; Get DUMMYI Int 0 ; Get DUMMYL Long 0 ; SavePos TAILOFF 0 ; Do ; GoTo TAILOFF 0 ; Get FILEOFF Long 0 ; SavePos TAILOFF 0 ; Get FILESIZE Long 0 ; Math FILESIZE -= FILEOFF ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Master of Orion Archive: LBX +-----------------------------------------------+ Get FILECNTL Int 0 ; Get DUMMYI Int 0 ; Get DUMMYL Long 0 ; SavePos TAILOFF 0 ; Do ; GoTo TAILOFF 0 ; Get FILEOFF Long 0 ; SavePos TAILOFF 0 ; Get FILESIZE Long 0 ; Math FILESIZE -= FILEOFF ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Master of Orion 2 Archive: LBX +-----------------------------------------------+ Get FILECNTL Int 0 ; Get DUMMYI Int 0 ; Get DUMMYL Long 0 ; SavePos TAILOFF 0 ; Do ; GoTo TAILOFF 0 ; Get FILEOFF Long 0 ; SavePos TAILOFF 0 ; Get FILESIZE Long 0 ; Math FILESIZE -= FILEOFF ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Mechwarrior 4 Merc Archive: MW4 +-----------------------------------------------+ IDString 0 #VBD ; Get D Long 0 ; Get D Long 0 ; Get START Long 0 ; Get Item_Count Int 0 ; Get Item_Count Int 0 ; For T = 1 To Item_Count ; GetDString TIME 8 0 ; Get OS Long 0 ; Get NS Long 0 ; Get RO Long 0 ; Get IC Int 0 ; Get BS Byte 0 ; GetDString IN BS 0 ; Set IO Long RO ; Math IO += START ; Log IN IO NS 0 0 ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Mortyr Archive: HAL +-----------------------------------------------+ IDString 0 APUK ; Get FILECNTL Long 0 ; Set FILESTART Long 32 ; Do ; GoTo FILESTART 0 ; Get FILESIZE Long 0 ; Get FILEOFF Long 0 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; GetDString FILENAME 16 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Outlaws Archive: LAB +-----------------------------------------------+ ImpType Standard ; IDString 0 LABN ; Get D Long 0 ; Get FC Long 0 ; Set FJ Long FC ; Math FJ *= 16 ; Math FJ += 16 ; Get D Long 0 ; SavePos FT 0 ; For T = 1 To FC ; GoTo FT 0 ; Get D Long 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Get D Long 0 ; SavePos FT 0 ; GoTo FJ 0 ; Get FN String 0 ; SavePos FJ 0 ; Log FN FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Port Royale Archive: CPR +-----------------------------------------------+ ImpType Standard ; IDString 0 ASCARON_ARCHIVE ; Set D Long 40 ; GoTo D 0 ; Get FC Long 0 ; Get S Long 0 ; For T = 1 To FC ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Get S Long 0 ; Get FN String 0 ; Log FN FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Prince of Persia SOT Archive: BF +-----------------------------------------------+ Get ST Long 0 ; Set STE Long ST ; Math STE += 4 ; For T = 0 To ST ; Get DOff Long 0 ; SavePos OffOff 0 ; Get Off Long 0 ; Math Off += STE ; SavePos SizeOff 0 ; Get Size Long 0 ; Get D Long 0 ; Get BS Long 0 ; GetDString FN BS 0 ; Log FN Off Size OffOff SizeOff ; Math T -= 1 ; Math T += 20 ; Math T += BS ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Project Eearth Archive: DPK +-----------------------------------------------+ IDString 0 DPK4 ; ComType ZLib1 ; ImpType Standard ; Get ASize Long 0 ; Get HSize Long 0 ; Get FNum Long 0 ; For T = 1 To FNum ; SavePos TJ 0 ; Get ESize Long 0 ; SavePos UCSOff 0 ; Get UCSize Long 0 ; SavePos CSizeOff 0 ; Get CSize Long 0 ; SavePos OOF 0 ; Get Offset Long 0 ; Get FN String 0 ; Math TJ += ESize ; GoTo TJ 0 ; CLog FN Offset CSize OOF CSizeOff UCSize UCSOff ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Red Baron 3D Archive: VOL +-----------------------------------------------+ IDString 0 VOL ; Set FILESTART Long 16 ; Math FILESTART += 12 ; FindLoc FILEJMP String voli 0 ; Math FILEJMP += 12 ; Set TAILOFF Long 0 ; Do ; GoTo FILEJMP 0 ; Get FILEOFF Long 0 ; Math FILEOFF += 8 ; Get FILESIZE Long 0 ; If FILESIZE = 0 ; CleanExit ; EndIf ; Get DUMMYL Int 0 ; Get DUMMYL Int 0 ; Math DUMMYL -= TAILOFF ; Math TAILOFF += DUMMYL ; SavePos FILEJMP 0 ; Math FILEJMP += 2 ; GoTo FILESTART 0 ; GetDString FILENAME DUMMYL 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; While NotEOF <> 0 ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Catwoman Archive: VOL +-----------------------------------------------+ IDString 0 VOLT ; Get VN Long 0 ; Get FN Long 0 ; Get HS Long 0 ; SavePos ST 0 ; Set J Long 12 ; Math J *= FN ; Math ST += J ; GoTo ST 0 ; For T = 1 To FN ; SavePos FOO 0 ; Get FO Long 0 ; Get D Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Get D Long 0 ; Get FNA String 0 ; Log FNA FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Sudden strike Archive: RUS +-----------------------------------------------+ Get FILECNTL Long 0 ; SavePos FILESTART 0 ; Do ; GoTo FILESTART 0 ; Get FILEOFF Long 0 ; SavePos FILESTART 0 ; Get FILESIZE Long 0 ; Math FILESIZE -= FILEOFF ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Terminator Future Shock Archive: BSA +-----------------------------------------------+ Get FC Int 0 ; SavePos FS 0 ; GoTo EOF 0 ; SavePos TO 0 ; Set D Long FC ; Math D *= 18 ; Math TO -= D ; Math TO += 1 ; For T = 1 To FC ; Set FO Long FS ; GoTo TO 0 ; GetDString FN 14 0 ; Get FSI Long 0 ; SavePos TO 0 ; Log FN FO FSI 0 0 ; Math FS += FSI ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : The 7th Guest Archive: GJD +-----------------------------------------------+ Get S ASize 0 ; For T = 1 To S ; FindLoc B String RIFF 0 ; GoTo B 0 ; Get D Long 0 ; Get FSI Long 0 ; Math FSI += 8 ; Set T Long B ; Math T += FSI ; Log "" B FSI 0 0 ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Total Annihilation Archive: ZRB +-----------------------------------------------+ IDString 0 SMK2 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; Set FILESTART Long 104 ; Set FILEJMP Long FILECNTL ; Math FILEJMP *= 4 ; Math FILEJMP += FILECNTL ; Math FILEJMP += 104 ; Do ; Set FILEOFF Long FILEJMP ; GoTo FILESTART 0 ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math FILEJMP += FILESIZE ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Transport Tycoon Deluxe Archive: CAT +-----------------------------------------------+ Get S ASize 0 ; For T = 1 To S ; FindLoc B String RIFF 0 ; GoTo B 0 ; Get D Long 0 ; Get FSI Long 0 ; Math FSI += 8 ; Set T Long B ; Math T += FSI ; Log "" B FSI 0 0 ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Gunship! Archive: CAT +-----------------------------------------------+ Get FN Long 0 ; For T = 1 To FN ; Get FID Long 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Log "" FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Warcraft 1 Archive: WAR +-----------------------------------------------+ Get DUMMYL Long 0 ; Get FILECNTL Int 0 ; Get DUMMYI Int 0 ; SavePos FILESTART 0 ; Set FILECNTL Long 0 ; Do ; GoTo FILESTART 0 ; Get FILEJMP Long 0 ; SavePos FILESTART 0 ; GoTo FILEJMP 0 ; Get FILESIZE Long 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : WarCraft 2 Archive: WAR +-----------------------------------------------+ ImpType None ; GoTo 4 0 ; Get FN Int 0 ; GoTo 8 0 ; SavePos FileOffOff 0 ; For i = 1 To FN ; SavePos FileOffOff 0 ; Get FO Long 0 ; SavePos FJ 0 ; GoTo FO 0 ; Math FO += 4 ; SavePos FileSizeOff 0 ; Get FS Long 0 ; GoTo FJ 0 ; Log "" FO FS FileOffOff FileSizeOff ; Next i ; +-----------------------------------------------+ +-----------------------------------------------+ Game : WarCraft 2 AddOns Archive: WAR +-----------------------------------------------+ ImpType None ; GoTo 4 0 ; Get FN Int 0 ; GoTo 8 0 ; SavePos FileOffOff 0 ; For i = 1 To FN ; SavePos FileOffOff 0 ; Get FO Long 0 ; SavePos FJ 0 ; GoTo FO 0 ; Math FO += 4 ; SavePos FileSizeOff 0 ; Get FS Long 0 ; GoTo FJ 0 ; Log "" FO FS FileOffOff FileSizeOff ; Next i ; +-----------------------------------------------+ +-----------------------------------------------+ Game : WarCraft 2 Archive: SUD +-----------------------------------------------+ Get DUMMYL Long 0 ; Get FILECNTL Int 0 ; Get DUMMYI Int 0 ; SavePos FILESTART 0 ; Do ; GoTo FILESTART 0 ; Get FILEJMP Long 0 ; SavePos FILESTART 0 ; GoTo FILEJMP 0 ; Get FILESIZE Long 0 ; SavePos FILEOFF 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Lemmings 2 (VOC) Archive: VOC +-----------------------------------------------+ Get D Long 0 ; SavePos FST 0 ; Get FS Long 0 ; Set FO Long 512 ; Log "" FO FS 0 0 ; Set FN Long 512 ; Math FN /= 4 ; Math FN -= 1 ; For T = 1 To FN ; GoTo FST 0 ; Get FO Long 0 ; Math FO += 512 ; SavePos FST 0 ; Get FS Long 0 ; If FS = 0 ; GoTo EOF 0 ; SavePos FS 0 ; Math FS += 1 ; Math FS -= FO ; Log "" FO FS 0 0 ; Set T Long FN ; Else ; Math FS -= FO ; Log "" FO FS 0 0 ; EndIf ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Catwoman Archive: AVL +-----------------------------------------------+ IDString 0 VOLT ; Get VN Long 0 ; Get FN Long 0 ; Get HS Long 0 ; SavePos ST 0 ; Set J Long 12 ; Math J *= FN ; Math ST += J ; GoTo ST 0 ; For T = 1 To FN ; SavePos FOO 0 ; Get FO Long 0 ; Get D Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Get D Long 0 ; Get FNA String 0 ; Log FNA FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Ascendancy Archive: COB +-----------------------------------------------+ Set DUMMYL Long 50 ; Get FILECNTL Long 0 ; Set DUMMYL Long DUMMYL ; Math DUMMYL *= FILECNTL ; SavePos FILESTART 0 ; SavePos TAILSIZEU 0 ; Math TAILSIZEU += DUMMYL ; Math FILECNTL -= 1 ; Do ; GoTo FILESTART 0 ; GetDString FILENAME 50 0 ; SavePos FILESTART 0 ; GoTo TAILSIZEU 0 ; Get FILEOFF Long 0 ; SavePos TAILSIZEU 0 ; Get FILESIZE Long 0 ; Math FILESIZE -= FILEOFF ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; GoTo FILESTART 0 ; GetDString FILENAME 50 0 ; SavePos FILESTART 0 ; GoTo TAILSIZEU 0 ; Get FILEOFF Long 0 ; GoTo EOF 0 ; SavePos FILESIZE 0 ; Math FILESIZE -= FILEOFF ; Log FILENAME FILEOFF FILESIZE 0 0 ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Need for Speed Hot Persuit 2 Archive: VIV +-----------------------------------------------+ ImpType Standard ; IDString 0 BIGF ; Get D Long 0 ; Get FC Long 0 ; ReverseLong FC ; Get D Long 0 ; SavePos FS 0 ; For T = 1 To FC ; GoTo FS 0 ; SavePos FOO 0 ; Get FO Long 0 ; ReverseLong FO ; SavePos FSO 0 ; Get FSI Long 0 ; ReverseLong FSI ; Get FN String 0 ; SavePos FS 0 ; Log FN FO FSI FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Need for speed Underground 2 Archive: VIV +-----------------------------------------------+ ImpType Standard ; IDString 0 BIG4 ; Get D Long 0 ; Get FC Long 0 ; ReverseLong FC ; Get D Long 0 ; SavePos FS 0 ; For T = 1 To FC ; GoTo FS 0 ; SavePos FOO 0 ; Get FO Long 0 ; ReverseLong FO ; SavePos FSO 0 ; Get FSI Long 0 ; ReverseLong FSI ; Get FN String 0 ; SavePos FS 0 ; Log FN FO FSI FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : You Don't Know Jack Archive: SRF +-----------------------------------------------+ IDString 0 srf1 ; FindLoc DUMMYL String snd 0 ; Math DUMMYL += 4 ; GoTo DUMMYL 0 ; Get FILECNTL Long 0 ; ReverseLong FILECNTL ; SavePos FILESTART 0 ; Do ; GoTo FILESTART 0 ; Get FILENAME Long 0 ; ReverseLong FILENAME ; Get FILEOFF Long 0 ; ReverseLong FILEOFF ; Get FILESIZE Long 0 ; ReverseLong FILESIZE ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Cyclones Archive: HD +-----------------------------------------------+ ImpType StandardTail ; Get FC Int 0 ; SavePos TailOffOff 0 ; Get TailOff Long 0 ; Get TailSize Long 0 ; GoTo TailOff 0 ; SavePos ST 0 ; For T = 1 To FC ; GoTo ST 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Get FNO Long 0 ; SavePos ST 0 ; Math TailOff += FNO ; GoTo TailOff 0 ; Math TailOff -= FNO ; Get FN String 0 ; Log FN FO FS FOO FSO ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Carnivores Archive: CAR +-----------------------------------------------+ GoTo 32 0 ; Get numAnim Long 0 ; Get numSound Long 0 ; Get numPoint Long 0 ; Get numTri Long 0 ; Get picSize Long 0 ; For nT = 1 To numTri ; SavePos FOT 0 ; Set FST Long 64 ; Log "" FOT FST 0 0 ; Math FOT += FST ; GoTo FOT 0 ; Next nT ; For nP = 1 To numPoint ; SavePos FOP 0 ; Set FSP Long 16 ; Log "" FOP FSP 0 0 ; Math FOP += FSP ; GoTo FOP 0 ; Next nP ; SavePos FO 0 ; Log "" FO picSize 0 0 ; Math FO += picSize ; GoTo FO 0 ; For nA = 1 To numAnim ; SavePos FOA 0 ; SavePos JPA 0 ; Get FNA String 0 ; Math JPA += 36 ; GoTo JPA 0 ; Get JPA2 Long 0 ; Math JPA2 *= numPoint ; Math JPA2 *= 6 ; Set FSA Long 40 ; Math FSA += JPA2 ; Log FN FOA FSA 0 0 ; Math FOA += FSA ; GoTo FOA 0 ; Next nA ; For nS = 1 To numSound ; SavePos FOS 0 ; SavePos JPS 0 ; Get FNS String 0 ; Math JPS += 32 ; GoTo JPS 0 ; Get JPS2 Long 0 ; Set FSS Long 36 ; Math FSS += JPS2 ; Log FN FOS FSS 0 0 ; Math FOS += FSS ; GoTo FOS 0 ; Next nS ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Esoteria Archive: 22K +-----------------------------------------------+ IDString 0 cgds ; Get FNum Long 0 ; Math FNum -= 1 ; For T = 1 To FNum ; SavePos FOO 0 ; Get FO Long 0 ; SavePos ST 0 ; Get FS Long 0 ; Math FS -= FO ; Log "" FO FS FOO 0 ; GoTo ST 0 ; Next T ; +-----------------------------------------------+ +-----------------------------------------------+ Game : Esoteria Archive: E3 +-----------------------------------------------+ ImpType Standard ; GoTo 8 0 ; Get FNum Long 0 ; For n = 1 To FNum ; SavePos JP 0 ; Math JP += 64 ; Get FN String 0 ; GoTo JP 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Log FN FO FS FOO FSO ; Next n ; +-----------------------------------------------+