EvilEngine/PICK: Difference between revisions

m
Seil moved page PICK to EvilEngine/PICK
No edit summary
m (Seil moved page PICK to EvilEngine/PICK)
 
(6 intermediate revisions by 2 users not shown)
Line 1:
<onlyinclude>
{{AssetInfobox
{{#vardefine:typeid|PICK}}<nowiki/>
|subtitle=Pickup Table
{{#vardefine:name|Pickup Table}}<nowiki/>
|type=[[Binary]]
{{#vardefine:type|[[Binary]]}}<nowiki/>
|games=Night of 100 Frights<br>Battle for Bikini Bottom<br>The SpongeBob SquarePants Movie<br>Rise of the Underminer}}
{{#vardefine:basetype|}}<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:image|}}<nowiki/>
</onlyinclude>
{{AutoAssetInfobox}}
 
A '''pickup table''' is an asset which usually has only one instance in the entire game (in boot.hip) and defines information regarding pickups.
Line 9 ⟶ 15:
The asset data starts with an 8-byte header:
 
===zAssetPickupTable===
{| class="wikitable"
! Offset !! Type !! Variable !! Description
|-
| 0x00 || unsigned intuint || '''Magic''' -|| 0x5049434B ("PICK")
|-
| 0x04 || unsigned intuint || '''Count''' -|| amountAmount of entries
|}
 
After the header is the entries themselves. Each entry has the following format:
 
===zAssetPickup===
{| class="wikitable"
! Offset !! Type !! Variable !! Description
|-
| 0x00 || unsigned intuint || '''pickupHash'''. || Used by [[PKUP]] assets to define pickup type.
|-
| 0x04 || unsigned charbyte || '''pickupType'''. || Usually 0xCD.
|-
| 0x05 || unsigned charbyte || '''pickupIndex'''. || Usually 0xCD.
|-
| 0x06 || unsigned shortushort || '''pickupFlags'''. || Usually 0x0000.
|-
| 0x08 || unsigned intuint || '''quantity'''. || Usually 1.
|-
| 0x0C || unsigned int ([[MODL|Model]] [[AssetID]]) || '''modelID''' ||
|-
| 0x10 || unsigned int ([[AssetID]]) || '''animID'''. || Usually 0.
|-
|}
 
{{Assets}}
{{AutoGameNavs}}
 
[[Category:Asset]]