Difference between revisions of "PNEL"

From 3dbrew
Jump to navigation Jump to search
(→‎Puzzle Entry: changed wording)
Line 25: Line 25:
 
|0x00||0x04||Order number. First puzzle is a 7 because 0-6 are the preinstalled puzzles
 
|0x00||0x04||Order number. First puzzle is a 7 because 0-6 are the preinstalled puzzles
 
|-
 
|-
|0x04||0x04||CRC-32 over this puzzle entry with this field beeing 0.
+
|0x04||0x04||CRC-32 over the 0xC30 bytes of the puzzle entry with this field beeing 0.
 
|-
 
|-
 
|0x08||0x04||Absolut offset of start of puzzle image
 
|0x08||0x04||Absolut offset of start of puzzle image

Revision as of 13:53, 11 January 2021

PNEL is a file format that is used by Puzzle Swap of StreetPass Mii Plaza for loading additional puzzles to the 7 default ones. PNEL probably stands for Panel.

File Format

Header

Offset Size Description
0x00 0x04 Magic word "PNEL"
0x04 0x04 Magic word "0800". Probably last 4 digits of the japanese title ID.
0x08 0x04 Number of puzzles
0x0C 0x04 Unknown. Always 0x00000001
0x10 0x04 CRC-32 over the 0x14 bytes of the header with this field being 0.

After the header the first additional puzzle begins.

Puzzle Entry

Offset Size Description
0x00 0x04 Order number. First puzzle is a 7 because 0-6 are the preinstalled puzzles
0x04 0x04 CRC-32 over the 0xC30 bytes of the puzzle entry with this field beeing 0.
0x08 0x04 Absolut offset of start of puzzle image
0x0C 0x04 Absolut offset of start of puzzle settings
0x10 0x04 Absolut offset of start of puzzle model/figure
0x14 0x04 Size of puzzle image
0x18 0x04 Size of puzzle settings
0x1C 0x04 Size of puzzle model/figure
0x20 0x04 CRC-32 over data of the puzzle image
0x24 0x04 CRC-32 over data of the puzzle settings
0x28 0x04 CRC-32 over data of the puzzle model/figure
0x2C 0xC00 Name of the puzzle in different languages
0xC2C 0x01 ID of number of puzzle pieces: 0 => 15 pieces; 1 => 24 pieces; 2 => 40 pieces
0xC2D 0x01 Pink puzzle pieces
0xC2E 0x02 Unknown or Padding

The data of the image, settings and model/figure are always padded at the end with 0x00 until size is divisible by 4 (4 byte alignment). These padding bytes are not part of the CRC-32 calculation