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
|