EvilEngine/SHRP: Difference between revisions

From Heavy Iron Modding
Content added Content deleted
mNo edit summary
(new movie shrapnel type info)
Line 48: Line 48:
| 0x00 || int || Type
| 0x00 || int || Type
|-
|-
| 0x04 || [[AssetID]] || Unknown
| 0x04 || [[AssetID]] || UnknownID
|-
|-
| 0x08 || int || parentID1
| 0x08 || int || parentID1
Line 99: Line 99:
! colspan="3" | Type 3
! colspan="3" | Type 3
|-
|-
| 0x18 || int || Unknown
| 0x18 || zFragLocType || type
|-
|-
| 0x1C || int || Unknown
| 0x1C || int || UnknownID
|-
|-
| 0x20 || float || Unknown
| 0x20 || [[Vector3]] || Offset
|-
| 0x24 || float || Unknown
|-
| 0x28 || float || Unknown
|-
|-
| 0x2C || byte[0x10] || Padding? (all bytes are 0xCD)
| 0x2C || byte[0x10] || Padding? (all bytes are 0xCD)
|-
|-
| 0x3C || int || Unknown
| 0x3C || float || rand_radius
|-
|-
| 0x40 || int || Unknown
| 0x40 || zFragLocType || type2
|-
|-
| 0x44 || int || Unknown
| 0x44 || int || UnknownID2
|-
|-
| 0x48 || float || Unknown
| 0x48 || [[Vector3]] || Offset2
|-
|-
| 0x54 || byte[0x10] || Padding? (all bytes are 0xCD)
| 0x4C || int || Unknown
|-
| 0x54 || byte[0x14C] || Padding? (all bytes are 0xCD)
|-
|-
| 0x1A0 || short || Unknown
| 0x58 || float || rand_radius2
|-
|-
| 0x5C || byte[0x138] || Padding? (all bytes are 0xCD)
| 0x1A2 || short || Unknown
|-
|-
| 0x194 || short || Unknown
| 0x1A4 || byte[0x48] || Padding? (all bytes are 0xCD)
|-
|-
| 0x1EC || byte || Unknown
| 0x196 || short || Unknown
|-
|-
| 0x1ED || byte || Unknown
| 0x198 || byte[0x48] || Padding? (all bytes are 0xCD)
|-
|-
| 0x1EE || byte || Unknown
| 0x1E0 || byte || emit
|-
|-
| 0x1EF || byte || Unknown
| 0x1E1 || byte[3] || padding
|-
|-
| 0x1F0 || [[Asset ID]] || Unknown
| 0x1E4 || [[Asset ID]] || PARE_AssetID
|-
|-
| 0x1F4 || int || Unknown
| 0x1E8 || int || null
|}
|}


Line 191: Line 185:
| 0x18 || [[AssetID]] || [[MODL]]
| 0x18 || [[AssetID]] || [[MODL]]
|-
|-
| 0x1C || int || Unknown
| 0x1C || RpAtomic* || modelFile
|-
|-
| 0x20 || int || Unknown
| 0x20 || zFragLocType || type
|-
|-
| 0x24 || int || Unknown
| 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 || int || Unknown
| 0x44 || float || rand_radius
|-
| 0x48 || int || Unknown
|-
| 0x4C || int || Unknown
|-
|-
| 0x50 || int || Unknown
| 0x48 || zFragLocType || type2
|-
|-
| 0x54 || int || Unknown
| 0x4C || int || UnknownID2
|-
|-
| 0x58 || int || Unknown
| 0x50 || [[Vector3]] || Offset2
|-
|-
| 0x5C || byte[0x3C] || Padding? (all bytes are 0xCD)
| 0x5C || byte[0x3C] || Padding? (all bytes are 0xCD)
|-
|-
| 0x98 || int || Unknown
| 0x98 || zFragLocType || type3
|-
|-
| 0x9C || int || Unknown
| 0x9C || int || UnknownID3
|-
|-
| 0xA0 || int || Unknown
| 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 || int || Unknown
| 0x18 || zFragLocType || type
|-
|-
| 0x1C || int || Unknown
| 0x1C || int || UnknownID
|-
|-
| 0x20 || float || Unknown
| 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 || int || Unknown
| 0x3C || float || rand_radius
|-
|-
| 0x40 || int || Unknown
| 0x40 || zFragLocType || type2
|-
|-
| 0x44 || float || Unknown
| 0x44 || int || UnknownID
|-
|-
| 0x48 || int || Unknown
| 0x48 || [[Vector3]] || Offset2
|-
|-
| 0x54 || float[4] || Padding? (all bytes are 0xCD)
| 0x4C || int || Unknown
|-
|-
| 0x50 || int || Unknown
| 0x64 || float || rand_radius2
|-
| 0x54 || byte[0x10] || Padding? (all bytes are 0xCD)
|-
|-
| 0x68 || float || startParentID (all bytes are 0xCD?)
| 0x64 || int || Unknown
|-
|-
| 0x68 || byte[0x8] || Padding? (all bytes are 0xCD)
| 0x6C || float || endParentID (all bytes are 0xCD?)
|}
|}


