Jnlib layout files are used to define positions of elements on the screen. These files are [BNCL|BNCL], [BNBL|BNBL], and [BNLL|BNLL]. They share a common header and coordinate structure. The header of these files is structured as:
||Offset||Type||Meaning
| 0x00 | char[[4] | File signature as a 4-character tag.
| 0x04 | u16 | Unknown.
| 0x06 | u16 | Number of layout elements.
Jnlib layout files use a common structure for storing coordinates. This allows for storing a coordinate relative to one of 9 points on the layout element. These take the following structure:
{{{
?? OO XXXXXXXXXXXX
| | |
| | +----------- The coordinate as a signed 12-bit integer.
| +-------------- The origin. Can be 0 (left/top), 1 (center), or 2 (right/bottom).
+----------------- Unknown.
}}}
The origin position sets the position of the layout element with respect to one of 9 points on the element. These points are illustrated below:
[{Image src='attach/Jnlib%20Layout%20File%20Format/image_2024-05-01_212804849.png' width='512' height='384' align='left|center|right' style='..' class='..' }]