Gabriel Knight 3 BRN: Difference between revisions
imported>Braddabug |
imported>Braddabug |
(No difference)
| |
Revision as of 20:50, 26 December 2005
Choose archive extension:
BRN
- Format Type : Archive
- Endian Order : Little Endian
Format Specifications
char {8} - Header (GK3!Barn)
uint16 {2} - Minor version of GK3 (0)
uint16 {2} - Major version of GK3 (1)
uint16 {2} - Minor version of the header (0)
uint16 {2} - Major version of the header (1)
uint32 {4} - Total size of the .brn file
uint32 {4} - Offset to the section directory
// If the header version is 1.0 then the .brn contains the following stuff:
uint32 {4} - Executable build number
uint32 {4} - Content build number
uint32 {4} - Random number
SYSTEMTIME {16} - .brn build time
SYSTEMTIME {16} - .brn last modified time
char {100} - Copyright ("Copyright " + (byte)169 + " 1999 Sierra Studios. All rights reserved." + nulls to fill)
char {100} - Archive Build Details (null terminated)
// Now begins the section directory
uint32 {4} - Number of directory entries
// Next there's an array of these directory header entry things
uint32 {4} - Type of directory
uint16 {2} - Minor version of the directory
uint16 {2} - Major version of the directory
uint32 {4} - Random number
uint32 {4} - Directory checksum
uint32 {4} - Size of the directory
uint32 {4} - Header section offset (relative to the beginning of the .brn)
uint32 {4} - Directory Offset (relative to the beginning of the .brn)
// Now there should be an array of all the directories. There's two major types, DDir and Data.
uint32 {4} - Data Header (ataD)
uint16 {2} - null
uint16 {2} - Unknown (1)
uint32 {4} - Unknown
uint32 {4} - null
uint32 {4} - Unknown
uint32 {4} - End Of Directory Offset [-5]
uint32 {4} - End Of Directory Offset [-5]
byte {40} - null
char {4} - Core Header (EROC)
char {40} - Archive Description ("Gabriel Knight III Demo" + nulls to fill)
uint32 {4} - Unknown
// ENTRY DIRECTORY
- // for each file
- uint32 {4} - Offset To File Entry (relative to XXX)
- uint32 {4} - Offset To File Entry (relative to XXX)
- uint32 {4} - Unknown (1)
- uint32 {4} - Unknown (1)
// DIRECTORY
- // for each file
- uint32 {4} - File Length
- uint32 {4} - File Offset (relative to the start of the file data)
- uint32 {4} - Hash?
- byte {3} - Unknown
- byte {1} - Filename Length (not including null)
- char {X} - Filename
- byte {1} - null Filename Terminator
- uint32 {4} - File Length
- char {X} - null Padding to the first file offset (multiple of 4096 bytes)
// FILE DATA
- // for each file
- byte {X} - File Data
- byte {X} - Padding
- byte {X} - File Data
MultiEx BMS
Not written yet
Supported Programs