FFXII .vbf format
Posted: Fri Feb 02, 2018 7:30 pm
Anyone mind looking into the .vbf format Final Fantasy XII: The Zodiac Age (Steam) uses for it's data? None of the tools for .vbf's from FFX|X-2 work.
Thanks!
Thanks!
Code: Select all
FF12 Zodiac Age (PC) vbf tool v1.0 by ffgriever
Usage: ff12-vbf option input output
Options:
-r replace files in output vbf with files in input dir
(output defaults to {input}.bin)
-u unpack vbf into output dir
(output defaults to {input}_dir)
Code: Select all
ff12-vbf -r "D:\ff12 hd\pliki_gotowe" FFXII_TZA.vbf
Reading file structure...
Reading directory structure
gamedata/d3d11/artdata/font/us/fontex_subtitle.dds.phyre (5546.47kB)
ps2data/plan_master/us/plan_map/naf_a/naf_a01/global/naf_a01.ebp (50.62kB)
Creating indexes
vbf_extra.bin not found. Creating and moving files around.
Freed 172803635 bytes, vbf_extra.bin written at 0x74d4e1e9e
Patching gamedata/d3d11/artdata/font/us/fontex_subtitle.dds.phyre
Not enough space, file has been relocated to 74d661e9e...
Patching ps2data/plan_master/us/plan_map/naf_a/naf_a01/global/naf_a01.ebp
Not enough space, file has been relocated to 74d68d4ea...
Done!
Code: Select all
ff12-vbf -r "d:\ff12 hd\pliki_gotowe" FFXII_TZA.vbf
Reading file structure...
Reading directory structure
gamedata/d3d11/artdata/font/us/fontex_subtitle.dds.phyre (5546.47kB)
ps2data/plan_master/us/plan_map/naf_a/naf_a01/global/naf_a01.ebp (50.62kB)
Creating indexes
Patching gamedata/d3d11/artdata/font/us/fontex_subtitle.dds.phyre
Patching ps2data/plan_master/us/plan_map/naf_a/naf_a01/global/naf_a01.ebp
Done!
Code: Select all
├───gamedata
│ └───d3d11
│ └───artdata
│ └───font
│ └───us
│ fontex_subtitle.dds.phyre
│
└───ps2data
└───plan_master
└───us
└───plan_map
└───naf_a
└───naf_a01
└───global
naf_a01.ebp
If the file format is the same, it should work. And since FFX tools work just fine with FFXII, I'd say just give it a try.Beyond69 wrote:Great work, is it possible to make a version for FFX HD ?
I need help with FileSizeTable_US.fstffgriever wrote:A quick find that I made when working on a Polish translation. The files are properly inserted into the VBF, but if the size of a file is greater, you also have to modify an appropriate entry in FileSizeTable_US.fst (or any other of these if necessary). Otherwise, depending on situation, the excess memory used might be overwritten by another file or the game will stop loading file at block boundary. It's actually very surprising so many modifications DO work without changing sizes (pure luck, I guess).
Code: Select all
ps2data/plan_master/us/event/byu_a/byu_a0100/byu_a0100.ebp;0x281f0
ps2data/plan_master/us/event/byu_a/byu_a0400/byu_a0400.ebp;0x28200
ps2data/plan_master/us/event/byu_a/byu_a0480/byu_a0480.ebp;0x29d10
ps2data/plan_master/us/event/byu_a/byu_a0481/byu_a0481.ebp;0x29e50
ps2data/plan_master/us/event/byu_a/byu_a1880/byu_a1880.ebp;0x28190
Shifting all the data by 10MB would mean shifting 30GB+ of data... That could take over 10 minutes on a typical HDD, so it's a big no.EcheloCross wrote:@ ffgriever, shift all the data +10mb, re-write the entire toc. This makes space for more entries in the compressed chunks table. Then you can inject any file to the end regardless of it being larger than the original file. It only takes a one time re-write of the archive. After that all injects are instant and you don't have to worry about the file size or if it has more 64kb chunks than the original.