Since the game is playable on CFW now, let's discuss about it here instead of the Graces thread. I'll now try to collect what we know already.
First, the files:
All the game files are packed into an archive, with separate header and content file.
FILEHEADER.TOFHDB is the main header, it consists of two parts. First, there is a Hash Array Table, with Key and Value field. After that comes the File Array Table, with FileSize, CompressSize, Offset (in content file), Hash value (more about this later), a 6-letter extension then an unknown value that is usually 1536.
FILEHEADER.TOFHDB.debug is the same header file, but in XML.
TLFILE.TLDAT is the container of the actual files. This is a simple data file, the files are one after another.
Now about the structure:
As I said, the Hash Array consists of Key and Value pairs. These are connected to the File record's number (lets call it ID) and its Hash field. Hash.Key equals File.Hash and Hash.Value equals File.ID. See the attached picture. There are less hash record than actual files, this might mean there are leftover or unused files too.
About the actual files:
There are about 150 000 files, which is a lot, because there is no folder structure. Graces used a lot of additional packing, so it looked less but if we would extract all of its files there would be many files too.
But, the files aren't in random order, so it is possible to guess out file groups. For example, after counting the number of different extensions, you can see what types have the same number. This means file pairs, like TOTEX, TOSHP and SDB. See the picture. Then there are patterns too. For example at the end of the file TOANMB,TOHRCB,TOMDLB,TOSHPB,TOSHPP,TOSHPS follow each other.
The game uses unicode encoded japanese text, which is in SDBJPN files (and EBOOT). The structure looks the same as the skit script files of Graces, although I haven't look very deeply into them. Sounds and voices are in NUB files as usual, and there are SE3, SE4 and even WAV files too.
Anyway, here's an extractor, it can extract all files but you can set extension filters too. there will be a repack function later, so good modding until then.