EvilEngine/SHRP
This asset defines data for shrapnel.
SHRP | |
---|---|
Shrapnel | |
Type | Binary |
Games used | Battle for Bikini Bottom The SpongeBob SquarePants Movie |
Source code | zShrapnel.h |
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) - 0x1E0
- 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
- Type 10 (fire) - 0x5C
The entries have the following structure:
Offset | Type | Description |
---|---|---|
0x00 | int | Type |
0x04 | AssetID | UnknownID |
0x08 | int | parentID1 |
0x0C | int | parentID2 |
0x10 | float | lifetime |
0x14 | float | delay |
Type 3 (BFBB)
Offset | Type | Description |
---|---|---|
0x18 | zFragLocType | type |
0x1C | int | index |
0x20 | Vector3 | Offset |
0x2C | byte[0x10] | Padding? (all bytes are 0xCD) |
0x3C | zFragLocType | type2 |
0x40 | int | index2 |
0x44 | Vector3 | Offset2 |
0x50 | byte[0x144] | Padding? (all bytes are 0xCD) |
0x194 | short | Unknown |
0x198 | short | Unknown |
0x19C | byte[0x30] | Padding? (all bytes are 0xCD) |
0x1CC | AssetID | PARE |
0x1D0 | int | Unknown |
Type 3 (Movie)
Offset | Type | Description |
---|---|---|
Type 3 | ||
0x18 | zFragLocType | type |
0x1C | int | index |
0x20 | Vector3 | Offset |
0x2C | byte[0x10] | Padding? (all bytes are 0xCD) |
0x3C | float | rand_radius |
0x40 | zFragLocType | type2 |
0x44 | int | index2 |
0x48 | Vector3 | Offset2 |
0x54 | byte[0x10] | Padding? (all bytes are 0xCD) |
0x58 | float | rand_radius2 |
0x5C | byte[0x138] | Padding? (all bytes are 0xCD) |
0x194 | short | Unknown |
0x196 | short | Unknown |
0x198 | byte[0x48] | Padding? (all bytes are 0xCD) |
0x1E0 | byte | Unknown |
0x1E1 | byte[3] | padding? |
0x1E4 | Asset ID | PARE |
0x1E8 | int | null |
Type 4 (BFBB)
Offset | Type | Description |
---|---|---|
0x18 | AssetID | MODL |
0x1C | RpAtomic | modelFile |
0x20 | zFragLocType | type |
0x24 | int | index |
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 | bounce |
0x6C | int | maxbounces |
0x70 | int | flags |
0x74 | AssetID | SHRP - Child shrapnel ID |
0x78 | AssetID | SHRP - Child shrapnel2 ID |
0x7C | float | minScale |
0x80 | float | maxScale |
0x84 | AssetID | scaleCurveID |
0x88 | AssetID | scaleCurve |
0x8C | float | Gravity |
Type 4 (Movie)
Offset | Type | Description |
---|---|---|
0x18 | AssetID | MODL |
0x1C | RpAtomic* | modelFile |
0x20 | zFragLocType | type |
0x24 | int | index |
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 | float | rand_radius |
0x48 | zFragLocType | type2 |
0x4C | int | index2 |
0x50 | Vector3 | Offset2 |
0x5C | byte[0x3C] | Padding? (all bytes are 0xCD) |
0x98 | zFragLocType | type3 |
0x9C | int | index3 |
0xA8 | Vector3 | Offset3 |
0xAC | byte[0x3C] | Padding? (all bytes are 0xCD) |
0xE8 | float | Bounce |
0xEC | int | maxBounces |
0xF0 | int | Flags |
0xF4 | AssetID | SHRP - Child shrapnel ID |
0xF8 | AssetID | SHRP - Child shrapnel2 ID |
0xFC | float | minScale |
0x100 | float | maxScale |
0x104 | AssetID | scaleCurveID |
0x108 | AssetID | scaleCurve |
0x10C | float | Gravity |
Type 5 (BFBB)
Offset | Type | Description |
---|---|---|
0x18 | zFragLocType | type |
0x1C | int | index |
0x20 | Vector3 | Offset |
0x2C | byte[0x10] | Padding? (all bytes are 0xCD) |
0x3C | zFragLocType | type2 |
0x40 | int | index2 |
0x44 | Vector3 | Offset2 |
0x50 | byte[0x10] | Padding? (all bytes are 0xCD) |
0x60 | int | startParentID (all bytes are 0xCD?) |
0x64 | int | endParentID (all bytes are 0xCD?) |
Type 5 (Movie)
Offset | Type | Description |
---|---|---|
0x18 | zFragLocType | type |
0x1C | int | index |
0x20 | Vector3 | Offset |
0x2C | byte[0x10] | Padding? (all bytes are 0xCD) |
0x3C | float | rand_radius |
0x40 | zFragLocType | type2 |
0x44 | int | index2 |
0x48 | Vector3 | Offset2 |
0x54 | byte[0x10] | Padding? (all bytes are 0xCD) |
0x64 | float | rand_radius2 |
0x68 | int | startParentID (all bytes are 0xCD?) |
0x6C | int | endParentID (all bytes are 0xCD?) |
Type 6 (BFBB)
Offset | Type | Description |
---|---|---|
0x18 | AssetID | SND/SNDS |
0x1C | zFragLocType | type |
0x20 | int | index |
0x24 | Vector3 | Offset |
0x30 | byte[0x10] | Padding? (all bytes are 0xCD) |
0x40 | float | volume |
0x44 | float | innerRadius |
0x48 | float | outerRadius |
Type 6 (Movie)
Offset | Type | Description |
---|---|---|
0x18 | AssetID | SND/SNDS |
0x1C | zFragLocType | type |
0x20 | int | index |
0x24 | Vector3 | Offset |
0x30 | byte[0x10] | Padding? (all bytes are 0xCD) |
0x40 | float | rand_radius |
Type 7
Offset | Type | Description |
---|---|---|
0x18 | AssetID | MODL |
0x1C | float | birthRadius |
0x20 | float | deathRadius |
0x24 | float | birthVelocity |
0x28 | float | deathVelocity |
0x2C | float | birthSpin |
0x30 | float | deathSpin |
0x34 | Color | birthColor |
0x44 | Color | deathColor |
Type 8
Offset | Type | Description |
---|---|---|
0x18 | AssetID | Unknown |
0x1C | zFragLocType | type |
0x20 | int | index |
0x24 | Vector3 | Offset |
0x30 | byte[0x10] | Padding? (all bytes are 0xCD) |
0x40 | float | rand_radius |
0x44 | int | flags |
Type 9
Offset | Type | Description |
---|---|---|
0x18 | AssetID | Unknown |
0x1C | zFragLocType | type |
0x20 | int | index |
0x2C | Vector3 | Offset |
0x30 | byte[0x10] | Padding? (all bytes are 0xCD) |
0x40 | float | rand_radius |
0x44 | int | flags |
0x48 | float | radius |
0x4C | float | duration |
0x50 | float | intensity |
0x54 | float | freq |
0x58 | float | repeat_delay |
Type 10
Offset | Type | Description |
---|---|---|
0x18 | zFragLocType | type |
0x1C | int | index |
0x20 | Vector3 | Offset |
0x2C | byte[0x10] | Padding? (all bytes are 0xCD) |
0x3C | float | rand_radius |
0x40 | int | flags |
0x44 | float | radius |
0x48 | float | scale |
0x4C | float | fuel |
0x50 | float | heat |
0x54 | float | damage |
0x58 | float | knockback |