OAF
Used in the following game(s):
- South Park: The Stick of Truth
Structure
| Header | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Size | Content | Description | ||||||||||||
| 12Bytes | Unknown | Appears to be same data on all archives | ||||||||||||
| 4Bytes | Offset | Start offset for file list | ||||||||||||
| 4Bytes | Unknown | Padding or part of 8 byte number | ||||||||||||
| 4Bytes | File Count | Number of Files inside. | ||||||||||||
| Index Entry | ||||||||||||||
| Size | Content | Description | ||||||||||||
| 4Bytes | Unknown | |||||||||||||
| 4Bytes | Offset | File location | ||||||||||||
| 4Bytes | Unknown | Padding or part of 8 byte number | ||||||||||||
| 4Bytes | File Size | Size of file(?) | ||||||||||||
| 4Bytes | Unknown | Padding or part of 8 byte number | ||||||||||||
NOTE! Number might be 8 bytes rather than 4? 64 bit int?
Filenames are null terminated/sperated by a 0x00
Research
Different from the ones I'm used to. A quick look doesn't show much of a normal index but file names may be stored at the end of the file. This could be a bit tricky but only two ways I can think of this working is it stores the start offset of the file name for a specific entry or it loads all file names into memory.