EvilEngine/SURF
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 | |
Type | Object |
Games used | The 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 |
|
0x09 | byte | game_sticky | always 0 |
0x0A | byte | game_damage_flags |
|
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 |
|
0x10 | float | friction | range = 0 to 1? |
0x14 | struct (size: 0x18) | matfx | |
0x14 | int | Unknown |
|
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 |
|
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 |