Nintendo Badge Arcade/PrizeCollection: Difference between revisions
DaniElectra (talk | contribs) Add all Badge Arcade formats |
DaniElectra (talk | contribs) m Rename "each tile" to "tile x" to prevent ordering confusion |
||
| Line 346: | Line 346: | ||
| ... | | ... | ||
| 0x2000 | | 0x2000 | ||
| 64x64 RGB565 image of | | 64x64 RGB565 image of tile x | ||
|- | |- | ||
| ... | | ... | ||
| Line 354: | Line 354: | ||
| ... | | ... | ||
| 0x800 | | 0x800 | ||
| 32x32 RGB565 image of | | 32x32 RGB565 image of tile x | ||
|- | |- | ||
| ... | | ... | ||
Revision as of 11:23, 18 December 2022
Overview
A PrizeCollection SARC file has the following folder structure:
root
└── pc
├── PrizeCollection.xml
├── ci
└── rt
├── At
├── CI
├── Ca
├── Cr
├── FO
└── Pr
Each of the subfolders contains a custom file format storing different properties between those. Each of those files are compressed using Yaz0 compression.
| Subfolder | File type |
|---|---|
| ci | Crane Instance (cib) |
| At | Attachment (atb) |
| CI | Crane Icon (icb) |
| Ca | Category (cab) |
| Cr | Crane (crb) |
| FO | Fixed Object (fob) |
| Pr | Prize (prb) |
PrizeCollection.xml
This file has an index of all of the game data stored here. It has the following data:
<?xml version="1.0" encoding="UTF-8"?>
<CenterPrizeCollectionFile>
<Categories count="x">
<Category name="CategoryName" />
</Categories>
<Cranes count="x">
<Crane name="CraneName" />
</Cranes>
<CraneIcons count="x">
<CraneIcon name="CraneIconName" />
</CraneIcons>
<Prizes count="x">
<Prize name="PrizeName" />
<Attachments count="x">
<Attachment name="AttachmentName" />
</Attachments>
<FixedObjects count="x">
<FixedObject name="FixedObjectName" />
</FixedObjects>
<CraneInstances>
<CraneInstance name="CraneInstanceName" />
</CraneInstances>
</CenterPrizeCollectionFile>
Crane Instance (cib)
A crane instance file stores the data of a set and the components of the machine.
| Offset | Size | Description |
|---|---|---|
| 0x0 | 0x4 | Header magic (CIBS) |
| 0x30 | ? | Crane Instance name |
| 0x60 | ? | Crane name |
| 0x90 | ? | Crane Icon name |
| 0x1100 + Offset | Offset | Prize name x |
| 0x1880 + Offset | Offset | Fixed Object name x |
Offset = 0x30 * x
Attachment (atb)
An attachment file stores the data of an immovable object and its image.
| Offset | Size | Description |
|---|---|---|
| 0x0 | 0x4 | Header magic (ATBS) |
| 0x2C | ? | Attachment name |
| 0x5C | 0x4 | Image width |
| 0x60 | 0x4 | Image height |
| 0x80 | w * h | ETC1A4 image of attachment |
| 0x80 + (w * h) | w * h | A8 data of previous image |
Crane Icon (icb)
A crane icon file stores the icon of a set (crane instance).
| Offset | Size | Description |
|---|---|---|
| 0x0 | 0x4 | Header magic (ICBS) |
| 0x1C | ? | Crane icon name |
| 0x100 | 0x2000 | 64x64 RGB565 image |
Category (cab)
A category file stores the data of a group of sets and its category image.
| Offset | Size | Description |
|---|---|---|
| 0x0 | 0x4 | Header magic (CABS) |
| 0x24 | 0x4 | Category ID |
| 0x2C | ? | Category name |
| 0x5C | 0x4 | Number of badges |
| 0x60 | 0x4 | Number of sets (crane instances) |
| 0x2080 | 0x2000 | 64x64 RGB565 image of category |
Crane (crb)
A crane file stores the background image used on a set (crane instance).
| Offset | Size | Description |
|---|---|---|
| 0x0 | 0x4 | Header magic (CRBS) |
| 0x1C | ? | Crane name |
| 0x800 | 0x10000 | ETC1 image? (Unknown resolution) |
Fixed Object (fob)
A fixed object file stores the data of the terrain and its image.
| Offset | Size | Description |
|---|---|---|
| 0x0 | 0x4 | Header magic (FOBS) |
| 0x24 | ? | Fixed object name |
| 0x54 | 0x4 | Image width |
| 0x58 | 0x4 | Image height |
| 0x80 | w * h | ETC1A4 image of fixed object |
Prize (prb)
A prize file stores the badge data and its image.
| Offset | Size | Description |
|---|---|---|
| 0x0 | 0x4 | Header magic (PRBS) |
| 0x3C | 0x4 | Badge ID |
| 0x44 | ? | Badge name |
| 0x74 | ? | Name of category it belongs |
| 0xA4 | 0x8 | Title ID it opens (0xFFFFFFFF if none) |
| 0xB8 | 0x4 | Tile width |
| 0xBC | 0x4 | Tile height |
If the tile size is 1x1:
| Offset | Size | Description |
|---|---|---|
| 0x1100 | 0x2000 | 64x64 RGB565 image (used in Home Menu) |
| 0x3100 | 0x800 | 64x64 A4 data of previous image |
| 0x3900 | 0x800 | 32x32 RGB565 image (used in badge selector in Home Menu) |
| 0x4100 | 0x200 | 32x32 A4 data of previous image |
| 0x4300 | 0x4000 | 128x128 ETC1A4 image (used ingame) |
| 0x8300 | 0x4000 | 128x128 A8 data of previous image |
If the tile size is anything other than 1x1:
| Offset | Size | Description |
|---|---|---|
| 0x1100 | 0x2000 | 64x64 RGB565 image of full tile |
| 0x3100 | 0x800 | 64x64 A4 data of previous image |
| 0x3900 | 0x800 | 32x32 RGB565 image of full tile |
| 0x4100 | 0x200 | 32x32 A4 data of previous image |
| ... | 0x2000 | 64x64 RGB565 image of tile x |
| ... | 0x800 | 64x64 A4 data of previous image |
| ... | 0x800 | 32x32 RGB565 image of tile x |
| ... | 0x200 | 32x32 A4 data of previous image |
| ... | 0x4000 | 128x128 ETC1A4 image (used ingame) |
| ... | 0x4000 | 128x128 A8 data of previous image |