Line 351: Line 331:
| 0x18 || [[AssetID]] || [[SND]]/[[SNDS]]
| 0x18 || [[AssetID]] || [[SND]]/[[SNDS]]
|-
|-
| 0x1C || int || Unknown
| 0x1C || zFragLocType || type
|-
|-
| 0x20 || int || Unknown
| 0x20 || int || UnknownID
|-
|-
| 0x24 || int || Unknown
| 0x24 || [[Vector3]] || Offset
|-
|-
| 0x30 || float[4] || Padding? (all bytes are 0xCD)
| 0x28 || int || Unknown
|-
|-
| 0x2C || int || Unknown
| 0x40 || float || rand_radius
|-
| 0x30 || byte[0x10] || Padding? (all bytes are 0xCD)
|-
| 0x40 || float || Unknown
|}
|}


Line 373: Line 349:
| 0x18 || [[AssetID]] || Unknown
| 0x18 || [[AssetID]] || Unknown
|-
|-
| 0x1C || int || Unknown
| 0x1C || zFragLocType || type
|-
|-
| 0x20 || int || Unknown
| 0x20 || int || UnknownID
|-
|-
| 0x24 || int || Unknown
| 0x24 || [[Vector3]] || Offset
|-
|-
| 0x28 || float || Unknown
| 0x30 || float[4] || Padding? (all bytes are 0xCD)
|-
|-
| 0x2C || int || Unknown
| 0x40 || float || rand_radius
|-
|-
| 0x44 || int || flags
| 0x30 || byte[0x10] || Padding? (all bytes are 0xCD)
|-
| 0x40 || float || Unknown
|-
| 0x44 || float || Unknown
|}
|}


Line 397: Line 369:
| 0x18 || [[AssetID]] || Unknown
| 0x18 || [[AssetID]] || Unknown
|-
|-
| 0x1C || int || Unknown
| 0x1C || zFragLocType || type
|-
|-
| 0x20 || int || Unknown
| 0x20 || int || UnknownID
|-
|-
| 0x24 || int || Unknown
| 0x2C || [[Vector3]] || Offset
|-
|-
| 0x28 || float || Unknown
| 0x30 || float[4] || Padding? (all bytes are 0xCD)
|-
|-
| 0x2C || int || Unknown
| 0x40 || float || rand_radius
|-
|-
| 0x44 || int || flags
| 0x30 || byte[0x10] || Padding? (all bytes are 0xCD)
|-
|-
| 0x40 || int || Unknown
| 0x48 || float || radius
|-
|-
| 0x44 || int || Unknown
| 0x4C || float || duration
|-
| 0x48 || float || Unknown
|-
| 0x4C || float || Unknown
|-
|-
| 0x50 || float || Unknown
| 0x50 || float || intensity
|-
|-
| 0x54 || float || Unknown
| 0x54 || float || freq
|-
|-
| 0x58 || float || Unknown
| 0x58 || float || repeat_delay
|}
|}



Revision as of 02:53, 27 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 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