open FDSE "slus_206.98"
open FDSE "all3.bin" 1
set INFO_OFF long 0x4e00f0
set NAME_OFF long 0x50f160
for i = 0
goto INFO_OFF
get OFFSET long
if OFFSET == 0
if i != 0
cleanexit
endif
endif
get FOLDER long
get SIZE long
savepos INFO_OFF
math OFFSET *= 0x800
goto NAME_OFF
do
get NAME string
padding 8
while NAME == ""
savepos NAME_OFF
log NAME OFFSET SIZE 1
next i
# Game:SD Gundam Force Showdown! (PS2)
# Original by Aluigi
# Modified by Fatduck Jul2011
# script for QuickBMS http://aluigi.org/papers.htm#quickbms
#
#resource table @ 0x4E00F0
#name table @ 0x50F160
#directory table @4F0DD0~4F2290 decending
#total RES 5736 end @ 0x4F0DC4
open FDSE "slus_206.98"
open FDSE "all3.bin" 1
set INFO_OFF long 0x4E00F0
set NAME_DIFF long 0xFFF80
set DIR_OFF long 0x4F2288
goto DIR_OFF
get OFSDIRIDX long
get OFSDIRNAME long
math OFSDIRIDX -= NAME_DIFF
math OFSDIRNAME -= NAME_DIFF
goto OFSDIRIDX
getdstring DIRIDX 5
goto OFSDIRNAME
get DIRNAME string
math DIR_OFF -= 8
for i = 0 #to 100
goto INFO_OFF
get OFSRES long
if OFSRES == 0
if i != 0
cleanexit
endif
endif
get LENRES long
get OFSNAME long
savepos INFO_OFF
math OFSRES *= 0x800
math OFSNAME -= NAME_DIFF
goto OFSNAME
getdstring THIS_IDX 5
get RESNAME string
if THIS_IDX != DIRIDX
set OFSDIR DIR_OFF
do
goto OFSDIR
get OFSDIRIDX long
get OFSDIRNAME long
savepos OFSDIR
math OFSDIR -= 16
math OFSDIRIDX -= NAME_DIFF
goto OFSDIRIDX
getdstring DIRIDX 5
math OFSDIRNAME -= NAME_DIFF
goto OFSDIRNAME
get DIRNAME string
while THIS_IDX != DIRIDX
endif
set OUTNAME DIRNAME
string OUTNAME += RESNAME
log OUTNAME OFSRES LENRES 1
next i
No more Fatduck, no more FatImporter, Byebye everyone!