Gabriel Knight 3 BRN: Difference between revisions
Jump to navigation
Jump to search
imported>Braddabug |
imported>WATTO |
||
| Line 17: | Line 17: | ||
uint16 {2} - Minor version of the header <font color="purple">(0)</font> <br> | uint16 {2} - Minor version of the header <font color="purple">(0)</font> <br> | ||
uint16 {2} - Major version of the header <font color="purple">(1)</font> <br> | uint16 {2} - Major version of the header <font color="purple">(1)</font> <br> | ||
uint32 {4} - Total size of the | uint32 {4} - Total size of the archive <br> | ||
uint32 {4} - Offset to the section directory <br> | uint32 {4} - Offset to the section directory <br> | ||
<br> | |||
<font color="blue"> ''' // If the header version is 1.0 | <font color="blue"> ''' // If the header version is 1.0'''</font> <br> | ||
: uint32 {4} - Executable build number <br> | |||
uint32 {4} - Executable build number <br> | : uint32 {4} - Content build number <br> | ||
uint32 {4} - Content build number <br> | : uint32 {4} - Random number <br> | ||
uint32 {4} - Random number <br> | : SYSTEMTIME {16} - Archive build time <br> | ||
SYSTEMTIME {16} - | : SYSTEMTIME {16} - Archive last modified time <br> | ||
SYSTEMTIME {16} - | : char {100} - Copyright <font color="purple">("Copyright " + (byte)169 + " 1999 Sierra Studios. All rights reserved." + nulls to fill)</font> <br> | ||
char {100} - Copyright <font color="purple">("Copyright " + | : char {100} - Archive Build Details <font color="purple">(null terminated)</font> <br> | ||
char {100} - Archive Build Details <font color="purple">(null terminated)</font> <br> | <br> | ||
<font color="blue"> '''// SECTION DIRECTORY'''</font> <br> | |||
<font color="blue"> '''// | : uint32 {4} - Number of Sections <br> | ||
<br> | |||
uint32 {4} - Number of | : <font color="blue"> '''// for each section'''</font> <br> | ||
:: uint32 {4} - Type of directory <br> | |||
<font color="blue"> '''// | :: uint16 {2} - Minor version of the directory <br> | ||
:: uint16 {2} - Major version of the directory <br> | |||
uint32 {4} - Type of directory <br> | :: uint32 {4} - Random number <br> | ||
uint16 {2} - Minor version of the directory <br> | :: uint32 {4} - Directory checksum <br> | ||
uint16 {2} - Major version of the directory <br> | :: uint32 {4} - Size of the directory <br> | ||
uint32 {4} - Random number <br> | :: uint32 {4} - Header Section Offset<br> | ||
uint32 {4} - Directory checksum <br> | :: uint32 {4} - Directory Offset<br> | ||
uint32 {4} - Size of the directory <br> | <br> | ||
uint32 {4} - Header | <font color="blue"> '''// HEADER SECTIONS DIRECTORY'''</font> <br> | ||
uint32 {4} - Directory Offset | : <font color="blue"> '''// for each section (There's two major types, DDir and Data)'''</font> <br> | ||
:: uint32 {4} - Data Header <font color="purple">(ataD)</font> <br> | |||
<font color="blue"> '''// | :: uint16 {2} - null <br> | ||
:: uint16 {2} - <font color="red"> '' Unknown <font color="purple">(1)</font> '' </font> <br> | |||
uint32 {4} - Data Header <font color="purple">(ataD)</font> <br> | :: uint32 {4} - <font color="red"> '' Unknown '' </font> <br> | ||
uint16 {2} - null <br> | :: uint32 {4} - null <br> | ||
uint16 {2} - <font color="red"> '' Unknown <font color="purple">(1)</font> '' </font> <br> | :: uint32 {4} - <font color="red"> '' Unknown '' </font> <br> | ||
uint32 {4} - <font color="red"> '' Unknown '' </font> <br> | :: uint32 {4} - End Of Directory Offset <font color="darkgreen">[-5]</font> <br> | ||
uint32 {4} - null <br> | :: uint32 {4} - End Of Directory Offset <font color="darkgreen">[-5]</font> <br> | ||
uint32 {4} - <font color="red"> '' Unknown '' </font> <br> | :: byte {40} - null <br> | ||
uint32 {4} - End Of Directory Offset <font color="darkgreen">[-5]</font> <br> | |||
uint32 {4} - End Of Directory Offset <font color="darkgreen">[-5]</font> <br> | |||
byte {40} - null <br> | |||
<br> | <br> | ||
char {4} - Core Header <font color="purple">(EROC)</font> <br> | char {4} - Core Header <font color="purple">(EROC)</font> <br> | ||
Revision as of 23:51, 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 archive
uint32 {4} - Offset to the section directory
// If the header version is 1.0
- uint32 {4} - Executable build number
- uint32 {4} - Content build number
- uint32 {4} - Random number
- SYSTEMTIME {16} - Archive build time
- SYSTEMTIME {16} - Archive 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)
// SECTION DIRECTORY
- uint32 {4} - Number of Sections
- // for each section
- 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
- uint32 {4} - Directory Offset
- uint32 {4} - Type of directory
// HEADER SECTIONS DIRECTORY
- // for each section (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
- uint32 {4} - Data Header (ataD)
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