Nintendo Badge Arcade/PrizeCollection: Difference between revisions
DaniElectra (talk | contribs) m →Crane Instance (cib): Add crane availability |
DaniElectra (talk | contribs) m Minor improvements |
||
(7 intermediate revisions by the same user not shown) | |||
Line 158: | Line 158: | ||
| 0xD8 | | 0xD8 | ||
| 0x8 | | 0x8 | ||
| Unknown | | Unknown (usually zero?) | ||
|- | |- | ||
| 0xE0 | | 0xE0 | ||
Line 206: | Line 206: | ||
=== Crane availability === | === Crane availability === | ||
This section defines | This section defines where a machine is available to be used. | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Value | ! Value | ||
! Crane | ! Crane availability | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
Line 360: | Line 360: | ||
In case of prizes, this allows the player to get a prize more than once or repeat it inside the collection. | In case of prizes, this allows the player to get a prize more than once or repeat it inside the collection. | ||
Unless stated otherwise, all of the properties are saved as float32 values. | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 370: | Line 370: | ||
| 0x0 | | 0x0 | ||
| 0x4 | | 0x4 | ||
| Component index | | Component index (u32) | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
Line 393: | Line 393: | ||
|- | |- | ||
| 0x18 | | 0x18 | ||
| | | 0x4 | ||
| Unknown property (usually around 0.2?) | |||
|- | |||
| 0x1C | |||
| 0x4 | |||
| Unknown property | |||
|- | |||
| 0x20 | |||
| 0x4 | |||
| Unknown property (usually 0.5?) | |||
|- | |||
| 0x24 | |||
| 0x4 | |||
| Unknown property (linked with 0x28?) | |||
|- | |||
| 0x28 | |||
| 0x4 | |||
| Unknown property (linked with 0x24?) | |||
|- | |||
| 0x2C | |||
| 0x4 | |||
| Component gravity at start (0x0 = gravity, 0x1 = no gravity) | |||
|- | |||
| 0x30 | |||
| 0x30 | |||
| Unknown properties | | Unknown properties | ||
|} | |} | ||
Line 488: | Line 512: | ||
| 0x24 | | 0x24 | ||
| 0x4 | | 0x4 | ||
| Start address of collision | | Start address of collision data | ||
|- | |- | ||
| 0x28 | | 0x28 | ||
| 0x4 | | 0x4 | ||
| End address of collision | | End address of collision data | ||
|- | |- | ||
| 0x2C | | 0x2C | ||
Line 520: | Line 544: | ||
| 0x80 + 2 * (w * h) | | 0x80 + 2 * (w * h) | ||
| | | | ||
| Collision | | [[#Collision data|Collision data]] | ||
|} | |} | ||
Line 550: | Line 574: | ||
| 0x10 | | 0x10 | ||
| 0x4 | | 0x4 | ||
| End address of header data | | End address of header data (ORed with 0x80?) | ||
|- | |- | ||
| 0x14 | | 0x14 | ||
Line 565: | Line 589: | ||
|- | |- | ||
| 0x4C | | 0x4C | ||
| | | 0xB4 | ||
| Padding | | Padding | ||
|- | |- | ||
Line 644: | Line 664: | ||
| 0x64 | | 0x64 | ||
| 0x4 | | 0x4 | ||
| Unknown | | Unknown (related to category ID?) | ||
|- | |- | ||
| 0x68 | | 0x68 | ||
Line 701: | Line 721: | ||
|- | |- | ||
| 0x4C | | 0x4C | ||
| | | 0x34 | ||
| Padding | | Padding | ||
|- | |- | ||
Line 760: | Line 780: | ||
| 0x1C | | 0x1C | ||
| 0x4 | | 0x4 | ||
| Start address of collision | | Start address of collision data | ||
|- | |- | ||
| 0x20 | | 0x20 | ||
| 0x4 | | 0x4 | ||
| End address of collision | | End address of collision data | ||
|- | |- | ||
| 0x24 | | 0x24 | ||
Line 788: | Line 808: | ||
| 0x80 + (w * h) | | 0x80 + (w * h) | ||
| | | | ||
| Collision | | [[#Collision data|Collision data]] | ||
|} | |} | ||
Line 854: | Line 874: | ||
| 0x34 | | 0x34 | ||
| 0x4 | | 0x4 | ||
| Start address of collision | | Start address of collision data | ||
|- | |- | ||
| 0x38 | | 0x38 | ||
| 0x4 | | 0x4 | ||
| End address of collision | | End address of collision data (stuck at 0x45XX, but correct value works) | ||
|- | |- | ||
| 0x3C | | 0x3C | ||
Line 866: | Line 886: | ||
| 0x40 | | 0x40 | ||
| 0x4 | | 0x4 | ||
| Unknown | | Unknown. Same as value in offset 0x0 in [[Home_Menu#BadgeIdentifier|BadgeIdentifier]] | ||
|- | |- | ||
| 0x44 | | 0x44 | ||
Line 930: | Line 950: | ||
| | | | ||
| | | | ||
| Collision | | [[#Collision data|Collision data]] | ||
|} | |} | ||
Line 963: | Line 983: | ||
| 0x3900 | | 0x3900 | ||
| 0x800 | | 0x800 | ||
| 32x32 RGB565 image of full badge (used in badge selector in Home Menu) | | 32x32 RGB565 image of full badge (used in badge selector in Home Menu if badge is 1x1) | ||
|- | |- | ||
| 0x4100 | | 0x4100 | ||
Line 979: | Line 999: | ||
| | | | ||
| 0x800 | | 0x800 | ||
| 32x32 Optional additional RGB565 image tile(s). Only exists if badge is not 1x1 ( | | 32x32 Optional additional RGB565 image tile(s). Only exists if badge is not 1x1 (used in badge selector in Home Menu if badge is not 1x1) | ||
|- | |- | ||
| | | | ||
Line 1,019: | Line 1,039: | ||
# Unknown | # Unknown | ||
# Unknown | # Unknown | ||
== Collision data == | |||
The collision of an object is defined by a set of polygons combined together. | |||
The polygons are represented using the vertices of each polygon, and those vertices are represented using their coordinates according to the in game image resolution. | |||
{| class="wikitable" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x4 | |||
| Number of polygons | |||
|- | |||
| 0x4 | |||
| 0x44 | |||
| Polygon data | |||
|- | |||
| | |||
| 0x44 | |||
| Additional polygons data | |||
|} | |||
=== Polygon data === | |||
The data of a polygon starts with the number of vertices. The coordinates of each vertice are then stored as float32 values on an allocated 0x40 byte section. | |||
The vertices can't be next to each other, there is a 2 pixel circular restricted area around each vertice. If the coordinates don't fill the 0x40 byte section, the remaining data is set to null bytes. | |||
{| class="wikitable" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x4 | |||
| Number of vertices | |||
|- | |||
| 0x4 | |||
| 0x4 | |||
| X coordinate of vertice | |||
|- | |||
| 0x8 | |||
| 0x4 | |||
| Y coordinate of vertice | |||
|- | |||
| | |||
| 0x4 | |||
| X coordinate of additional vertices | |||
|- | |||
| | |||
| 0x4 | |||
| Y coordinate of additional vertices | |||
|} |