EvilEngine/BUTN: Difference between revisions

From Heavy Iron Modding
Content added Content deleted
Battlepedia>Igorseabra4
No edit summary
Battlepedia>Seil
Line 45: Line 45:
* 17-31 - Unused
* 17-31 - Unused
|-
|-
! colspan="4" | xEntMotionAsset
| 0x6C || byte[8] || Unknown || Usually 4,0,0,4,2,1,1,0
|-
|-
| 0x6C || byte || '''type''' || Usually 4 (mechanism)
| 0x74 || float || '''Pressed Height''' || (local units) Height of the button when pressed. This is affected by local rotation and scale.
|-
|-
| 0x6D || byte || '''use_banking''' || Usually 0
| 0x78 || float || '''Transition Time''' || (seconds) Time it takes to move between pressed and unpressed height.
|-
|-
| 0x6E || short || '''flags''' || Usually 0
| 0x7C || float || '''Ease In Time''' || (seconds) Easing in duration, relative to unpressed height. Must be >= 0 and <= Transition Time.
|-
|-
! colspan="4" | xEntMotionMechData
| 0x80 || float || '''Ease Out Time''' || (seconds) Easing out duration, relative to pressed height. Must be >= 0 and <= Transition Time.
|-
|-
| 0x84 || int[6] || null ||
| 0x70 || byte || '''type''' || Usually 2
|-
| 0x71 || byte || '''flags''' || Usually 1
|-
| 0x72 || byte || '''sld_axis''' || Usually 1 (Y axis?)
|-
| 0x73 || byte || '''rot_axis''' || Usually 0 (X axis?)
|-
| 0x74 || float || '''sld_dist''' || (local units) Height of the button when pressed. This is affected by local rotation and scale.
|-
| 0x78 || float || '''sld_tm''' || (seconds) Time it takes to move between pressed and unpressed height.
|-
| 0x7C || float || '''sld_acc_tm''' || (seconds) Easing in duration, relative to unpressed height. Must be >= 0 and <= sld_tm.
|-
| 0x80 || float || '''sld_dec_tm''' || (seconds) Easing out duration, relative to pressed height. Must be >= 0 and <= sld_tm.
|-
| 0x84 || float || '''rot_dist''' ||
|-
| 0x88 || float || '''rot_tm''' ||
|-
| 0x8C || float || '''rot_acc_tm''' ||
|-
| 0x90 || float || '''rot_dec_tm''' ||
|-
| 0x94 || float || '''ret_delay''' ||
|-
| 0x98 || float || '''post_ret_delay''' ||
|-
|-
| 0x9C || int[3] || null || '''Movie only'''
| 0x9C || int[3] || null || '''Movie only'''

Revision as of 06:33, 17 April 2019

BUTN
Button
TypePlaceable
Games usedThe Incredibles

This asset defines an entry for buttons such as switches and pressure plates.

Format

Buttons are placeable 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
  • 0 = Button - Stays pressed upon being hit. (Also has a flashing effect)
  • 1 = Pressure Plate - Stays pressed until it stops being hit, then unpresses.
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.
  • 0 - Bubble Spin/Sliding (SpongeBob)
  • 1 - Bubble Bounce
  • 2 - Bubble Bash
  • 3 - Boulder/Bubble Bowl
  • 4 - Cruise Bubble
  • 5 - Bungee
  • 6 - Thrown Enemy/Tiki
  • 7 - Throw Fruit
  • 8 - Patrick Slam
  • 9 - Unknown
  • 10 - (Pressure Plate) Player Stand
  • 11 - (Pressure Plate) Enemy Stand
  • 12 - (Pressure Plate) Boulder/Bubble Bowl
  • 13 - (Pressure Plate) Stone Tiki
  • 14 - Sandy Melee/Sliding
  • 15 - Patrick Melee/Sliding
  • 16 - (Pressure Plate) Throw Fruit
  • 17-31 - Unused
xEntMotionAsset
0x6C byte type Usually 4 (mechanism)
0x6D byte use_banking Usually 0
0x6E short flags Usually 0
xEntMotionMechData
0x70 byte type Usually 2
0x71 byte flags Usually 1
0x72 byte sld_axis Usually 1 (Y axis?)
0x73 byte rot_axis Usually 0 (X axis?)
0x74 float sld_dist (local units) Height of the button when pressed. This is affected by local rotation and scale.
0x78 float sld_tm (seconds) Time it takes to move between pressed and unpressed height.
0x7C float sld_acc_tm (seconds) Easing in duration, relative to unpressed height. Must be >= 0 and <= sld_tm.
0x80 float sld_dec_tm (seconds) Easing out duration, relative to pressed height. Must be >= 0 and <= sld_tm.
0x84 float rot_dist
0x88 float rot_tm
0x8C float rot_acc_tm
0x90 float rot_dec_tm
0x94 float ret_delay
0x98 float post_ret_delay
0x9C int[3] null Movie only
Events
0x9C Event[numberOfEvents] Events BFBB
0xA8 Event[numberOfEvents] Events Movie

Events