EvilEngine/BOUL

From Heavy Iron Modding
(Redirected from BOUL)

BOUL
Boulder
TypeEntity
Base Type0x2F
Games usedBattle for Bikini Bottom

The SpongeBob SquarePants Movie
The Incredibles

Rise of the Underminer
Source codexEntBoulder.h

This asset defines an entry for boulders such as the ones thrown by cannons.

Format: Battle for Bikini Bottom

Boulders are entity assets, so they start with their 0x54 byte header, then are followed by:

Offset Type Variable Description
0x54 float gravity
0x58 float mass
0x5C float bounce
0x60 float friction
0x64 float statFric
0x68 float maxVel
0x6C float maxAngVel
0x70 float stickiness
0x74 float bounceDamp If Y velocity is below this when hitting the ground, it gets reset to 0.
0x78 int flags
  • 1 - Can Hit Walls - If false, dies on hitting a wall.
  • 2 - Damage Player
  • 4 - something related to destructible objects
  • 8 - Damage NPCs
  • 16 -
  • 32 - Die on OOB Surfaces
  • 64 -
  • 128 -
  • 256 - Die on Player Attack
  • 512 - Die after Kill Timer - If false, same effect as setting killTimer to 0 (infinity).
0x7C float killTimer If 0, lifetime is infinity and Can Hit Walls is forced on. Note that it can still die on OOB surfaces and player attack.
0x80 int hitpoints
0x84 AssetID (Sound) soundID Bounce sound.
0x88 float volume
0x8C float minSoundVel
0x90 float maxSoundVel
0x94 float innerRadius
0x98 float outerRadius
Events
0x9C Event[numberOfEvents] Events

Format: The SpongeBob SquarePants Movie - Rise of the Underminer

Boulders are placeable assets, so they start with their 0x50 byte header, then are followed by:

Offset Type Variable Description
0x50 float gravity
0x54 float mass
0x58 float bounce
0x5C float friction
0x60 float maxVel
0x64 float maxAngVel
0x68 float stickiness
0x6C float bounceDamp
0x70 uint flags
  • 1 - Can Hit Walls - If false, dies on hitting a wall.
  • 2 - Damage Player
  • 4 - something related to destructible objects
  • 8 - Damage NPCs
  • 16 -
  • 32 - Die on OOB Surfaces
  • 64 -
  • 128 -
  • 256 - Die on Player Attack
  • 512 - Die after Kill Timer - If false, same effect as setting killTimer to 0 (infinity).
0x74 float killtimer
0x78 uint hitpoints
0x7C AssetID uSoundGroupHash
0x80 float minSoundVel
0x84 float maxSoundVel
0x88 float fSphereRadius
0x8C char uPad0
0x8D char uPad1
0x8E char uPad2
0x8F char uBoneIndex
0x90 float? fInitNonCollideTime Only present in ROTU
Events
- Event[numberOfEvents] Events


Events