EvilEngine/TPIK

From Heavy Iron Modding
(Redirected from TPIK)

TPIK
Pickup Types
TypeBase
Base Type0x00
Games usedThe Incredibles

Rise of the Underminer

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