|
SSBM Decomp
|
Go to the source code of this file.
Typedefs | |
| typedef void(* | mpLib_JointCollisionCallback) (void *user_data, int joint_id, CollData *coll, int coll_x50, mpLib_GroundEnum ground_kind, float delta_y) |
| Joint collision callback for ground surfaces. | |
| typedef bool(* | mpColl_Callback) (CollData *, u32) |
Enumerations | |
| enum | mp_Terrain { mp_Terrain_Basic , mp_Terrain_Rock , mp_Terrain_Grass , mp_Terrain_Dirt , mp_Terrain_Wood , mp_Terrain_LightMetal , mp_Terrain_HeavyMetal , mp_Terrain_Paper , mp_Terrain_Goop , mp_Terrain_Birdo , mp_Terrain_Water , mp_Terrain_Unk11 , mp_Terrain_UFO , mp_Terrain_Turtle , mp_Terrain_Snow , mp_Terrain_Ice , mp_Terrain_GnW , mp_Terrain_Unk17 , mp_Terrain_Checkered , mp_Terrain_Unk19 } |
| enum | mpLib_GroundEnum { mpLib_GroundEnum_Unk0 , mpLib_GroundEnum_Unk1 , mpLib_GroundEnum_Unk2 } |
| enum | CollLineKind { CollLine_Floor = 1 << 0 , CollLine_Ceiling = 1 << 1 , CollLine_RightWall = 1 << 2 , CollLine_LeftWall = 1 << 3 } |
| enum | CollDataX130Flags { CollData_X130_Locked = 1 << 4 , CollData_X130_Clear = 1 << 5 } |
| enum | CollJointFlags { CollJoint_B8 = 1 << 8 , CollJoint_B9 = 1 << 9 , CollJoint_B10 = 1 << 10 , CollJoint_B11 = 1 << 11 , CollJoint_TooFar = 1 << 12 , CollJoint_Enabled = 1 << 16 , CollJoint_Hidden = 1 << 18 } |
| #define LINE_FLAG_KIND (0xF) |
| #define LINE_FLAG_EMPTY (1 << 7) |
| #define LINE_FLAG_PLATFORM (1 << 8) |
| #define LINE_FLAG_LEDGE (1 << 9) |
| #define LINE_FLAG_ENABLED (1 << 16) |
| #define LINE_FLAG_HIDDEN (1 << 18) |
| #define MPCOLL_WALLID_MAX 9 |
| #define Collide_LeftWallPush 0x1 |
COLLISION FLAGS.
| #define Collide_LeftWallHug 0x20 |
| #define Collide_LeftWallMask 0x3F |
| #define Collide_RightWallPush 0x40 |
| #define Collide_RightWallHug 0x800 |
| #define Collide_RightWallMask 0xFC0 |
| #define Collide_WallMask (Collide_LeftWallMask | Collide_RightWallMask) |
| #define Collide_CeilingPush 0x2000 |
| #define Collide_CeilingHug 0x4000 |
| #define Collide_CeilingMask (Collide_CeilingPush | Collide_CeilingHug) |
| #define Collide_FloorPush 0x8000 |
| #define Collide_FloorHug 0x10000 |
| #define Collide_FloorMask (Collide_FloorPush | Collide_FloorHug) |
| #define Collide_LeftEdge 0x100000 |
| #define Collide_RightEdge 0x200000 |
| #define Collide_Edge 0x800000 |
| #define Collide_LeftLedgeGrab 0x1000000 |
| #define Collide_RightLedgeGrab 0x2000000 |
| #define Collide_LedgeGrabMask (Collide_LeftLedgeGrab | Collide_RightLedgeGrab) |
| #define Collide_LeftLedgeSlip 0x10000000 |
| #define Collide_RightLedgeSlip 0x20000000 |
| typedef void(* mpLib_JointCollisionCallback) (void *user_data, int joint_id, CollData *coll, int coll_x50, mpLib_GroundEnum ground_kind, float delta_y) |
Joint collision callback for ground surfaces.
| user_data | Saved untyped data attached to the callback. |
| coll_x50 | Unknown, sourced from CollData::x50. dist according to fn_801FC9AC? |
| delta_y | Relative y-offset since the collision started, equal to coll->cur_pos.y - coll->last_pos.y |
| enum mp_Terrain |
| enum mpLib_GroundEnum |
| enum CollLineKind |
| enum CollDataX130Flags |
| enum CollJointFlags |