EvilEngine/BUTN: Difference between revisions
Content added Content deleted
Battlepedia>Seil No edit summary |
m (Seil moved page BUTN to EvilEngine/BUTN) |
||
(9 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<onlyinclude> |
|||
{{AssetInfobox |
|||
{{#vardefine:typeid|BUTN}}<nowiki/> |
|||
|subtitle=Button |
|||
{{#vardefine:name|Button}}<nowiki/> |
|||
|type=[[Placeable]] |
|||
{{#vardefine:type|[[Entity]]}}<nowiki/> |
|||
|objectid=0x18 |
|||
{{#vardefine:basetype|0x18}}<nowiki/> |
|||
|games=Night of 100 Frights<br>Battle for Bikini Bottom<br>The SpongeBob SquarePants Movie<br>The Incredibles}} |
|||
{{#vardefine:games|Scooby BFBB TSSM Incredibles}}<nowiki/> |
|||
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Game/zEntButton.h zEntButton.h]}}<nowiki/> |
|||
{{#vardefine:image|Buttons.png}}<nowiki/> |
|||
</onlyinclude> |
|||
{{AutoAssetInfobox}} |
|||
This asset defines an entry for buttons such as switches and pressure plates. |
This asset defines an entry for buttons such as switches and pressure plates. |
||
==Format== |
==Format== |
||
Buttons are [[ |
Buttons are [[Entity|entity assets]], so they start with their 0x54 byte header, then are followed by: |
||
{| class="wikitable" |
{| class="wikitable" |
||
Line 26: | Line 31: | ||
|- |
|- |
||
| 0x68 || int || '''buttonActFlags''' || This bitmask specifies what can press the button. |
| 0x68 || int || '''buttonActFlags''' || This bitmask specifies what can press the button. |
||
* |
* 0x1 - Bubble Spin/Sliding (SpongeBob) |
||
* |
* 0x2 - Bubble Bounce |
||
* |
* 0x4 - Bubble Bash |
||
* |
* 0x8 - [[BOUL|Boulder]]/Bubble Bowl |
||
* |
* 0x10 - Cruise Bubble |
||
* |
* 0x20 - Bungee |
||
* |
* 0x40 - Thrown Enemy/Tiki |
||
* |
* 0x80 - Throw Fruit |
||
* |
* 0x100 - Patrick Slam |
||
* |
* 0x200 - Unknown |
||
* |
* 0x400 - (Pressure Plate) Player Stand |
||
* |
* 0x800 - (Pressure Plate) Enemy Stand |
||
* |
* 0x1000 - (Pressure Plate) [[BOUL|Boulder]]/Bubble Bowl |
||
* |
* 0x2000 - (Pressure Plate) Stone Tiki |
||
* |
* 0x4000 - Sandy Melee/Sliding |
||
* |
* 0x8000 - Patrick Melee/Sliding |
||
* |
* 0x10000 - (Pressure Plate) Throw Fruit |
||
* 0x20000 - Patrick Cartwheel (TSSM only, unused in BFBB) |
|||
* 17-31 - Unused |
|||
* The rest of the bits are unused. |
|||
|- |
|- |
||
| 0x6C || [[Motion]] || '''Motion''' || Always type 4 (Mechanism) |
| 0x6C || [[Motion]] || '''Motion''' || Always type 4 (Mechanism) |
||
Line 55: | Line 61: | ||
=== Events === |
=== Events === |
||
{{Assets}} |
|||
{{AutoGameNavs}} |
|||
[[Category:Asset]] |
[[Category:Asset]] |
Latest revision as of 22:33, 15 September 2022
BUTN | |
---|---|
Button | |
Type | Entity |
Base Type | 0x18 |
Games used | Night of 100 Frights Battle for Bikini Bottom |
Source code | zEntButton.h |
This asset defines an entry for buttons such as switches and pressure plates.
Format
Buttons are entity assets, so they start with their 0x54 byte header, then are followed by:
Offset | Type | Variable | Description |
---|---|---|---|
0x54 | AssetID | modelPressedInfoID | Defaults to ModelAssetID in the placeable header (same model for pressed and unpressed). |
0x58 | int | actMethod |
|
0x5C | int | initButtonState | |
0x60 | int | isReset | 0 (disabled) or 1 (enabled). If this is enabled, the button will automatically unpress itself after resetDelay. (Only works on Button, not Pressure Plate.) Useful for timed challenges. |
0x64 | float | resetDelay | (seconds) Time to wait after being pressed to unpress. |
0x68 | int | buttonActFlags | This bitmask specifies what can press the button.
|
0x6C | Motion | Motion | Always type 4 (Mechanism) |
Events | |||
0x9C | Event[numberOfEvents] | Events | BFBB |
0xA8 | Event[numberOfEvents] | Events | Movie |