Slayer Engine PAK
Back to index | Edit this page
PAK
- Format Type : Archive
- Endian Order : Little Endian
Format Specifications (Buffy the Vampire Slayer)
// Buffy the Vampire Slayer (XBOX)
// PAK file format
// header
4 bytes (uint32) - unknown
4 bytes (uint32) - names block size
4 bytes - nulls
4 bytes (uint32) - names block size (repeated?)
4 bytes (uint32) - align value
4 bytes (uint32) - number of files
number_of_files *
{
4 byte (uint32) - file name relative offset
}
number_of_files *
{
x byte (char) - file name // e.g. "vorpalwall01_f1"
}
// some array
4 bytes (uint32) - unknown // 8192
4 bytes (uint32) - number of entries
num_of_entries *
{
2 bytes (uint16) - some entry
}
// directory array
4 bytes (uint32) - unknown
4 bytes (uint32) - unknown
4 bytes (uint32) - number of entries
num_of_entries *
{
36 bytes (char) - directory name // e.g. "meshes" or "genericnpc"
}
// unknown structure
4 bytes - nulls
4 bytes (uint32) - length of the name // 3
3 bytes (char) - name // "mtx"
4 bytes (uint32) - unknown // 8
4 bytes (uint32) - number of the names
num_of_names *
{
4 bytes (uint32) - name length
x bytes (char) - name // e.g. "meshes" or "levels"
}
4 bytes (uint32) - unknown // 512
// TODO
x bytes - unknown
x bytes - file data
Format Specifications (The Da Vinci Code)
// The Da Vinci Code
// PAK file format
// extra header
// Note: This header does not occur in Buffy the Vampire Slayer
2 bytes (uint16) - magic? // 72
4 bytes (uint32) - unknown // 10
18 bytes - nulls
// header
4 bytes (uint32) - nulls
4 bytes (uint32) - names block size
4 bytes - nulls
4 bytes (uint32) - names block size (repeated?)
4 bytes (uint32) - align value
4 bytes (uint32) - number of files
number_of_files *
{
4 byte (uint32) - file name relative offset
}
number_of_files *
{
x byte (char) - file name // e.g. "cinematic_dialog"
}
// TODO
x bytes - unknown
x bytes - file data
Format Specifications (Silent Hill: Homecoming)
// Silent Hill: Homecoming
// PAK file format
// header
4 bytes (char) - magic // "PAK_"
4 bytes (uint32) - version? // 1
4 bytes (uint32) - number of files
4 bytes - nulls
// info
num_of_files *
{
64 bytes (char) - file name // e.g. "stdfont" or "blackcube"
4 bytes (uint32) - index flag // e.g. 257
4 bytes (time_t) - some timestamp
4 bytes (uint32) - file offset
4 bytes (uint32) - file size
2 bytes (uint16) - file index
2 bytes (uint16) - unknown
4 bytes (uint32) - unknown
}
// data
num_of_files *
{
x bytes - file data
}
MultiEx BMS Script
Not written yet.
QuickBMS Script
Notes and Comments
- File format is used by Slayer Engine developed by The Collective (now Double Helix Games) company.
- It seems that format has evolved over the years and there are some differences in specification for games using Slayer Engine.
- Files inside PAK files may be compressed with LZO compression (Silent Hill: Homecoming).
Games
List of games using the same file format:
- The Da Vinci Code
- Indiana Jones and the Emperor's Tomb
- Buffy The Vampire Slayer (XBOX)
- Silent Hill: Homecoming
Compatible Programs
See Also