Difference between revisions of "Opening.bnr"
m (Changing brlan and brlyt to link to dasda's Wii Animations page.) |
(Added Marcan's LZ77 code) |
||
Line 62: | Line 62: | ||
{{ Table/Header | Name | Language | Author | Description }} | {{ Table/Header | Name | Language | Author | Description }} | ||
{{ Table/Row | [[parse-opening.c]] | C | [[User:magicus|magicus]] | Extracts the contents of the opening.bnr file to a file structure. }} | {{ Table/Row | [[parse-opening.c]] | C | [[User:magicus|magicus]] | Extracts the contents of the opening.bnr file to a file structure. }} | ||
+ | {{ Table/Row | [[LZ77]] | Python | [[User:Marcan|Marcan]] | Decompresses LZ77 files. }} | ||
{{ Table/Row | [http://pastebin.com/f30596571 LZ77Stream.cs] | C# | [[User:Atacama|Atacama]] | C# Stream object for decompressing LZ77 Files. }} | {{ Table/Row | [http://pastebin.com/f30596571 LZ77Stream.cs] | C# | [[User:Atacama|Atacama]] | C# Stream object for decompressing LZ77 Files. }} | ||
{{ Table/Row | [http://pastebin.com/f332ae5e4 BNRSound.cs] | C# | [[User:Atacama|Atacama]] | C# Class which processes sound.bin so it can be read as PCM data. }} | {{ Table/Row | [http://pastebin.com/f332ae5e4 BNRSound.cs] | C# | [[User:Atacama|Atacama]] | C# Class which processes sound.bin so it can be read as PCM data. }} |
Revision as of 07:12, 15 July 2008
Opening.bnr is a file related to Wii homebrew development. The file is one of the first read by the Wii when a new DVD is inserted, and it is used to display the banner (the channel animation). Even though it shares the name with the file on the GameCube, the content of the file has no resemblance to the GC Opening.bnr file.
Description
Opening.bnr consists of two parts, an IMET header which is (almost) identical to the latter of part A (starting from Zeroes_1) in Content.bin (see Content.bin file structure). However, the last 16 bytes contain some randomly-looking bytes, most likely an MD5 sum.
Opening.bnr is also stored in the console specific encrypted area of content.bin (a copy of icon.bin is in the SD encrypted area). For some of the channels a generic opening.bnr (which doesn't resemble the actual banner) is stored in the NAND under the \META tree as TITLE.MET. Their purpose is unknown. The proper ones can be found in the unencrypted NAND as one of the .app files, however currently there doesn't appear to be any logic to which one is which. Also some of those the offset to the IMET header is at 0x80 instead of 0x40.
After the header follows an U8 archive. This is an archive consisting of the following contents:
Template:Table
Template:Table/Header
Template:Table/Row
Template:Table/Row
Template:Table/Row
Template:Table/Row
|}
banner.bin and icon.bin
The banner.bin and icon.bin files are LZ77 compressed U8 archives themselves, each with an IMD5 header, containing the MD5 of the file.
More information on LZ77 compression can be found on Wikipedia. Example C# source is available in the Tools and Example Source section.
The banner.bin and icon.bin U8 archives have a file format like this:
/arc/ /arc/anim/ /arc/anim/*.brlan /arc/blyt/ /arc/blyt/*.brlyt /arc/timg/ /arc/timg/*.tpl
TPL Files
The TPL files are textures. They can be read by the tplx program from the gcube library.
The format is also described in YAGCD at http://pabut.homeip.net:8000/yagcd/chap14.html#sec14.4.
brlan Files
brlan files are described in the Wii Animations section.
brlyt Files (Layout)
brlyt files are described in the Wii Animations section.
sound.bin
sound.bin has an IMD5 header, currently 3 formats have been discovered.
Template:Table
Template:Table/Header
Template:Table/Row
Template:Table/Row
Template:Table/Row
|}
Tools and Example Source
Template:Table Template:Table/Header Template:Table/Row Template:Table/Row Template:Table/Row Template:Table/Row Template:Table/Row Template:Table/Row |}