EvilEngine/PLAT

Revision as of 02:11, 31 May 2021 by MinecraftFreak73 (talk | contribs) (TSSM BreakawayPlatform)

This asset usually defines an entry for a moving object.

PLAT
Platform
TypeEntity
Base Type0x06
Games usedNight of 100 Frights

Battle for Bikini Bottom
The SpongeBob SquarePants Movie
The Incredibles

Rise of the Underminer
Source codezPlatform.h

Format: Battle For Bikini Bottom

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

Offset Type Description
0x54 byte Type - This is always the same as the Type at 0x09 for every type except Platform, which can be one of the following subtypes:
  • 0 - Extend/Retract
  • 1 - Orbit
  • 2 - Spline
  • 3 - Move Point
  • 13 - Fully Manipulable
0x55 byte Padding (always 0)
0x56 short Flags
  • 1 - Shake - Shakes when player mounts/dismounts
  • 4 - Solid
Platform only
0x58 byte[0x38] null (no data)
Mechanism only
0x58 byte[0x38] null (no data)
Pendulum only
0x58 byte[0x38] null (no data)
Conveyor Belt only
0x58 float Speed - The player slides along the platform's X axis at this speed (in units per second) when standing on top of it
0x5C byte[0x34] null
Falling Platform only
0x58 float Speed
0x5C Asset ID Bust Model ID
0x60 byte[0x30] null
FR only
0x58 float fspeed
0x5C float rspeed
0x60 float ret_delay
0x64 float post_ret_delay
0x68 byte[0x28] null
Breakaway Platform only
0x58 float Breakaway Delay - Time in seconds to fall down after player stands on it
0x5C Asset ID Bust Model ID - Always 0 or 0xCE7F8131 (hash of "--Choose One--")
0x60 float Reset Delay - Time in seconds after falling down to reset back to normal position
0x64 unsigned int Flags
  • 1 - Allow Sneak - Won't break if player is sneaking
0x68 byte[0x28] null
Springboard only
0x58 float[3] Heights - Bounce height array, unknown why it's an array. The game seems to pick the highest of the 3 heights in this array
0x64 float Height (Bubble Bounce) - Bounce height when using the Bubble Bounce (SpongeBob only)
0x68 AssetID[3] ANIM IDs - Bounce animations?
0x74 Vector3 Direction - Bounce direction (unit vector)
0x80 unsigned int Flags
  • 1 - Lock view (look down)
  • 2 - ?
  • 4 - Lock movement (doesn't let you move)
0x84 byte[0xC] null
Teeter-Totter only
0x58 float itilt - initial tilt, in radians
0x5C float Max Tilt - in radians
0x60 float Inverse Mass - determines tilt speed
0x64 byte[0x2C] null
Paddle only
0x58 int Start Orient - Array index of Orients to start at (zero-indexed). Range is 0 ... Orient Count - 1.
0x5C int Orient Count - Number of rotations the paddle can be in (up to 6).
0x60 float Orient Loop - Max rotation? (In degrees)
0x64 float[6] Orients - Array of yaw rotations (in degrees) for the paddle (up to 6).
0x7C unsigned int Flags
0x80 float Rotate Speed
0x84 float Accel Time
0x88 float Decel Time
0x8C float Hub Radius - collision radius?
Fully Manipulable only
0x58 byte[0x38] null (no data)
0x90 Motion Motion
Events
0xC0 Event[numberOfEvents] Events

Format: The Spongebob Squarepants Movie

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

Offset Type Description
0x50 byte Type - This is always the same as the Type at 0x09 for every type except Platform, which can be one of the following subtypes:
  • 0 - Extend/Retract
  • 1 - Orbit
  • 2 - Spline
  • 3 - Move Point
  • 13 - Fully Manipulable
0x51 byte Padding (always 0)
0x52 short Flags - Collision type
  • 0, 1, 2, 3, 8, 9 - Nonsolid
  • 4, 6 - Normal collision
  • 5, 7 - Bouncy collision
Platform only
0x54 byte[0x38] null (no data)
Mechanism only
0x54 byte[0x38] null (no data)
Pendulum only
0x54 byte[0x38] null (no data)
Conveyor Belt only
0x54 float Speed
0x58 byte[0x34] null
Falling Platform only
0x54 float Speed
0x58 Asset ID Bust Model ID
0x5C byte[0x30] null
FR only
0x54 float fspeed
0x58 float rspeed
0x5C float ret_delay
0x60 float post_ret_delay
0x64 byte[0x28] null
Breakaway Platform only
0x54 float Breakaway Delay - Time in seconds to fall down after player stands on it
0x58 Asset ID Bust Model ID - Always 0 or 0xCE7F8131 (hash of "--Choose One--")
0x5C float Reset Delay - Time in seconds after falling down to reset back to normal position
0x60 unsigned int Flags - Always 0 or 1
0x64 float collisionOffTime
Springboard only
0x54 float[3] Heights - Bounce height array, unknown why it's an array. The game seems to pick the highest of the 3 heights in this array
0x60 float Height (Bubble Bounce) - Bounce height when using the Bubble Bounce (SpongeBob only)
0x64 AssetID[3] ANIM IDs - Bounce animations?
0x70 Vector3 Direction - Bounce direction
0x7C unsigned int Flags - Movement lock mode
0x80 byte[0xC] null
Teeter-Totter only
0x54 float itilt - unknown, in radians
0x58 float Max Tilt - in radians
0x5C float Inverse Mass - determines tilt speed
0x60 byte[0x2C] null
Paddle only
0x54 int Start Orient - Array index of Orients to start at (zero-indexed). Range is 0 ... Orient Count - 1.
0x58 int Orient Count - Number of rotations the paddle can be in (up to 6).
0x5C float Orient Loop - Max rotation? (In degrees)
0x60 float[6] Orients - Array of yaw rotations (in degrees) for the paddle (up to 6).
0x78 unsigned int Flags
0x7C float Rotate Speed
0x80 float Accel Time
0x84 float Decel Time
0x88 float Hub Radius - collision radius?
Fully Manipulable only
0x54 byte[0x38] null (no data)
0x8C Motion Motion
Events
0xC8 Event[numberOfEvents] Events

Types (0x09)

  • 0 - Platform
  • 4 - Mechanism
  • 5 - Pendulum? (unused)
  • 6 - Conveyor Belt
  • 7 - Falling Platform? (unused)
  • 8 - FR? (Forward/Return?) (unused)
  • 9 - Breakaway Platform
  • 10 - Springboard
  • 11 - Teeter-Totter
  • 12 - Paddle
  • 13 - Fully Manipulable

Events

  • Forward
  • Reverse
  • Run
  • Arrive