7#include "dolphin/gx/GXStruct.h"
16#include <dolphin/mtx.h>
27 u32* flags_out, Vec3* normal_out);
29 u32* flags_out, Vec3* normal_out);
31 u32* flags_out, Vec3* normal_out);
33 u32* flags_out, Vec3* normal_out);
35 float a0y,
float a1x,
float b0x,
36 float b0y,
float b1x,
float b1y);
38 bool mpCheckFloor(
float ax,
float ay,
float bx,
float by,
39 float y_offset, Vec3* vec_out,
int* line_id_out,
40 u32* flags_out, Vec3* normal_out,
41 int line_id_skip,
int joint_id_skip,
42 int joint_id_only,
bool (*)(Fighter_GObj*,
int),
45 float y_offset, Vec3* vec_out,
46 int* line_id_out, u32* flags_out,
47 Vec3* normal_out,
int line_id_skip,
48 int joint_id_skip,
int joint_id_only,
49 bool (*)(Fighter_GObj*,
int),
52 Vec3* vec_out,
int* line_id_out,
53 u32* flags_out, Vec3* normal_out,
54 int joint_id_skip,
int joint_id_only);
56 Vec3* vec_out,
int* line_id_out,
57 u32* flags_out, Vec3* normal_out,
58 int joint_id_skip,
int joint_id_only);
60 float a0y,
float a1y,
float b0x,
61 float b0y,
float b1x,
float b1y);
63 Vec3* vec_out,
int* line_id_out,
64 u32* flags_out, Vec3* normal_out,
65 int joint_id_skip,
int joint_id_only);
67 Vec3* vec_out,
int* line_id_out,
68 u32* flags_out, Vec3* normal_out,
69 int joint_id_skip,
int joint_id_only);
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 float by,
float cx,
float cy,
81 int* line_id_out,
int joint_id_skip,
84 float a1y,
float b0x,
float b0y,
86 int* line_id_out,
int joint_id_skip,
91 int joint_id_skip,
int joint_id_only,
95 Vec3* pos_out,
int* line_id_out,
96 u32* flags_out, Vec3* normal_out, u32 checks,
97 int joint_id_skip,
int joint_id_only);
99 u32* flags_out, Vec3* normal_out,
100 int joint_id_skip,
int joint_id_only,
101 float x0,
float y0,
float x1,
float y1);
102 bool mpCheckAll(Vec3* pos_out,
int* line_id_out, u32* flags_out,
103 Vec3* normal_out,
int joint_id_skip,
104 int joint_id_only,
float x0,
float y0,
float x1,
148 void mpVtxGetPos(
int vtx_id,
float* x_out,
float* y_out);
154 bool mpGetSpeed(
int line_id, Vec3* pos, Vec3* speed);
164 Vec3* vec_out, u32* flags_out,
165 Vec3* normal_out,
float,
float);
191 float x2,
float y2,
float x3,
float y3);
u8 x0
Definition dbbonus.c:20
UnkFlagStruct x1
Definition dbbonus.c:21
u8 x2
Definition gm_1601.c:142
u8 x3
Definition gm_1601.c:143
u32 idx
Definition lbheap.c:13
void(* mpLib_Callback)(Ground *, s32, CollData *, s32, mpLib_GroundEnum, f32)
Definition forward.h:51
void mpLib_800569EC(void)
UNK_T mpLib_80056AFC(void)
UNK_T mpLib_80056B34(void)
bool mpLib_8004E398_LeftWall(void)
UNK_T mpLib_80056A1C(void)
UNK_T mpLib_80056A8C(void)
UNK_T mpLib_80056AC4(void)
UNK_T mpLib_80056A54(void)
int mpLib_80053BD4_Ceiling(int line_id)
Definition mplib.c:3132
void mpCeilingGetRight(int line_id, Vec3 *)
Definition mplib.c:3252
void mpLib_DrawSpecialPoints(void)
Definition mplib.c:6510
void mpJointSetB10(int joint_id)
Definition mplib.c:5220
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:2666
bool mpLib_80054ED8(int line_id)
Definition mplib.c:3466
void mpLineGetV0Pos(int line_id, Vec3 *pos_out)
Definition mplib.c:3413
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:2522
int mpJointFromLine(int line_id)
Definition mplib.c:4840
int mpLib_800536CC_Floor(int line_id)
Definition mplib.c:3063
void mpJointSetCb1(int joint_id, Ground *, mpLib_Callback)
Definition mplib.c:5226
void mpRightWallGetBottom(int line_id, Vec3 *)
Definition mplib.c:3377
void mpVtxSetPos(int vtx_id, float x, float y)
Definition mplib.c:3997
void mpJointHide(int joint_id)
Definition mplib.c:3588
void mpLib_80057424(int joint_id)
Definition mplib.c:4990
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:1848
void mpLib_8004ED5C(int, float *, float *, float *, float *)
Definition mplib.c:822
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:2158
bool mpCheckedBounding(void)
Definition mplib.c:5574
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:1178
int mpLineNextNonRightWall(int line_id)
Definition mplib.c:2994
void mpLib_80058614_Floor(void)
Definition mplib.c:5453
int mpLib_8005389C_Ceiling(int line_id)
Definition mplib.c:3083
int mpLineNextNonCeiling(int line_id)
Definition mplib.c:2910
CollJoint * mpGetGroundCollJoint(void)
Definition mplib.c:98
void mpJointUpdateBounding(int joint_id)
Definition mplib.c:3952
void mpLib_80057FDC(int joint_id)
Definition mplib.c:5186
void mpJointUnhide(int joint_id)
Definition mplib.c:3633
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:2839
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:1674
void mpLib_8005667C(int joint_id)
Definition mplib.c:3976
void mpJointGetCb1(int joint_id, mpLib_Callback *, Ground **)
Definition mplib.c:5240
Vec3 * mpLineGetNormal(int line_id, Vec3 *normal_out)
Definition mplib.c:3446
void mpLib_80057528(int line_id)
Definition mplib.c:5005
void mpLibLoad(MapCollData *coll_data)
Definition mplib.c:148
void mpLib_DrawEcbs(CollData *)
Definition mplib.c:5726
void mpRightWallGetTop(int line_id, Vec3 *)
Definition mplib.c:3352
void mpLeftWallGetBottom(int line_id, Vec3 *)
Definition mplib.c:3327
enum_t mpLineGetKind(int line_id)
Definition mplib.c:3424
void mpJointGetCb2(int joint_id, mpLib_Callback *, Ground **)
Definition mplib.c:5268
void mpLib_80053DA4_Floor(int line_id, Vec3 *)
Definition mplib.c:3153
void mpCeilingGetLeft(int line_id, Vec3 *)
Definition mplib.c:3277
void mpLib_DrawZones(void)
Definition mplib.c:6541
void mpLib_80058820(void)
Definition mplib.c:5562
void mpLib_DrawCrosses(s16 *idx, int len, GXColor)
Definition mplib.c:6428
int mpLineGetNext(int line_id)
Definition mplib.c:287
int mpLib_800534FC_Floor(int line_id)
Definition mplib.c:3043
void mpLib_800552B0(int joint_id, HSD_JObj *, int z)
Definition mplib.c:3549
int mpLineGetPrev(int line_id)
Definition mplib.c:307
void mpLib_80057BC0(int joint_id)
Definition mplib.c:5126
bool mpLinesConnected(int start_id, int target_id)
Definition mplib.c:3484
void mpLineGetV1Pos(int line_id, Vec3 *pos_out)
Definition mplib.c:3402
int mpLib_8004DD90_Floor(int line_id, Vec3 *, float *y_out, u32 *flags_out, Vec3 *normal_out)
Definition mplib.c:359
void mpLib_80055E9C(int joint_id)
Definition mplib.c:3757
void mpLib_8005A2DC(void)
Definition mplib.c:6521
void mpLineSetPos(int line_id, float x0, float y0, float x1, float y1)
Definition mplib.c:4004
void mpLib_DrawMatchingLines(int, int, GXColor)
Definition mplib.c:5974
void mpLib_80058044(int joint_id)
Definition mplib.c:5203
bool mpLineIntersectionV(float *int_x, float *int_y, float a0x, float a0y, float a1y, float b0x, float b0y, float b1x, float b1y)
Definition mplib.c:1484
void mpJointClearCb1(int joint_id)
Definition mplib.c:5233
void mpJointUpdateDynamics(int joint_id)
Definition mplib.c:3688
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:859
void mpJointSetCb2(int joint_id, Ground *, mpLib_Callback)
Definition mplib.c:5261
int mpLineNextNonFloor(int line_id)
Definition mplib.c:2847
void mpBoundingCheck3(float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3)
Definition mplib.c:5634
bool mpLib_80056C54(int line_id, Vec3 *pos, int *line_id_out, Vec3 *vec_out, u32 *flags_out, Vec3 *normal_out, float, float)
int mpLib_80053394_Floor(int line_id)
Definition mplib.c:3015
void mpLib_SetupDraw(GXColor)
Definition mplib.c:5706
int mpLib_80053448_Floor(int line_id)
Definition mplib.c:3029
void mpLib_80054D68(int line_id, u32 flags)
Definition mplib.c:3436
void mpFloorGetLeft(int line_id, Vec3 *)
Definition mplib.c:3227
void mpFloorGetRight(int line_id, Vec3 *)
Definition mplib.c:3202
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:2831
void mpLib_800587FC(HSD_GObj *)
Definition mplib.c:5556
bool mpLineIntersectionH(float *int_x, float *int_y, float a0x, float a0y, float a1x, float b0x, float b0y, float b1x, float b1y)
Definition mplib.c:769
int mpLib_80053A04_Ceiling(int line_id)
Definition mplib.c:3111
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:1006
void mpLib_800575B0(int line_id)
Definition mplib.c:5019
u32 mpLineGetFlags(int line_id)
Definition mplib.c:3430
int mpLib_8005199C_Floor(Vec3 *, int joint_id_skip, int joint_id_only)
Definition mplib.c:2445
void mpJointListAdd(int joint_id)
Definition mplib.c:5033
void mpLib_80056758(int line_id, float x0, float y0, float x1, float y1)
Definition mplib.c:4011
void mpLib_80059554(void)
Definition mplib.c:6036
int mpLinePrevNonFloor(int line_id)
Definition mplib.c:2868
void mpLib_8005811C(CollData *, int ledge_id)
Definition mplib.c:5247
int mpLineNextNonLeftWall(int line_id)
Definition mplib.c:2931
void mpLib_800581DC(int joint_id0, int joint_id1)
Definition mplib.c:5275
int mpLinePrevNonRightWall(int line_id)
Definition mplib.c:2973
void mpUncheckBounding(void)
Definition mplib.c:5679
void mpJointListUnlink(CollJoint *)
Definition mplib.c:5101
void mpLeftWallGetTop(int line_id, Vec3 *)
Definition mplib.c:3302
void mpVtxGetPos(int vtx_id, float *x_out, float *y_out)
Definition mplib.c:3990
int mpLib_8004E090_Ceiling(int line_id, Vec3 *, float *y_out, u32 *flags_out, Vec3 *normal_out)
Definition mplib.c:437
CollVtx * mpGetGroundCollVtx(void)
Definition mplib.c:88
int mpLib_80053950_Ceiling(int line_id)
Definition mplib.c:3097
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:1983
CollLine * mpGetGroundCollLine(void)
Definition mplib.c:93
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:1538
void mpPruneEmptyLines(MapCollData *coll_data)
Definition mplib.c:103
void mpLib_80053ECC_Floor(int line_id, Vec3 *)
int mpLib_8004E684_RightWall(int line_id, Vec3 *, float *x_out, u32 *flags_out, Vec3 *normal_out)
Definition mplib.c:585
MapCollData * mpLib_8004D164(void)
Definition mplib.c:83
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:2300
bool mpGetSpeed(int line_id, Vec3 *pos, Vec3 *speed)
Definition mplib.c:4024
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:1315
void mpLib_DrawSnapping(void)
Definition mplib.c:5865
int mpLinePrevNonCeiling(int line_id)
Definition mplib.c:2889
void mpLib_80055E24(int joint_id)
Definition mplib.c:3741
void mpLib_80058560(void)
Definition mplib.c:5430
void mpBoundingCheck2(float x1, float y1, float x2, float y2)
Definition mplib.c:5610
void mpLib_80059E60(void)
Definition mplib.c:6384
int mpLinePrevNonLeftWall(int line_id)
Definition mplib.c:2952
void mpBoundingCheck(float left, float bottom, float right, float top)
Definition mplib.c:5581
float bottom
Definition mplib.static.h:12
float right
Definition mplib.static.h:14
float left
Definition mplib.static.h:13
float top
Definition mplib.static.h:11
was using this to try and fix some matches, unsuccessfully
Definition gobj.h:26