Yes, LogType=2 is for logging to a file.
The TOC of a CPK stores file offsets in a quasi-absolute way. You have to add 2048 (=size of a CPK header block) to the offset given by the TOC to get the absolute address. Unless the CPK version is 8 or higher, then you have to add the "ContentOffset" value given by the CPK header.
I just found a bug in my TOC routine, the directory name got corrupted somehow, that's why the game can't find the AAX files in the CPK. It's interesting that it actually tries to fall back to external files then! Don't tell me I could have spared myself all the work on CPKREDIR and just pass the game an empty TOC to make it look for external files...
Oh well, even if that were true, you wouldn't have the arbitrary file location and cascading features. It was a good programming exercise anyway.
Given the game crashes when the AAX files are on a different sampling sometimes, perhaps they use some math with that to find the exact position at which they should be reading.
I was thinking the same at first, but now I don't think that's the case.
Anyway, I suspect the CSB files might be responsible for those crashes and other issues. They obviously contain control information for the respective sound CPKs.
I think CSB stands for "cue sheet binary". It's just another use of CRI's UTF (universal table format?).
Here's a screenshot of SNG01_GHZ.csb in an experimental UTF reader that I made, a byproduct of CPKREDIR:
If I find the time, I might release a full-blown UTF/CSB editor one day.
This post has been edited by Korama: 12 May 2012 - 05:07 PM