35 u32* flags_out,
Vec3* normal_out);
37 u32* flags_out,
Vec3* normal_out);
39 u32* flags_out,
Vec3* normal_out);
41 u32* flags_out,
Vec3* normal_out);
43 float a0y,
float a1x,
float b0x,
44 float b0y,
float b1x,
float b1y);
46 bool mpCheckFloor(
float ax,
float ay,
float bx,
float by,
47 float y_offset,
Vec3* vec_out,
int* line_id_out,
48 u32* flags_out,
Vec3* normal_out,
49 int line_id_skip,
int joint_id_skip,
50 int joint_id_only,
bool (*)(Fighter_GObj*,
int),
53 float y_offset,
Vec3* vec_out,
54 int* line_id_out,
u32* flags_out,
55 Vec3* normal_out,
int line_id_skip,
56 int joint_id_skip,
int joint_id_only,
57 bool (*)(Fighter_GObj*,
int),
60 Vec3* vec_out,
int* line_id_out,
61 u32* flags_out,
Vec3* normal_out,
62 int joint_id_skip,
int joint_id_only);
64 Vec3* vec_out,
int* line_id_out,
65 u32* flags_out,
Vec3* normal_out,
66 int joint_id_skip,
int joint_id_only);
68 float a0y,
float a1y,
float b0x,
69 float b0y,
float b1x,
float b1y);
71 Vec3* vec_out,
int* line_id_out,
72 u32* flags_out,
Vec3* normal_out,
73 int joint_id_skip,
int joint_id_only);
75 Vec3* vec_out,
int* line_id_out,
76 u32* flags_out,
Vec3* normal_out,
77 int joint_id_skip,
int joint_id_only);
79 Vec3* vec_out,
int* line_id_out,
80 u32* flags_out,
Vec3* normal_out,
81 int joint_id_skip,
int joint_id_only);
83 Vec3* vec_out,
int* line_id_out,
84 u32* flags_out,
Vec3* normal_out,
85 int joint_id_skip,
int joint_id_only);
87 float by,
float cx,
float cy,
89 int* line_id_out,
int joint_id_skip,
92 float a1y,
float b0x,
float b0y,
94 int* line_id_out,
int joint_id_skip,
99 int joint_id_skip,
int joint_id_only,
100 int dir,
float left,
float bottom,
101 float right,
float top);
103 Vec3* pos_out,
int* line_id_out,
105 int joint_id_skip,
int joint_id_only);
107 u32* flags_out,
Vec3* normal_out,
108 int joint_id_skip,
int joint_id_only,
109 float x0,
float y0,
float x1,
float y1);
111 Vec3* normal_out,
int joint_id_skip,
112 int joint_id_only,
float x0,
float y0,
float x1,
156 void mpVtxGetPos(
int vtx_id,
float* x_out,
float* y_out);
158 void mpLineSetPos(
int line_id,
float x0,
float y0,
float x1,
180 Vec3* normal_out,
float distance,
211 float x2,
float y2,
float x3,
float y3);
static u8 index[20][3]
Definition GXDraw.c:424
static void cb(long result, struct DVDCommandBlock *block)
Definition fstload.c:19
unsigned int u32
Definition types.h:13
signed short int s16
Definition types.h:6
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.
Definition forward.h:55
mpCollisionBox mpLib_80458868[2]
Definition mplib.c:70
int mpLib_80053BD4_Ceiling(int line_id)
Definition mplib.c:4003
void mpCeilingGetRight(int line_id, Vec3 *)
Definition mplib.c:4143
void mpLib_DrawSpecialPoints(void)
Definition mplib.c:6757
void mpJointSetB10(int joint_id)
Definition mplib.c:5428
bool mpCheckMultiple(float x0, float y0, float x1, float y1, Vec3 *pos_out, int *line_id_out, u32 *flags_out, Vec3 *normal_out, u32 checks, int joint_id_skip, int joint_id_only)
Definition mplib.c:3363
void mpJointGetCb1(int joint_id, mpLib_JointCollisionCallback *cb, void **user_data)
Definition mplib.c:5449
bool mpLib_80054ED8(int line_id)
Definition mplib.c:4381
void mpLineGetV0Pos(int line_id, Vec3 *pos_out)
Definition mplib.c:4328
int mpLib_80051BA8_Floor(Vec3 *out_vec, int line_id_skip, int joint_id_skip, int joint_id_only, int dir, float left, float bottom, float right, float top)
Definition mplib.c:3215
int mpJointFromLine(int line_id)
Definition mplib.c:5050
int mpLib_800536CC_Floor(int line_id)
Definition mplib.c:3939
void mpRightWallGetBottom(int line_id, Vec3 *)
Definition mplib.c:4288
void mpVtxSetPos(int vtx_id, float x, float y)
Definition mplib.c:4927
void mpJointHide(int joint_id)
Definition mplib.c:4520
void mpLib_80057424(int joint_id)
Definition mplib.c:5202
bool mpCheckRightWall(float ax, float ay, float bx, float by, Vec3 *vec_out, int *line_id_out, u32 *flags_out, Vec3 *normal_out, int joint_id_skip, int joint_id_only)
Definition mplib.c:2549
void mpLib_8004ED5C(int, float *, float *, float *, float *)
Definition mplib.c:1529
bool mpLib_800511A4_RightWall(float ax, float ay, float bx, float by, float cx, float cy, float dx, float dy, int *line_id_out, int joint_id_skip, int joint_id_only)
Definition mplib.c:2857
bool mpCheckedBounding(void)
Definition mplib.c:5791
bool mpCheckCeiling(float ax, float ay, float bx, float by, Vec3 *vec_out, int *line_id_out, u32 *flags_out, Vec3 *normal_out, int joint_id_skip, int joint_id_only)
Definition mplib.c:1887
int mpLineNextNonRightWall(int line_id)
Definition mplib.c:3758
void mpLib_80058614_Floor(void)
Definition mplib.c:5662
int mpLib_80056A54(int, int *)
Definition mplib.c:4997
float mpLib_800569EC(u32)
Definition mplib.c:4984
int mpLib_8005389C_Ceiling(int line_id)
Definition mplib.c:3965
int mpLineNextNonCeiling(int line_id)
Definition mplib.c:3686
CollJoint * mpGetGroundCollJoint(void)
Definition mplib.c:833
void mpJointUpdateBounding(int joint_id)
Definition mplib.c:4882
void mpJointSetCb1(int joint_id, void *user_data, mpLib_JointCollisionCallback cb)
Definition mplib.c:5434
void mpLib_80057FDC(int joint_id)
Definition mplib.c:5396
void mpJointUnhide(int joint_id)
Definition mplib.c:4565
bool mpCheckAll(Vec3 *pos_out, int *line_id_out, u32 *flags_out, Vec3 *normal_out, int joint_id_skip, int joint_id_only, float x0, float y0, float x1, float y1)
Definition mplib.c:3535
bool mpCheckLeftWallRemap(float ax, float ay, float bx, float by, Vec3 *vec_out, int *line_id_out, u32 *flags_out, Vec3 *normal_out, int joint_id_skip, int joint_id_only)
Definition mplib.c:2376
void mpLib_8005667C(int joint_id)
Definition mplib.c:4906
Vec3 * mpLineGetNormal(int line_id, Vec3 *normal_out)
Definition mplib.c:4361
void mpLib_80057528(int line_id)
Definition mplib.c:5216
bool mpLib_80056C54(int line_id, Vec3 *pos, int *line_id_out, Vec3 *vec_out, u32 *flags_out, Vec3 *normal_out, float distance, float wall_limit)
Definition mplib.c:5074
void mpLibLoad(MapCollData *coll_data)
Definition mplib.c:895
void mpLib_DrawEcbs(CollData *)
Definition mplib.c:5947
void mpRightWallGetTop(int line_id, Vec3 *)
Definition mplib.c:4259
int * mpLib_80056AFC(int, int *)
Definition mplib.c:5021
void mpLeftWallGetBottom(int line_id, Vec3 *)
Definition mplib.c:4230
enum_t mpLineGetKind(int line_id)
Definition mplib.c:4339
void mpLib_80053DA4_Floor(int line_id, Vec3 *)
Definition mplib.c:4027
void mpCeilingGetLeft(int line_id, Vec3 *)
Definition mplib.c:4172
void mpLib_DrawZones(void)
blast zones, camera bounds, etc
Definition mplib.c:6815
void mpLib_80058820(void)
Definition mplib.c:5778
void mpLib_DrawCrosses(s16 *idx, int len, GXColor)
Definition mplib.c:6679
int mpLineGetNext(int line_id)
Definition mplib.c:986
int mpLib_800534FC_Floor(int line_id)
Definition mplib.c:3872
void mpLib_800552B0(int joint_id, HSD_JObj *, int z)
what even is this lol
Definition mplib.c:4481
int mpLineGetPrev(int line_id)
Definition mplib.c:1008
void mpLib_80057BC0(int joint_id)
Definition mplib.c:5337
void mpJointSetCb2(int joint_id, void *user_data, mpLib_JointCollisionCallback cb)
Definition mplib.c:5471
bool mpLinesConnected(int start_id, int target_id)
Definition mplib.c:4439
void mpLineGetV1Pos(int line_id, Vec3 *pos_out)
Definition mplib.c:4317
int mpLib_8004DD90_Floor(int line_id, Vec3 *, float *y_out, u32 *flags_out, Vec3 *normal_out)
Definition mplib.c:1061
void mpLib_80055E9C(int joint_id)
Definition mplib.c:4688
void mpLib_8005A2DC(void)
Definition mplib.c:6771
void mpLineSetPos(int line_id, float x0, float y0, float x1, float y1)
Definition mplib.c:4934
void mpLib_80058044(int joint_id)
Definition mplib.c:5412
bool mpLineIntersectionV(float *int_x, float *int_y, float a0x, float a0y, float a1y, float b0x, float b0y, float b1x, float b1y)
line intersection between a and b, where a is a vertical line
Definition mplib.c:2187
void mpJointClearCb1(int joint_id)
Definition mplib.c:5442
void mpJointUpdateDynamics(int joint_id)
Definition mplib.c:4618
bool mpCheckFloor(float ax, float ay, float bx, float by, float y_offset, Vec3 *vec_out, int *line_id_out, u32 *flags_out, Vec3 *normal_out, int line_id_skip, int joint_id_skip, int joint_id_only, bool(*)(Fighter_GObj *, int), Fighter_GObj *)
Definition mplib.c:1573
int mpLineNextNonFloor(int line_id)
Definition mplib.c:3632
void mpBoundingCheck3(float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3)
Definition mplib.c:5851
void mpJointGetCb2(int joint_id, mpLib_JointCollisionCallback *cb, void **user_data)
Definition mplib.c:5478
int mpLib_80053394_Floor(int line_id)
Definition mplib.c:3798
void mpLib_SetupDraw(GXColor)
Definition mplib.c:5927
int mpLib_80053448_Floor(int line_id)
Definition mplib.c:3804
void mpLib_80054D68(int line_id, u32 flags)
Definition mplib.c:4351
bool mpLib_8004DBB4(int index, Vec3 *out)
void mpFloorGetLeft(int line_id, Vec3 *)
Definition mplib.c:4114
void mpFloorGetRight(int line_id, Vec3 *)
Definition mplib.c:4085
bool mpCheckAllRemap(Vec3 *pos_out, int *line_id_out, u32 *flags_out, Vec3 *normal_out, int joint_id_skip, int joint_id_only, float x0, float y0, float x1, float y1)
Definition mplib.c:3527
void mpLib_800587FC(HSD_GObj *)
Definition mplib.c:5772
int mpLib_8004E398_LeftWall(int line_id, Vec3 *, float *x_out, u32 *flags_out, Vec3 *normal_out)
Definition mplib.c:1215
bool mpLineIntersectionH(float *int_x, float *int_y, float a0x, float a0y, float a1x, float b0x, float b0y, float b1x, float b1y)
line intersection between a and b, where a is a horizontal line
Definition mplib.c:1471
int mpLib_80053A04_Ceiling(int line_id)
Definition mplib.c:3977
bool mpCheckFloorRemap(float ax, float ay, float bx, float by, float y_offset, Vec3 *vec_out, int *line_id_out, u32 *flags_out, Vec3 *normal_out, int line_id_skip, int joint_id_skip, int joint_id_only, bool(*)(Fighter_GObj *, int), Fighter_GObj *)
Definition mplib.c:1716
void mpLib_800575B0(int line_id)
Definition mplib.c:5230
u32 mpLineGetFlags(int line_id)
Definition mplib.c:4345
int mpLib_8005199C_Floor(Vec3 *, int joint_id_skip, int joint_id_only)
Definition mplib.c:3136
void mpJointListAdd(int joint_id)
Definition mplib.c:5244
void mpLib_80056758(int line_id, float x0, float y0, float x1, float y1)
Definition mplib.c:4941
void mpLib_80059554(void)
Definition mplib.c:6280
int mpLinePrevNonFloor(int line_id)
Definition mplib.c:3650
void mpLib_8005811C(CollData *, int ledge_id)
Definition mplib.c:5457
int mpLineNextNonLeftWall(int line_id)
Definition mplib.c:3704
int * mpLib_80056A8C(int, int *)
Definition mplib.c:5005
void mpLib_800581DC(int joint_id0, int joint_id1)
Definition mplib.c:5498
int mpLinePrevNonRightWall(int line_id)
Definition mplib.c:3740
void mpUncheckBounding(void)
Definition mplib.c:5896
void mpJointListUnlink(CollJoint *)
Definition mplib.c:5312
void mpLeftWallGetTop(int line_id, Vec3 *)
Definition mplib.c:4201
void mpVtxGetPos(int vtx_id, float *x_out, float *y_out)
Definition mplib.c:4920
int mpLib_8004E090_Ceiling(int line_id, Vec3 *, float *y_out, u32 *flags_out, Vec3 *normal_out)
Definition mplib.c:1139
int mpLib_80056B34(int, int *)
Definition mplib.c:5029
CollVtx * mpGetGroundCollVtx(void)
Definition mplib.c:823
int mpLib_80053950_Ceiling(int line_id)
Definition mplib.c:3971
bool mpCheckRightWallRemap(float ax, float ay, float bx, float by, Vec3 *vec_out, int *line_id_out, u32 *flags_out, Vec3 *normal_out, int joint_id_skip, int joint_id_only)
Definition mplib.c:2683
CollLine * mpGetGroundCollLine(void)
Definition mplib.c:828
int mpLib_80056AC4(int, int *)
Definition mplib.c:5013
bool mpCheckLeftWall(float ax, float ay, float bx, float by, Vec3 *vec_out, int *line_id_out, u32 *flags_out, Vec3 *normal_out, int joint_id_skip, int joint_id_only)
Definition mplib.c:2241
void mpPruneEmptyLines(MapCollData *coll_data)
Definition mplib.c:838
void mpLib_80053ECC_Floor(int line_id, Vec3 *)
Definition mplib.c:4051
int mpLib_8004E684_RightWall(int line_id, Vec3 *, float *x_out, u32 *flags_out, Vec3 *normal_out)
Definition mplib.c:1287
MapCollData * mpLib_8004D164(void)
Definition mplib.c:818
bool mpLib_800515A0_LeftWall(float a0x, float a0y, float a1x, float a1y, float b0x, float b0y, float b1x, float b1y, int *line_id_out, int joint_id_skip, int joint_id_only)
Definition mplib.c:2995
bool mpGetSpeed(int line_id, Vec3 *pos, Vec3 *speed)
Definition mplib.c:4954
bool mpCheckCeilingRemap(float ax, float ay, float bx, float by, Vec3 *vec_out, int *line_id_out, u32 *flags_out, Vec3 *normal_out, int joint_id_skip, int joint_id_only)
Definition mplib.c:2022
int * mpLib_80056A1C(int, int *)
Definition mplib.c:4989
void mpLib_DrawSnapping(void)
Definition mplib.c:6094
int mpLinePrevNonCeiling(int line_id)
Definition mplib.c:3668
void mpLib_80055E24(int joint_id)
Definition mplib.c:4672
void mpLib_80058560(void)
Definition mplib.c:5639
void mpBoundingCheck2(float x1, float y1, float x2, float y2)
Definition mplib.c:5827
void mpLib_80059E60(void)
Definition mplib.c:6620
int mpLinePrevNonLeftWall(int line_id)
Definition mplib.c:3722
void mpBoundingCheck(float left, float bottom, float right, float top)
takes a bounding box and checks each joint to see if they're within range if they are outside the bou...
Definition mplib.c:5798
int y
Definition types.h:1
int x
Definition types.h:0