EvilEngine/BOUL: Difference between revisions
Content added Content deleted
Battlepedia>Seil (→Format) |
m (Seil moved page BOUL to EvilEngine/BOUL) |
||
(12 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<onlyinclude> |
|||
{{AssetInfobox |
|||
{{#vardefine:typeid|BOUL}}<nowiki/> |
|||
|subtitle=Boulder |
|||
{{#vardefine:name|Boulder}}<nowiki/> |
|||
|type=[[Placeable]] |
|||
{{#vardefine:type|[[Entity]]}}<nowiki/> |
|||
|objectid=0x2F |
|||
{{#vardefine:basetype|0x2F}}<nowiki/> |
|||
|games=Battle for Bikini Bottom<br>The SpongeBob SquarePants Movie<br>The Incredibles<br>Rise of the Underminer}} |
|||
{{#vardefine:games|BFBB TSSM Incredibles ROTU}}<nowiki/> |
|||
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Core/x/xEntBoulder.h xEntBoulder.h]}}<nowiki/> |
|||
{{#vardefine:image|}}<nowiki/> |
|||
</onlyinclude> |
|||
{{AutoAssetInfobox}} |
|||
This asset defines an entry for boulders such as the ones thrown by cannons. |
This asset defines an entry for boulders such as the ones thrown by cannons. |
||
==Format== |
==Format: Battle for Bikini Bottom== |
||
Boulders are [[ |
Boulders are [[Entity|entity assets]], so they start with their 0x54 byte header, then are followed by: |
||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Type !! Description |
! Offset !! Type !! Variable !! Description |
||
|- |
|- |
||
| 0x54 || float || ''' |
| 0x54 || float || '''gravity''' || |
||
|- |
|- |
||
| 0x58 || float || ''' |
| 0x58 || float || '''mass''' || |
||
|- |
|- |
||
| 0x5C || float || ''' |
| 0x5C || float || '''bounce''' || |
||
|- |
|- |
||
| 0x60 || float || ''' |
| 0x60 || float || '''friction''' || |
||
|- |
|- |
||
| 0x64 || float || |
| 0x64 || float || '''statFric''' || |
||
|- |
|- |
||
| 0x68 || float || ''' |
| 0x68 || float || '''maxVel''' || |
||
|- |
|- |
||
| 0x6C || float || ''' |
| 0x6C || float || '''maxAngVel''' || |
||
|- |
|- |
||
| 0x70 || float || ''' |
| 0x70 || float || '''stickiness''' || |
||
|- |
|- |
||
| 0x74 || float || ''' |
| 0x74 || float || '''bounceDamp''' ||If Y velocity is below this when hitting the ground, it gets reset to 0. |
||
|- |
|- |
||
| 0x78 || int || ''' |
| 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. |
|||
| 0x7C || float || Unknown |
|||
|- |
|- |
||
| 0x80 || int || |
| 0x80 || int || '''hitpoints''' || |
||
|- |
|- |
||
| 0x84 || [[AssetID]] ([[Sound Format|Sound]]) || ''' |
| 0x84 || [[AssetID]] ([[Sound Format|Sound]]) || '''soundID''' || Bounce sound. |
||
|- |
|- |
||
| 0x88 || float |
| 0x88 || float || '''volume''' || |
||
|- |
|- |
||
| 0x8C || float || '''minSoundVel''' || |
|||
! colspan="3" | Events |
|||
|- |
|- |
||
| |
| 0x90 || float || '''maxSoundVel''' || |
||
|- |
|||
| 0x94 || float || '''innerRadius''' || |
|||
|- |
|||
| 0x98 || float || '''outerRadius''' || |
|||
|- |
|||
! colspan="4" | Events |
|||
|- |
|||
| 0x9C || Event[numberOfEvents] || '''[[Events]]''' || |
|||
|} |
|} |
||
==Format: The SpongeBob SquarePants Movie - Rise of the Underminer== |
|||
Boulders are [[Placeable Asset|placeable assets]], so they start with their 0x50 byte header, then are followed by: |
|||
{| class="wikitable" |
|||
! 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''' |
|||
|- |
|||
! colspan="4" | Events |
|||
|- |
|||
| - || Event[numberOfEvents] || [[Events]] || |
|||
|} |
|||
=== Events === |
=== Events === |
||
{{Assets}} |
|||
{{AutoGameNavs}} |
|||
[[Category:Asset]] |
[[Category:Asset]] |
Latest revision as of 22:32, 15 September 2022
BOUL | |
---|---|
Boulder | |
Type | Entity |
Base Type | 0x2F |
Games used | Battle for Bikini Bottom The SpongeBob SquarePants Movie |
Source code | xEntBoulder.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 |
|
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 |
|
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 |