Wii U8 Archive

The Wii U8 archive is an archive format used in in certain games such as New Super Mario Bros. Wii and Mario Kart Wii as,  ,   or   files. It contains no compression or encryption by itself; it is just a way to attach files in a directory structure together. In New Super Mario Bros. Wii,  files are not compressed, while in Mario Kart Wii, all U8 files are compressed using the YAZ0 algorithm and stored as   files.

= General Information =

Header
This is a typical U8 file header:

struct Wii_U8_archive_header { u32 tag; // Magic 0x55AA382D "U.8-" u32 rootnode_offset; // offset to root_node, always 0x20. u32 header_size; // size of header from root_node to end of string table. u32 data_offset; // offset to data -- this is rootnode_offset + header_size, aligned to 0x40. u8 zeroes[16]; };

Nodes
After the header comes a series of file nodes. The first one is the root node; it determines how many nodes there are in total.

struct Wii_U8_node { u16 type; // u8  u16 name_offset; // u24 u32 data_offset; u32 size; };

String Table
After the file nodes comes the string table, which extends to the rest of the header. The  gives the offset from the start of the string table to the start of this file's name. This is used for both files and directories.

For normal files, type is  . In this case the  gives the address to where the data for this file is. This is given as an absolute offset from the start of the U8 header. The size is the size of the file.

For directories, type is  . In this case, the  has no meaning. (It seems to be 0 or 1; it might signify the level of recursion even though this is redundant. In New Super Mario Bros. Wii U8 files, it specifies the parent directory of the current directory, with the root directory specifying itself. The size field is used to indicate which files are included in this directory. The value given is the node number of the last file included, counting the root node as node number 1.

1: root 2: "meta" 3: "course" 4: "course1.bin" 5: "course1.bgdatL0.bin" 6: "course1.bgdatL1.bin" 7: "course1.bgdatL2.bin"
 * A typical level .arc file (New Super Mario Bros. Wii)

,, and   are directories.

File Data
The file data is dependent on the related file type. See the other file type descriptions for more details.

= Tools = Programs to open Wii U8 Archives:


 * Reggie Level Editor (only for level .arc files)
 * Puzzle Tileset Editor (only for tileset .arc files)
 * BrawlBox/BrawlCrate (multi-purpose)
 * CTools (tools collection; use SZS Tool for .arc files)
 * Wexo's Toolbox (multi-purpose)
 * Wiims SZS Tools (multi-purpose; command-line)