EvilEngine/SHRP: Difference between revisions
Content added Content deleted
EnergyDrink (talk | contribs) mNo edit summary |
(new movie shrapnel type info) |
||
Line 48: | Line 48: | ||
| 0x00 || int || Type |
| 0x00 || int || Type |
||
|- |
|- |
||
| 0x04 || [[AssetID]] || |
| 0x04 || [[AssetID]] || UnknownID |
||
|- |
|- |
||
| 0x08 || int || parentID1 |
| 0x08 || int || parentID1 |
||
Line 99: | Line 99: | ||
! colspan="3" | Type 3 |
! colspan="3" | Type 3 |
||
|- |
|- |
||
| 0x18 || |
| 0x18 || zFragLocType || type |
||
|- |
|- |
||
| 0x1C || int || |
| 0x1C || int || UnknownID |
||
|- |
|- |
||
| 0x20 || |
| 0x20 || [[Vector3]] || Offset |
||
|- |
|||
⚫ | |||
|- |
|||
| 0x28 || float || Unknown |
|||
|- |
|- |
||
| 0x2C || byte[0x10] || Padding? (all bytes are 0xCD) |
| 0x2C || byte[0x10] || Padding? (all bytes are 0xCD) |
||
|- |
|- |
||
| 0x3C || |
| 0x3C || float || rand_radius |
||
|- |
|- |
||
| 0x40 || |
| 0x40 || zFragLocType || type2 |
||
|- |
|- |
||
| 0x44 || int || |
| 0x44 || int || UnknownID2 |
||
|- |
|- |
||
| 0x48 || |
| 0x48 || [[Vector3]] || Offset2 |
||
|- |
|- |
||
⚫ | |||
⚫ | |||
|- |
|||
| 0x54 || byte[0x14C] || Padding? (all bytes are 0xCD) |
|||
|- |
|- |
||
| |
| 0x58 || float || rand_radius2 |
||
|- |
|- |
||
⚫ | |||
| 0x1A2 || short || Unknown |
|||
|- |
|- |
||
⚫ | |||
| 0x1A4 || byte[0x48] || Padding? (all bytes are 0xCD) |
|||
|- |
|- |
||
| |
| 0x196 || short || Unknown |
||
|- |
|- |
||
| |
| 0x198 || byte[0x48] || Padding? (all bytes are 0xCD) |
||
|- |
|- |
||
| |
| 0x1E0 || byte || emit |
||
|- |
|- |
||
| |
| 0x1E1 || byte[3] || padding |
||
|- |
|- |
||
| |
| 0x1E4 || [[Asset ID]] || PARE_AssetID |
||
|- |
|- |
||
| |
| 0x1E8 || int || null |
||
|} |
|} |
||
Line 191: | Line 185: | ||
| 0x18 || [[AssetID]] || [[MODL]] |
| 0x18 || [[AssetID]] || [[MODL]] |
||
|- |
|- |
||
| 0x1C || |
| 0x1C || RpAtomic* || modelFile |
||
|- |
|- |
||
| 0x20 || |
| 0x20 || zFragLocType || type |
||
|- |
|- |
||
| 0x24 || int || |
| 0x24 || int || UnknownID |
||
|- |
|- |
||
| 0x28 || float || '''Offset X''' - Offset the Shrapnel spawns at |
| 0x28 || float || '''Offset X''' - Offset the Shrapnel spawns at |
||
Line 205: | Line 199: | ||
| 0x34 || byte[0x10] || Padding? (all bytes are 0xCD) |
| 0x34 || byte[0x10] || Padding? (all bytes are 0xCD) |
||
|- |
|- |
||
| 0x44 || |
| 0x44 || float || rand_radius |
||
|- |
|||
⚫ | |||
|- |
|||
| 0x4C || int || Unknown |
|||
|- |
|- |
||
| |
| 0x48 || zFragLocType || type2 |
||
|- |
|- |
||
| |
| 0x4C || int || UnknownID2 |
||
|- |
|- |
||
| |
| 0x50 || [[Vector3]] || Offset2 |
||
|- |
|- |
||
| 0x5C || byte[0x3C] || Padding? (all bytes are 0xCD) |
| 0x5C || byte[0x3C] || Padding? (all bytes are 0xCD) |
||
|- |
|- |
||
| 0x98 || |
| 0x98 || zFragLocType || type3 |
||
|- |
|- |
||
| 0x9C || int || |
| 0x9C || int || UnknownID3 |
||
|- |
|- |
||
| |
| 0xA8 || [[Vector3]] || Offset3 |
||
|- |
|||
| 0xA4 || int || Unknown |
|||
|- |
|||
| 0xA8 || int || Unknown |
|||
|- |
|- |
||
| 0xAC || byte[0x3C] || Padding? (all bytes are 0xCD) |
| 0xAC || byte[0x3C] || Padding? (all bytes are 0xCD) |
||
Line 287: | Line 273: | ||
! Offset !! Type !! Description |
! Offset !! Type !! Description |
||
|- |
|- |
||
| 0x18 || |
| 0x18 || zFragLocType || type |
||
|- |
|- |
||
| 0x1C || int || |
| 0x1C || int || UnknownID |
||
|- |
|- |
||
| 0x20 || |
| 0x20 || [[Vector3]] || Offset |
||
|- |
|||
| 0x24 || int || Unknown |
|||
|- |
|||
| 0x28 || int || Unknown |
|||
|- |
|- |
||
| 0x2C || byte[0x10] || Padding? (all bytes are 0xCD) |
| 0x2C || byte[0x10] || Padding? (all bytes are 0xCD) |
||
|- |
|- |
||
| 0x3C || |
| 0x3C || float || rand_radius |
||
|- |
|- |
||
| 0x40 || |
| 0x40 || zFragLocType || type2 |
||
|- |
|- |
||
| 0x44 || |
| 0x44 || int || UnknownID |
||
|- |
|- |
||
| 0x48 || |
| 0x48 || [[Vector3]] || Offset2 |
||
|- |
|- |
||
⚫ | |||
| 0x4C || int || Unknown |
|||
|- |
|- |
||
| |
| 0x64 || float || rand_radius2 |
||
|- |
|||
⚫ | |||
|- |
|- |
||
⚫ | |||
| 0x64 || int || Unknown |
|||
|- |
|- |
||
| |
| 0x6C || float || endParentID (all bytes are 0xCD?) |
||
|} |
|} |
||
Line 351: | Line 331: | ||
| 0x18 || [[AssetID]] || [[SND]]/[[SNDS]] |
| 0x18 || [[AssetID]] || [[SND]]/[[SNDS]] |
||
|- |
|- |
||
| 0x1C || |
| 0x1C || zFragLocType || type |
||
|- |
|- |
||
| 0x20 || int || |
| 0x20 || int || UnknownID |
||
|- |
|- |
||
| 0x24 || |
| 0x24 || [[Vector3]] || Offset |
||
|- |
|- |
||
⚫ | |||
| 0x28 || int || Unknown |
|||
|- |
|- |
||
| |
| 0x40 || float || rand_radius |
||
|- |
|||
⚫ | |||
|- |
|||
| 0x40 || float || Unknown |
|||
|} |
|} |
||
Line 373: | Line 349: | ||
| 0x18 || [[AssetID]] || Unknown |
| 0x18 || [[AssetID]] || Unknown |
||
|- |
|- |
||
| 0x1C || |
| 0x1C || zFragLocType || type |
||
|- |
|- |
||
| 0x20 || int || |
| 0x20 || int || UnknownID |
||
|- |
|- |
||
| 0x24 || |
| 0x24 || [[Vector3]] || Offset |
||
|- |
|- |
||
| |
| 0x30 || float[4] || Padding? (all bytes are 0xCD) |
||
|- |
|- |
||
| |
| 0x40 || float || rand_radius |
||
|- |
|- |
||
⚫ | |||
⚫ | |||
|- |
|||
| 0x40 || float || Unknown |
|||
|- |
|||
| 0x44 || float || Unknown |
|||
|} |
|} |
||
Line 397: | Line 369: | ||
| 0x18 || [[AssetID]] || Unknown |
| 0x18 || [[AssetID]] || Unknown |
||
|- |
|- |
||
| 0x1C || |
| 0x1C || zFragLocType || type |
||
|- |
|- |
||
| 0x20 || int || |
| 0x20 || int || UnknownID |
||
|- |
|- |
||
| |
| 0x2C || [[Vector3]] || Offset |
||
|- |
|- |
||
| |
| 0x30 || float[4] || Padding? (all bytes are 0xCD) |
||
|- |
|- |
||
| |
| 0x40 || float || rand_radius |
||
|- |
|- |
||
⚫ | |||
⚫ | |||
|- |
|- |
||
| |
| 0x48 || float || radius |
||
|- |
|- |
||
| |
| 0x4C || float || duration |
||
|- |
|||
| 0x48 || float || Unknown |
|||
|- |
|||
| 0x4C || float || Unknown |
|||
|- |
|- |
||
| 0x50 || float || |
| 0x50 || float || intensity |
||
|- |
|- |
||
| 0x54 || float || |
| 0x54 || float || freq |
||
|- |
|- |
||
| 0x58 || float || |
| 0x58 || float || repeat_delay |
||
|} |
|} |
||
Revision as of 02:53, 27 June 2022
SHRP | |
---|---|
Shrapnel | |
Type | Binary |
Games used | Battle for Bikini Bottom The SpongeBob SquarePants Movie |
Source code | zShrapnel.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 | UnknownID |
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 | zFragLocType | type |
0x1C | int | UnknownID |
0x20 | Vector3 | Offset |
0x2C | byte[0x10] | Padding? (all bytes are 0xCD) |
0x3C | float | rand_radius |
0x40 | zFragLocType | type2 |
0x44 | int | UnknownID2 |
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 | emit |
0x1E1 | byte[3] | padding |
0x1E4 | Asset ID | PARE_AssetID |
0x1E8 | int | null |
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 | RpAtomic* | modelFile |
0x20 | zFragLocType | type |
0x24 | int | UnknownID |
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 | UnknownID2 |
0x50 | Vector3 | Offset2 |
0x5C | byte[0x3C] | Padding? (all bytes are 0xCD) |
0x98 | zFragLocType | type3 |
0x9C | int | UnknownID3 |
0xA8 | Vector3 | Offset3 |
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 | zFragLocType | type |
0x1C | int | UnknownID |
0x20 | Vector3 | Offset |
0x2C | byte[0x10] | Padding? (all bytes are 0xCD) |
0x3C | float | rand_radius |
0x40 | zFragLocType | type2 |
0x44 | int | UnknownID |
0x48 | Vector3 | Offset2 |
0x54 | float[4] | Padding? (all bytes are 0xCD) |
0x64 | float | rand_radius2 |
0x68 | float | startParentID (all bytes are 0xCD?) |
0x6C | float | endParentID (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 | zFragLocType | type |
0x20 | int | UnknownID |
0x24 | Vector3 | Offset |
0x30 | float[4] | Padding? (all bytes are 0xCD) |
0x40 | float | rand_radius |
Type 8
Offset | Type | Description |
---|---|---|
0x18 | AssetID | Unknown |
0x1C | zFragLocType | type |
0x20 | int | UnknownID |
0x24 | Vector3 | Offset |
0x30 | float[4] | 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 | UnknownID |
0x2C | Vector3 | Offset |
0x30 | float[4] | 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 |