Since I couldn't find any information of this format on the Internet, I've decided to try figuring it out by myself, and share my results.
Here is what I've figured out so far:
Code: Select all
header
offset length value
---------------------
0 12 Magic number - always "AFS_VOL_200\0" (0x4146535F564F4C5F32303000)
12 4 Number of files
16 4 Offset of file table
20 20 all zeroes
file entry
offset length value
---------------------
0 2 Always "IX" (0x4958)
2 2 Index type - is 0x0002 if the entry is a directory - is 0x0001 if the entry is a file
4 4 File offset - is 0xcdcdcdcd if the entry is a directory
8 4 File size - is 0xcdcdcdcd if the entry is a directory
12 4 Is also the file size? don't know why.
16 20 File name in ASCII
If the file name starts with @ it points to the parent directory.
i.e. If you have three entries, one is named "files", the second is named "@0_images", and the third is named "@1_photo.jpg", the full structure of the third entry is "files\images\photo.jpg"
If you don't want to download files, I've pasted the source code here: http://pastebin.com/uvttWqJc
Sorry, it's C# only - I have yet to learn QuickBMS.
What I'd like to know: Have I missed something - and are there other games using this archive format?

