EvilEngine/PICK: Difference between revisions
Content added Content deleted
EnergyDrink (talk | contribs) mNo edit summary |
m (Seil moved page PICK to EvilEngine/PICK) |
||
(2 intermediate revisions by one other user not shown) | |||
Line 4: | Line 4: | ||
{{#vardefine:type|[[Binary]]}}<nowiki/> |
{{#vardefine:type|[[Binary]]}}<nowiki/> |
||
{{#vardefine:basetype|}}<nowiki/> |
{{#vardefine:basetype|}}<nowiki/> |
||
{{#vardefine:games|Scooby BFBB TSSM Incredibles ROTU}}<nowiki/> |
{{#vardefine:games|Scooby BFBB TSSM Incredibles ROTU RatProto}}<nowiki/> |
||
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Game/zPickupTable.h zPickupTable.h]}}<nowiki/> |
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Game/zPickupTable.h zPickupTable.h]}}<nowiki/> |
||
{{#vardefine:image|}}<nowiki/> |
{{#vardefine:image|}}<nowiki/> |
||
Line 15: | Line 15: | ||
The asset data starts with an 8-byte header: |
The asset data starts with an 8-byte header: |
||
===zAssetPickupTable=== |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Type !! Description |
! Offset !! Type !! Variable !! Description |
||
|- |
|- |
||
| 0x00 || |
| 0x00 || uint || '''Magic''' || 0x5049434B ("PICK") |
||
|- |
|- |
||
| 0x04 || |
| 0x04 || uint || '''Count''' || Amount of entries |
||
|} |
|} |
||
After the header is the entries themselves. Each entry has the following format: |
After the header is the entries themselves. Each entry has the following format: |
||
===zAssetPickup=== |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Type !! Description |
! Offset !! Type !! Variable !! Description |
||
|- |
|- |
||
| 0x00 || |
| 0x00 || uint || '''pickupHash''' || Used by [[PKUP]] assets to define pickup type. |
||
|- |
|- |
||
| 0x04 || |
| 0x04 || byte || '''pickupType''' || Usually 0xCD. |
||
|- |
|- |
||
| 0x05 || |
| 0x05 || byte || '''pickupIndex''' || Usually 0xCD. |
||
|- |
|- |
||
| 0x06 || |
| 0x06 || ushort || '''pickupFlags''' || Usually 0x0000. |
||
|- |
|- |
||
| 0x08 || |
| 0x08 || uint || '''quantity''' || Usually 1. |
||
|- |
|- |
||
| 0x0C || |
| 0x0C || [[AssetID]] || '''modelID''' || |
||
|- |
|- |
||
| 0x10 || |
| 0x10 || [[AssetID]] || '''animID''' || Usually 0. |
||
|- |
|- |
||
|} |
|} |
Latest revision as of 22:47, 15 September 2022
PICK | |
---|---|
Pickup Table | |
Type | Binary |
Games used | Night of 100 Frights Battle for Bikini Bottom |
Source code | zPickupTable.h |
A pickup table is an asset which usually has only one instance in the entire game (in boot.hip) and defines information regarding pickups.
Format
The asset data starts with an 8-byte header:
zAssetPickupTable
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | uint | Magic | 0x5049434B ("PICK") |
0x04 | uint | Count | Amount of entries |
After the header is the entries themselves. Each entry has the following format:
zAssetPickup
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | uint | pickupHash | Used by PKUP assets to define pickup type. |
0x04 | byte | pickupType | Usually 0xCD. |
0x05 | byte | pickupIndex | Usually 0xCD. |
0x06 | ushort | pickupFlags | Usually 0x0000. |
0x08 | uint | quantity | Usually 1. |
0x0C | AssetID | modelID | |
0x10 | AssetID | animID | Usually 0. |