Changes

Jump to navigation Jump to search
m
Minor improvements
Line 141: Line 141:  
|-
 
|-
 
| 0xC0
 
| 0xC0
| 0x8
+
| 0x4
| Unknown
+
| [[#Crane availability|Crane availability]]
 +
|-
 +
| 0xC4
 +
| 0x4
 +
| Unknown (usually 0x3?)
 
|-
 
|-
 
| 0xC8
 
| 0xC8
Line 154: Line 158:  
| 0xD8
 
| 0xD8
 
| 0x8
 
| 0x8
| Unknown
+
| Unknown (usually zero?)
 
|-
 
|-
 
| 0xE0
 
| 0xE0
Line 186: Line 190:  
| 0xFC
 
| 0xFC
 
| 0x4
 
| 0x4
| Number of properties at 0x3E00
+
| Number of attachment badges
 
|-
 
|-
 
| 0x100
 
| 0x100
Line 199: Line 203:  
| 0x2440
 
| 0x2440
 
| [[#Crane Instance Properties|Crane instance properties]]
 
| [[#Crane Instance Properties|Crane instance properties]]
 +
|}
 +
 +
=== Crane availability ===
 +
This section defines where a machine is available to be used.
 +
 +
{| class="wikitable"
 +
|-
 +
! Value
 +
! Crane availability
 +
|-
 +
| 0x0
 +
| Available on crane game
 +
|-
 +
| 0x1
 +
| Unknown
 +
|-
 +
| 0x2
 +
| Available on tutorial crane
 
|}
 
|}
   Line 326: Line 348:  
| 0x3E00
 
| 0x3E00
 
| 0x20
 
| 0x20
| Unknown property
+
| Attachment badge property
 
|-
 
|-
 
|  
 
|  
 
| 0x20
 
| 0x20
| Optional unknown properties
+
| Optional attachment badge properties
 
|}
 
|}
   Line 338: 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.
   −
Except for the index, all of the properties are saved as float32 values.
+
Unless stated otherwise, all of the properties are saved as float32 values.
    
{| class="wikitable"
 
{| class="wikitable"
Line 348: Line 370:  
| 0x0
 
| 0x0
 
| 0x4
 
| 0x4
| Component index
+
| Component index (u32)
 
|-
 
|-
 
| 0x4
 
| 0x4
Line 371: Line 393:  
|-
 
|-
 
| 0x18
 
| 0x18
| 0x48
+
| 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
 
|}
 
|}
    
The position is calculated using the 3DS screen as a reference (400x240).
 
The position is calculated using the 3DS screen as a reference (400x240).
 +
 +
==== Attachment badge properties ====
 +
This property sets the union of a badge with an attachment.
 +
 +
{| class="wikitable"
 +
|-
 +
! Offset
 +
! Size
 +
! Description
 +
|-
 +
| 0x0
 +
| 0x4
 +
| Unknown (usually zero?)
 +
|-
 +
| 0x4
 +
| 0x4
 +
| Unknown (usually 1?)
 +
|-
 +
| 0x8
 +
| 0x4
 +
| Unknown
 +
|-
 +
| 0xC
 +
| 0x4
 +
| Index of attachment selected
 +
|-
 +
| 0x10
 +
| 0x4
 +
| Index of badge selected
 +
|-
 +
| 0x14
 +
| 0x4
 +
| Width position of attachment (float32)
 +
|-
 +
| 0x18
 +
| 0x4
 +
| Height position of attachment (float32)
 +
|-
 +
| 0x1C
 +
| 0x4
 +
| Unknown (usually zero?)
 +
|}
    
== Attachment (atb) ==
 
== Attachment (atb) ==
An attachment file stores the data of an immovable object and its image.
+
An attachment file stores the data of an object with badges attached and its image.
    
{| class="wikitable"
 
{| class="wikitable"
Line 424: Line 512:  
| 0x24
 
| 0x24
 
| 0x4
 
| 0x4
| Start address of collision floating points
+
| Start address of collision data
 
|-
 
|-
 
| 0x28
 
| 0x28
 
| 0x4
 
| 0x4
| End address of collision floating points
+
| End address of collision data
 
|-
 
|-
 
| 0x2C
 
| 0x2C
Line 456: Line 544:  
| 0x80 + 2 * (w * h)
 
| 0x80 + 2 * (w * h)
 
|  
 
|  
| Collision floating points
+
| [[#Collision data|Collision data]]
 
|}
 
|}
   Line 486: Line 574:  
| 0x10
 
| 0x10
 
| 0x4
 
| 0x4
| End address of header data
+
| End address of header data (ORed with 0x80?)
 
|-
 
|-
 
| 0x14
 
| 0x14
Line 501: Line 589:  
|-
 
|-
 
| 0x4C
 
| 0x4C
| 0x80
+
| 0xB4
| Unknown (usually zero?)
  −
|-
  −
| 0xCC
  −
| 0x34
   
| Padding
 
| Padding
 
|-
 
|-
Line 580: Line 664:  
| 0x64
 
| 0x64
 
| 0x4
 
| 0x4
| Unknown
+
| Unknown (related to category ID?)
 
|-
 
|-
 
| 0x68
 
| 0x68
Line 637: Line 721:  
|-
 
|-
 
| 0x4C
 
| 0x4C
| 0xB4
+
| 0x34
 
| Padding
 
| Padding
 
|-
 
|-
Line 658: Line 742:     
== Fixed Object (fob) ==
 
== Fixed Object (fob) ==
A fixed object file stores the data of the terrain and its image.
+
A fixed object file stores the data of an immovable object and its image.
    
{| class="wikitable"
 
{| class="wikitable"
Line 696: Line 780:  
| 0x1C
 
| 0x1C
 
| 0x4
 
| 0x4
| Start address of collision floating points
+
| Start address of collision data
 
|-
 
|-
 
| 0x20
 
| 0x20
 
| 0x4
 
| 0x4
| End address of collision floating points
+
| End address of collision data
 
|-
 
|-
 
| 0x24
 
| 0x24
Line 724: Line 808:  
| 0x80 + (w * h)
 
| 0x80 + (w * h)
 
|  
 
|  
| Collision floating points
+
| [[#Collision data|Collision data]]
 
|}
 
|}
   Line 790: Line 874:  
| 0x34
 
| 0x34
 
| 0x4
 
| 0x4
| Start address of collision floating points
+
| Start address of collision data
 
|-
 
|-
 
| 0x38
 
| 0x38
 
| 0x4
 
| 0x4
| End address of collision floating points (stuck at 0x45XX, but correct value works)
+
| End address of collision data (stuck at 0x45XX, but correct value works)
 
|-
 
|-
 
| 0x3C
 
| 0x3C
Line 802: Line 886:  
| 0x40
 
| 0x40
 
| 0x4
 
| 0x4
| Unknown (random identifier?)
+
| Unknown. Same as value in offset 0x0 in [[Home_Menu#BadgeIdentifier|BadgeIdentifier]]
 
|-
 
|-
 
| 0x44
 
| 0x44
Line 866: Line 950:  
|  
 
|  
 
|  
 
|  
| Collision floating points
+
| [[#Collision data|Collision data]]
 
|}
 
|}
   Line 899: 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 915: Line 999:  
|  
 
|  
 
| 0x800
 
| 0x800
| 32x32 Optional additional RGB565 image tile(s). Only exists if badge is not 1x1 (unknown use)
+
| 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 955: 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
 +
|}
125

edits

Navigation menu