62 lines
2.6 KiB
C
62 lines
2.6 KiB
C
#ifndef _MECDEF_H_
|
|
#define _MECDEF_H_
|
|
|
|
/* game material type */
|
|
#define C_xDNM_SLIDE_TYPE_GAME_MATERIAL (1<<0)
|
|
#define C_xDNM_REBOUND_TYPE_GAME_MATERIAL (1<<1)
|
|
#define C_xDNM_HANG_TYPE_GAME_MATERIAL (1<<2)
|
|
#define C_xDNM_HAND_TYPE_GAME_MATERIAL (1<<3)
|
|
#define C_xDNM_NO_COLLISION_WITH_GROUND (1<<4)
|
|
#define C_xDNM_GI_TYPE_GAME_MATERIAL (1<<5)
|
|
#define C_xDNM_CLIMB_TYPE_GAME_MATERIAL (1<<6)
|
|
#define C_xDNM_HURT_TYPE_GAME_MATERIAL (1<<10)
|
|
#define C_xDNM_WATER_TYPE_GAME_MATERIAL (1<<14)
|
|
#define C_xDNM_NO_COLLISION_TYPE_GAME_MATERIAL (1<<15)
|
|
|
|
|
|
|
|
/* combined game material type */
|
|
#define C_xDNM_NO_COLLISION_CLIMB_TYPE_GAME_MATERIAL (C_xDNM_CLIMB_TYPE_GAME_MATERIAL|C_xDNM_NO_COLLISION_TYPE_GAME_MATERIAL)
|
|
#define C_xDNM_COLLISION_REPORT_MASK 8072 /* 0001111110001000 */
|
|
|
|
/* custom bits */
|
|
#define C_ulDNM_COMPUTE_CHANNEL (0x2)
|
|
#define C_ulDNM_NO_CRASH_CUSTOM_BIT (0x40)
|
|
#define C_ulDNM_CAN_PUSH_RAYMAN_CUSTOM_BIT (0x4000000)
|
|
#define C_ulDNM_RAYMAN_CUSTOM_BIT (0x80000000)
|
|
|
|
/* Rayman zone */
|
|
#define C_ulDNM_RAYMAN_ZDM_RADIUS MTH_M_xDoubleToReal(0.9)
|
|
|
|
/* Climb limits */
|
|
#define C_xDNM_CLIMB_COS_ANGLE_LIMIT MTH_M_xDoubleToReal(0.92718) /* cos(22°)
|
|
|
|
/* Initial coeff */
|
|
#define C_xDNM_BASE_COEF MTH_C_ZERO
|
|
#define C_xDNM_WALK_COEF MTH_C_ZERO
|
|
|
|
|
|
/* internal define */
|
|
#define C_xDNM_MTH_EPSILON MTH_M_xDoubleToReal(1e-3)
|
|
#define C_xDNM_MAX_MULT_SPEED MTH_M_xDoubleToReal(1.0370)
|
|
#define C_xDNM_NUL_MOVE MTH_M_xDoubleToReal(1e-10)
|
|
#define C_xDNM_CLIMB_SLOPE_LIMIT MTH_M_xDoubleToReal(MTH_M_xTan(MTH_M_xDegToRad(60)))
|
|
#define C_xDNM_SPIDER_SLOPE_LIMIT MTH_M_xDoubleToReal(MTH_M_xTan(MTH_M_xDegToRad(60)))
|
|
#define C_xDNM_EPSILON_DOT_PROD MTH_M_xDoubleToReal(0.05)
|
|
#define C_xDNM_CLIMB_FIRST_NORMAL_MOVE MTH_M_xDoubleToReal(0.75)
|
|
#define C_xDNM_GI_DEFAULT_NORMAL_MOVE MTH_M_xDoubleToReal(0.45)
|
|
#define C_xDNM_CLIMB_DEFAULT_NORMAL_MOVE MTH_M_xDoubleToReal(0.45)
|
|
#define C_xDNM_ON_GROUND_DEFAULT_NORMAL_MOVE MTH_M_xDoubleToReal(0.45)
|
|
#define C_xDNM_SPIDER_DEFAULT_NORMAL_MOVE MTH_M_xDoubleToReal(0.5)
|
|
#define C_xDNM_REAL_PRECISION (MTH_M_xDoubleToReal(1e-4)) /* max 2e-5 */
|
|
#define C_xDNM_EDGE_GROUND_LIMIT (MTH_M_xDoubleToReal(0.9848)) /* z limit */
|
|
#define C_xDNM_DISTANCE_FROM_WALL_ON_GROUND (MTH_M_xDoubleToReal(0.10))
|
|
#define C_xDNM_CORNER_LIMIT (MTH_M_xDoubleToReal(0.7071067811865)) /* 45° */
|
|
#define C_xDNM_MINUS_CORNER_LIMIT (MTH_M_xDoubleToReal(-0.7071067811865)) /* 45° */
|
|
#define C_xDNM_VERTICAL_FALL_LIMIT MTH_M_xDoubleToReal(0.07)
|
|
#define C_xDNM_TILT_SENSIBILITY MTH_M_xDoubleToReal(1)
|
|
#define C_xDNM_CLIMB_BACKFACE_LIMIT MTH_M_xDoubleToReal(0.95)
|
|
#define C_xDNM_ON_GROUND_STEP MTH_M_xDoubleToReal(0.45)
|
|
|
|
|
|
#endif //_MECDEF_H_
|