Difference between revisions of "BRRES (File Format)"
(→Others) |
|||
Line 1: | Line 1: | ||
'''BRRES Files''' are used to make objects. They contain models, textures and animations | '''BRRES Files''' are used to make objects. They contain models, textures and animations | ||
− | + | = Format = | |
− | |||
− | |||
BRRES Files are similar to [[SZS (File Format)|SZS Files]]. They contain multiple sections, sometimes refered to as files. The format has been used in many games by Nintendo. This article describes [[Mario Kart Wii]] BRRES files. | BRRES Files are similar to [[SZS (File Format)|SZS Files]]. They contain multiple sections, sometimes refered to as files. The format has been used in many games by Nintendo. This article describes [[Mario Kart Wii]] BRRES files. | ||
+ | |||
== Header == | == Header == | ||
+ | |||
The file begins with the header. It is a 0x10 structure. It is as follows: | The file begins with the header. It is a 0x10 structure. It is as follows: | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 19: | Line 19: | ||
|- | |- | ||
| 0x04 | | 0x04 | ||
− | | | + | | u16 |
| Byte order mark. 0xFEFF is the big endian byte order, 0xFFFE is little endian. | | Byte order mark. 0xFEFF is the big endian byte order, 0xFFFE is little endian. | ||
|- | |- | ||
| 0x06 | | 0x06 | ||
− | | | + | | u16 |
| Padding. | | Padding. | ||
|- | |- | ||
| 0x08 | | 0x08 | ||
− | | | + | | u32 |
| Length of the file in bytes. | | Length of the file in bytes. | ||
|- | |- | ||
| 0x0C | | 0x0C | ||
− | | | + | | u16 |
| Offset to root section relative to start. (0x0010) | | Offset to root section relative to start. (0x0010) | ||
|- | |- | ||
| 0x0E | | 0x0E | ||
− | | | + | | u16 |
| Number of sections (including root). | | Number of sections (including root). | ||
|- | |- | ||
Line 42: | Line 42: | ||
== Sections == | == Sections == | ||
=== Root === | === Root === | ||
+ | |||
The root section of the brres file contains all pointers to files and filenames | The root section of the brres file contains all pointers to files and filenames | ||
The header of the root is 0x8 in length. | The header of the root is 0x8 in length. | ||
Line 55: | Line 56: | ||
|- | |- | ||
| 0x04 | | 0x04 | ||
− | | | + | | u32 |
| Length of section in bytes. | | Length of section in bytes. | ||
|- | |- | ||
|} | |} | ||
+ | |||
This header is then followed by a [[BRRES Index Group (File Format)|BRRES Index Group]]. The entries in this group are the folders of this brres file, and point to more [[BRRES Index Group (File Format)|BRRES Index Group]]s within the root section. These then point to the actual sections of the BRRES file. | This header is then followed by a [[BRRES Index Group (File Format)|BRRES Index Group]]. The entries in this group are the folders of this brres file, and point to more [[BRRES Index Group (File Format)|BRRES Index Group]]s within the root section. These then point to the actual sections of the BRRES file. | ||
− | ===Others=== | + | |
+ | === Others === | ||
+ | |||
Other BRRES sections tend to be within specific folders, as set out by the root section. The identifiers of these sections, as well as the normal folder and a description are listed below. | Other BRRES sections tend to be within specific folders, as set out by the root section. The identifiers of these sections, as well as the normal folder and a description are listed below. | ||
BRRES Files contain only a few file formats, they are: | BRRES Files contain only a few file formats, they are: | ||
Line 132: | Line 136: | ||
== String Table == | == String Table == | ||
+ | |||
At the end of the BRRES file is a string table. This is a series of 4-byte length prefixed strings, padded to start at four byte offsets. Various sections point to this table, which is how all text in BRRES files is stored. | At the end of the BRRES file is a string table. This is a series of 4-byte length prefixed strings, padded to start at four byte offsets. Various sections point to this table, which is how all text in BRRES files is stored. | ||
+ | |||
+ | = Tools = | ||
+ | |||
+ | The following tools can handle SZS files: | ||
+ | * [[SZS Modifier]], by [[MrBean35000vr]] and [[Chadderz]] | ||
+ | * [[CTools Pack]], by [[MrBean35000vr]] and [[Chadderz]] | ||
+ | * [[Wiimms SZS Tools]], by [[Wiimm]] | ||
+ | |||
+ | [[Wiimms SZS Tools]] are able to extract all files of a BRRES file. They are also able to create a complete new BRRES file from scratch by copying the content of a local directory structure. | ||
+ | |||
[[Category: File Format]] | [[Category: File Format]] |
Revision as of 16:32, 21 April 2011
BRRES Files are used to make objects. They contain models, textures and animations
Format
BRRES Files are similar to SZS Files. They contain multiple sections, sometimes refered to as files. The format has been used in many games by Nintendo. This article describes Mario Kart Wii BRRES files.
Header
The file begins with the header. It is a 0x10 structure. It is as follows:
Offset | Type | Description |
---|---|---|
0x00 | char[4] | 'bres' in ASCII; File identifier. |
0x04 | u16 | Byte order mark. 0xFEFF is the big endian byte order, 0xFFFE is little endian. |
0x06 | u16 | Padding. |
0x08 | u32 | Length of the file in bytes. |
0x0C | u16 | Offset to root section relative to start. (0x0010) |
0x0E | u16 | Number of sections (including root). |
Sections
Root
The root section of the brres file contains all pointers to files and filenames The header of the root is 0x8 in length.
Offset | Type | Description |
---|---|---|
0x00 | char[4] | 'root' in ASCII |
0x04 | u32 | Length of section in bytes. |
This header is then followed by a BRRES Index Group. The entries in this group are the folders of this brres file, and point to more BRRES Index Groups within the root section. These then point to the actual sections of the BRRES file.
Others
Other BRRES sections tend to be within specific folders, as set out by the root section. The identifiers of these sections, as well as the normal folder and a description are listed below. BRRES Files contain only a few file formats, they are:
Identifier | Folder | Description |
---|---|---|
MDL0 | 3DModels(NW4R) | Model files. |
TEX0 | Textures(NW4R) | Texture files. |
SRT0 | AnmTexSrt(NW4R) | Texture movement animations. |
CHR0 | AnmChr(NW4R) | Model movement animations. |
PAT0 | AnmTexPat(NW4R) | Texture swapping animations. |
CLR0 | AnmClr(NW4R) | Colour changing animations. |
SHP0 | AnmShp(NW4R) | ? |
SCN0 | AnmScn(NW4R) | ? |
Not seen | Palettes(NW4R) | Known to exist from main.dol |
Not seen | AnmVis(NW4R) | Known to exist from main.dol |
Not seen | LightSet(NW4R) | Known to exist from main.dol |
Not seen | AmbLights(NW4R) | Known to exist from main.dol |
Not seen | Lights(NW4R) | Known to exist from main.dol |
Not seen | Fogs(NW4R) | Known to exist from main.dol |
Not seen | Cameras(NW4R) | Known to exist from main.dol |
String Table
At the end of the BRRES file is a string table. This is a series of 4-byte length prefixed strings, padded to start at four byte offsets. Various sections point to this table, which is how all text in BRRES files is stored.
Tools
The following tools can handle SZS files:
- SZS Modifier, by MrBean35000vr and Chadderz
- CTools Pack, by MrBean35000vr and Chadderz
- Wiimms SZS Tools, by Wiimm
Wiimms SZS Tools are able to extract all files of a BRRES file. They are also able to create a complete new BRRES file from scratch by copying the content of a local directory structure.