Changes

2,188 bytes added ,  05:22, 13 October 2009
←Created page with 'Stores strings used in games for localization. Can be found in a Wii Fit and Wii Fit Plus disc. The file structure is composed by a header and sections. The essential section...'
Stores strings used in games for localization. Can be found in a Wii Fit and Wii Fit Plus disc.

The file structure is composed by a header and sections. The essential sections are INF and DAT. The MID section can also be found on Wii Fit Plus disc, but the meaning is unknown.

The file is not completely known.

The endianess is Big Endian.

=== BMG header ===

The header is 32 bytes long.
Here's a description of it:

{| class="wikitable"
|-
! Offset
! Size
! Description
|-
| 0x0000
| 4
| "MESG" (0x4D455347)
|-
| 0x0004
| 4
| "bmg1" (0x626D6731)
|-
| 0x0008
| 4
| File size
|-
| 0x000C
| 4
| Number of sections? Version? (Wii Fit: 0x00000002, Wii Fit Plus: 0x00000003)
|-
| 0x0010
| 4
| Unknown (0x02000000)
|-
| 0x0014
| 12
| Padding?
|}

=== INF section ===

It comes just after the BMG header. It contains information (like pointers) about the messages.

==== INF header ====
{| class="wikitable"
|-
! Offset
! Size
! Description
|-
| 0x0000
| 4
| "INF1" (0x494E4631)
|-
| 0x0004
| 4
| Size of this section (bytes from section beginning)
|-
| 0x0008
| 2
| Number of messages
|-
| 0x000A
| 2
| Size of each INF data (bytes)
|-
| 0x000C
| 4
| Padding?
|}

==== INF data ====

For each message, there is a INF data about it. At Wii Fit, there is just the message offset. At Wii Fit Plus, there is two another fields.
{| class="wikitable"
|-
! Offset
! Size
! Description
|-
| 0x0000
| 4
| Offset to the message (after DAT section header)
|-
| 0x0004
| 4
| Some flags? (0x64 seems to be "normal messages", 0x6E for "menu choices" ...)
|-
| 0x0008
| 4
| ?
|}

=== DAT section ===
It contains just header and the messages themselves.

{| class="wikitable"
|-
! Offset
! Size
! Description
|-
| 0x0000
| 4
| "DAT1" (0x44415431)
|-
| 0x0004
| 4
| Section size (bytes from section beginning)
|-
| 0x0008
| -
| Messages
|}

=== MID section ===
This section is unknown.

{| class="wikitable"
|-
! Offset
! Size
! Description
|-
| 0x0000
| 4
| "MID1" (0x4D494431)
|-
| 0x0004
| 4
| Section size (bytes from section beginning)
|-
| 0x0008
| 2
| Number of entries
|-
| 0x000A
| 2
| ?
|-
| 0x000C
| 4
| Padding?
|-
| 0x0010
| 4
| Entry #1
|-
| 0x0014
| 4
| Entry #2
|-
| ...
| 4
| Entry #...
|}
82

edits