Line 1:
Line 1:
−
This is a warning to the owners of this site. My name is Shigeru Miyamoto and I am disappoint. You are breaking the DCMA laws. DCMA laws protect our freedoms far into the furture. There is over 9000 pages here and I want every single one of them gone by next week. This is not a threat but a promise. Every day after that week is up, I will sue you for $100,000 a day.
+
Stores strings used in games for localization. Can be found in a Wii Fit and Wii Fit Plus disc.
−
Thank you for using Nintendo. We must ensure our freedoms through use of the DCMA. This not the analog millennium one passed in 1000 A.D., but the digital one.
+
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, and it is probably for message IDs.
−
==CEASE==
+
The file is not completely known.
−
AND DESIST
+
+
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? (0x00640000 seems to be "normal messages", 0x006E0000 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 probably message IDs. There appears to be one for each message and these can presumably be used by the wii to identify each message.
+
+
{| 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 #...
+
|}
+
[[Category:File formats]]