EvilEngine/SHRP: Difference between revisions

From Heavy Iron Modding
Content added Content deleted
No edit summary
mNo edit summary
Line 4: Line 4:
{{#vardefine:type|[[Binary]]}}<nowiki/>
{{#vardefine:type|[[Binary]]}}<nowiki/>
{{#vardefine:basetype|}}<nowiki/>
{{#vardefine:basetype|}}<nowiki/>
{{#vardefine:games|BFBB TSSM Incredibles ROTU}}<nowiki/>
{{#vardefine:games|BFBB TSSM Incredibles ROTU RatProto}}<nowiki/>
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Game/zShrapnel.h zShrapnel.h]}}<nowiki/>
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Game/zShrapnel.h zShrapnel.h]}}<nowiki/>
{{#vardefine:image|}}<nowiki/>
{{#vardefine:image|}}<nowiki/>

Revision as of 20:05, 25 June 2022

SHRP
Shrapnel
TypeBinary
Games usedBattle for Bikini Bottom

The SpongeBob SquarePants Movie
The Incredibles
Rise of the Underminer

Ratatouille Prototype
Source codezShrapnel.h

This asset defines data for shrapnel.

Format

The asset data starts with a 0xC byte header:

Offset Type Description
0x00 int Amount of SHRP entries
0x04 AssetID This asset
0x08 int Unknown, always 0

After that, there's an array of shrapnel entries, as defined in the header. Each entry is of variable size:

  • Type 1 (group)
  • Type 2 (shrapnel)
  • Type 3 (particle) (BFBB) - 0x1D4
  • Type 3 (particle) (Movie) - 0x1F8
  • Type 4 (projectile) (BFBB) - 0x90
  • Type 4 (projectile) (Movie) - 0x110
  • Type 5 (lightning) (BFBB) - 0x68
  • Type 5 (lightning) (Movie) - 0x70
  • Type 6 (sound) (BFBB) - 0x4C
  • Type 6 (sound) (Movie) - 0x44
  • Type 7 (shockwave)
  • Type 8 (explosion) (Movie) - 0x48
  • Type 9 (distortion) - 0x5C

The entries have the following structure:

Offset Type Description
0x00 int Type
0x04 AssetID Unknown
0x08 int parentID1
0x0C int parentID2
0x10 float lifetime
0x14 float delay

Type 3 (BFBB)

Offset Type Description
0x18 int Unknown
0x1C int Unknown
0x20 float Unknown
0x24 float Unknown
0x28 float Unknown
0x2C byte[0x10] Padding? (all bytes are 0xCD)
0x3C int Unknown
0x40 int Unknown
0x44 int Unknown
0x48 float Unknown
0x4C float Unknown
0x50 byte[0x17C] Padding? (all bytes are 0xCD)
0x1CC AssetID PARE
0x1D0 int Unknown

Type 3 (Movie)

Offset Type Description
Type 3
0x18 int Unknown
0x1C int Unknown
0x20 float Unknown
0x24 float Unknown
0x28 float Unknown
0x2C byte[0x10] Padding? (all bytes are 0xCD)
0x3C int Unknown
0x40 int Unknown
0x44 int Unknown
0x48 float Unknown
0x4C int Unknown
0x54 byte[0x14C] Padding? (all bytes are 0xCD)
0x1A0 short Unknown
0x1A2 short Unknown
0x1A4 byte[0x48] Padding? (all bytes are 0xCD)
0x1EC byte Unknown
0x1ED byte Unknown
0x1EE byte Unknown
0x1EF byte Unknown
0x1F0 Asset ID Unknown
0x1F4 int Unknown

Type 4 (BFBB)

Offset Type Description
0x18 AssetID MODL
0x1C int Unknown
0x20 int Unknown
0x24 int Unknown
0x28 float Offset X - Offset the Shrapnel spawns at
0x2C float Offset Y
0x30 float Offset Z
0x34 byte[0x34] Padding? (all bytes are 0xCD)
0x68 float Unknown
0x6C int Unknown
0x70 int Unknown
0x74 AssetID Unknown
0x78 float Unknown
0x7C float Scale?
0x80 float Scale also?
0x84 float Unknown
0x88 float Unknown
0x8C float Gravity

Type 4 (Movie)

Offset Type Description
0x18 AssetID MODL
0x1C int Unknown
0x20 int Unknown
0x24 int Unknown
0x28 float Offset X - Offset the Shrapnel spawns at
0x2C float Offset Y
0x30 float Offset Z
0x34 byte[0x10] Padding? (all bytes are 0xCD)
0x44 int Unknown
0x48 int Unknown
0x4C int Unknown
0x50 int Unknown
0x54 int Unknown
0x58 int Unknown
0x5C byte[0x3C] Padding? (all bytes are 0xCD)
0x98 int Unknown
0x9C int Unknown
0xA0 int Unknown
0xA4 int Unknown
0xA8 int Unknown
0xAC byte[0x3C] Padding? (all bytes are 0xCD)
0xE8 float Bounce
0xEC int maxBounces
0xF0 int Flags
0xF4 SHRP Shrapnel_AssetID, launches another shrapnel when shrapnel model disappears
0xF8 SHRP Shrapnel_AssetID
0xFC float minScale
0x100 float maxScale
0x104 int scaleCurveID
0x108 CRV scaleCurve
0x10C float Gravity

Type 5 (BFBB)

Offset Type Description
0x18 int Unknown
0x1C int Unknown
0x20 float Unknown
0x24 int Unknown
0x28 int Unknown
0x2C byte[0x10] Padding? (all bytes are 0xCD)
0x3C int Unknown
0x40 int Unknown
0x44 float Unknown
0x48 int Unknown
0x4C int Unknown
0x50 byte[0x18] Padding? (all bytes are 0xCD)

Type 5 (Movie)

Offset Type Description
0x18 int Unknown
0x1C int Unknown
0x20 float Unknown
0x24 int Unknown
0x28 int Unknown
0x2C byte[0x10] Padding? (all bytes are 0xCD)
0x3C int Unknown
0x40 int Unknown
0x44 float Unknown
0x48 int Unknown
0x4C int Unknown
0x50 int Unknown
0x54 byte[0x10] Padding? (all bytes are 0xCD)
0x64 int Unknown
0x68 byte[0x8] Padding? (all bytes are 0xCD)

Type 6 (BFBB)

Offset Type Description
0x18 AssetID SND/SNDS
0x1C int Unknown
0x20 int Unknown
0x24 int Unknown
0x28 int Unknown
0x2C int Unknown
0x30 byte[0x10] Padding? (all bytes are 0xCD)
0x40 float Unknown
0x44 float Unknown
0x48 float Unknown

Type 6 (Movie)

Offset Type Description
0x18 AssetID SND/SNDS
0x1C int Unknown
0x20 int Unknown
0x24 int Unknown
0x28 int Unknown
0x2C int Unknown
0x30 byte[0x10] Padding? (all bytes are 0xCD)
0x40 float Unknown

Type 8

Offset Type Description
0x18 AssetID Unknown
0x1C int Unknown
0x20 int Unknown
0x24 int Unknown
0x28 float Unknown
0x2C int Unknown
0x30 byte[0x10] Padding? (all bytes are 0xCD)
0x40 float Unknown
0x44 float Unknown

Type 9

Offset Type Description
0x18 AssetID Unknown
0x1C int Unknown
0x20 int Unknown
0x24 int Unknown
0x28 float Unknown
0x2C int Unknown
0x30 byte[0x10] Padding? (all bytes are 0xCD)
0x40 int Unknown
0x44 int Unknown
0x48 float Unknown
0x4C float Unknown
0x50 float Unknown
0x54 float Unknown
0x58 float Unknown