BMG files are the jnlib file format for storing text strings. The BMG file header is as follows:

OffsetTypeMeaning
0x00 u32 File signature. "MESG" for BMG files.
0x04 u32 File type. "bmg1" for BMG files.
0x08 u32 File size
0x0C u32 Number of data blocks.
0x10 u8 Character set. Can be narrow character (1), wide character (2), Shift-JIS (3), or UTF-8 (4).
0x11 u8[0xF] Unused?

The BMG file is composed of multiple data blocks. These are INF1, MID1, DAT1, STR1, FLW1, and FLI1. The data blocks have a common header structure:

OffsetTypeMeaning
0x00 char[4] Tag
0x04 u32 Block size, including this header.

INF1 Block#

The INF1 (info) block stores basic info about the BMG file. It takes the following structure:

OffsetTypeMeaning
0x00 u16 Number of entries
0x02 u16 Size of entry (always 4?)
0x04 u16 Group ID
0x06 u8 Color ID
0x07 u8
0x08 u32[...] Offsets to strings. This is a list of offsets into the DAT1 block.

MID1 Block#

DAT1 Block#

The DAT1 block stores message data. This block is an unstructured string pool referenced by the offset array in the INF1 block.

STR1 Block#

FLW1 Block#

FLI1 Block#

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-1) was last changed on 01-May-2024 22:17 by Garhoogin