Opening.bnr

From WiiBrew
Jump to navigation Jump to search

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.

A tool for parsing the opening.bnr and split it into parts for further analysis is available at parse-opening.c.

Description

Opening.bnr consists of two parts, a 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.

After the header follows an U8 archive. This is an archive consisting of the following contents:

/meta/
/meta/banner.bin
/meta/icon.bin
/meta/sound.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. sound.bin has an IMD5 header, and can be of at least 3 formats, BNS (which has INFO and DATA sections), LZ77 compressed RIFF (wav), and uncompressed RIFF.

More information on LZ77 compression can be found on Wikipedia.

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

The TPL files are textures. They can be read by the tplx program from the gcube library. gcube can be found here: http://gcube.exemu.net/, however, the download link to the source is broken. A mirror of version 0.4 (which is, strangely enough, a newer version than what's on the homepage...) is available here: http://download.chinaunix.net/down.php?id=6661&ResourceID=3477&site=1. The format is also described in YAGCD at http://pabut.homeip.net:8000/yagcd/chap14.html#sec14.4.

The blyt files seem to be some kind of animation script, which references the files in timg.