EvilEngine/TPIK
(Redirected from TPIK)
TPIK | |
---|---|
Pickup Types | |
Type | Base |
Base Type | 0x00 |
Games used | The Incredibles Ratatouille Prototype |
A pickup types is an asset which usually has only one instance in the entire game (in boot.hip) and defines information regarding DYNA pickups used in Incredibles and ROTU.
Format
Pickup types are base assets, so they start with their 0x8 byte header, then are followed by:
xTableAsset
class xTableAsset : public xBaseAsset
{
public:
unsigned int version;
unsigned int numRows;
};
Offset | Type | Variable | Description |
---|---|---|---|
0x08 | u32 | version | |
0x0C | u32 | numRows | Number of entries. |
After the header is the entries themselves. Each entry is 0x38 bytes long and has the following format:
TableEntry
class TableEntry
{
public:
unsigned int typeHash;
unsigned int modelID;
unsigned int pulseModelID;
float pulseTime;
float pulseAddScale;
float pulseMoveDown;
float red;
float green;
float blue;
unsigned int color;
union
{
unsigned int flyingSoundGroupID;
iSndGroupHandle flyingSoundGroupHandle;
};
union
{
unsigned int usedSoundGroupID;
iSndGroupHandle usedSoundGroupHandle;
};
union
{
unsigned int cantUseSoundGroupID;
iSndGroupHandle cantUseSoundGroupHandle;
};
unsigned char healthGain;
unsigned char powerGain;
unsigned char saveFlag;
signed char bInitialized;
};
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | AssetID | typeHash | Used by DYNA pickup assets to define pickup type. |
0x04 | AssetID | modelID | |
0x08 | AssetID | pulseModelID | |
0x0C | f32 | pulseTime | |
0x10 | f32 | pulseAddScale | |
0x14 | f32 | pulseMoveDown | |
0x18 | Vector3 | red/green/blue | |
0x24 | u32 | color | |
0x28 | AssetID | flyingSoundGroupID | SGRP |
0x2C | AssetID | usedSoundGroupID | SGRP |
0x30 | AssetID | cantUseSoundGroupID | SGRP |
0x34 | u8 | healthGain | |
0x35 | u8 | powerGain | |
0x36 | u8 | saveFlag | |
0x37 | s8 | bInitialized |