Well, that's what I was thinking. But what about other multi-disc PSX games? Like Valkyrie Profile, or Parasite Eve?
FF7 FF8 and FF9 use LBA tables to reference files and data. In FF7 this is encoded in \FEILD\FIELD.bin
The reason for this is it was better to do that than use the standard C/C++ libraries. Speed, access, and concurency could be supported by the low level iso9660 access functions much better than otherwise.
The big issue if you modify a chunk of data is this index table may need to be adjusted (if the file increased enough to offset the other files).
I believe sqaure had a tool that cimpiled field.bin from the file set. It's been a few months since I looked at this type of thing. I had restarted a iso indexing program, but RL got in the way (sad I know).
The field dialog/script is in the DAT files
. In the field directory The Mode 2 disks used by the PSX were a bit annoying (UDF is more obvious about locations etc.) The importan thing too keep in mind is that although thier is a directory structure in FF7 it's NOT USED (except to load the game). What is used is field.bin's LBE index table. The script likely uses enumerated values in the script for loading and accessing data. That is what I would do. The script probably looked (and read) a LOT better than the script code does dumped that is for certain!
I worked on FF8 and FF9 for a bit as well. Too much intrusion by everything else these days. (sigh)