EvilEngine/SURF

Revision as of 10:49, 15 February 2019 by Battlepedia>Seil (→‎Format)

This asset defines an entry for a surface, which can be applied to other assets such as PLAT, SIMP, BOUL or even parts of JSP through the MAPR asset. The surface can have properties such as special materials, texture animations or patterns, and properties such as hurt, wall jump, out of bounds, prevent standing on.

SURF
Surface
TypeObject
Games usedThe Incredibles

Format

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

Offset Type Variable Description
0x08 byte game_damage_type
  • 0x00 = ?
  • 0x01 = ?
  • 0x05 = ?
  • 0x06 = Hazard?
0x09 byte game_sticky always 0
0x0A byte game_damage_flags
  • 0x00 = ?
  • 0x01 = ?
0x0B byte surf_type always 0
0x0C byte phys_pad padding
0x0D byte sld_start probably in degrees
0x0E byte sld_stop probably in degrees
0x0F byte phys_flags
  • 0x00 = ?
  • 0x02 = ?
  • 0x03 = ?
  • 0x04 = ?
  • 0x08 = ?
  • 0x10 = ?
  • 0x20 = ?
  • 0x48 = ?
0x10 float friction range = 0 to 1?
0x14 struct (size: 0x18) matfx
0x14 int Unknown
  • 0 = ?
  • 1 = ?
  • 8 = ?
0x18 ? Unknown null
0x1C AssetID (Texture) Env Map Texture?
0x20 float Unknown Env Map Value
0x24 ? Unknown null
0x28 ? Unknown null
0x2C struct (size: 0x8) colorfx
0x2C short Unknown always 0x000E
0x2E short Unknown always 0
0x30 float Unknown
0x34 int texture_anim_flags 0 or 1?
0x38 struct (size: 0x18) texture_anim
0x38 int Unknown
  • 0 = ?
  • 2 = ?
0x3C AssetID (Group) Texture Group? For UV anim
0x40 float Unknown
0x44 ? Unknown null
0x48 ? Unknown null
0x4C float Unknown
0x50 int uvfx_flags related to UV anim? 0 or 1?
0x54 struct (size: 0xC0) uvfx
0x54 ? Unknown null
0x58 ? Unknown null
0x5C float Unknown
0x60 float Unknown
0x64 float Unknown
0x68 ? Unknown null
0x6C float UV Animation X
0x70 float UV Animation Y
0x74 ? Unknown null
0x78 float Unknown
0x7C float Unknown
0x80 ?[22] Unknown null
0xD8 float Unknown
0xDC float Unknown
0xE0 ?[13] Unknown null
0x114 byte on 0 or 1
0x115 byte[3] pad padding
0x118 float oob_delay
0x11C float walljump_scale_xz
0x120 float walljump_scale_y
0x124 float damage_timer little endian
0x128 float damage_bounce little endian
Events
0x12C Event[numberOfEvents] Events