SSBM Decomp
Loading...
Searching...
No Matches
mplib.c File Reference

Map library. More...

#include "mplib.h"
#include "mpisland.h"
#include "placeholder.h"
#include "platform.h"
#include "stdbool.h"
#include "types.h"
#include "baselib/debug.h"
#include "baselib/forward.h"
#include "baselib/memory.h"
#include "db/db.h"
#include "dolphin/gx/GXGeometry.h"
#include "dolphin/gx/GXStruct.h"
#include "dolphin/gx/GXVert.h"
#include "dolphin/types.h"
#include "ft/ftlib.h"
#include "gr/grdynamicattr.h"
#include "gr/ground.h"
#include "it/inlines.h"
#include "it/it_26B1.h"
#include "it/itCharItems.h"
#include "lb/forward.h"
#include "mp/forward.h"
#include "mp/mpcoll.h"
#include <math.h>
#include <math_ppc.h>
#include <stddef.h>
#include <dolphin/mtx.h>
#include <baselib/jobj.h>
#include <sysdolphin/baselib/cobj.h>
#include <sysdolphin/baselib/gobj.h>
#include <sysdolphin/baselib/gobjproc.h>
#include <sysdolphin/baselib/lobj.h>
#include <sysdolphin/baselib/tev.h>
#include <sysdolphin/baselib/texp.h>
#include <melee/cm/camera.h>
#include <melee/cm/types.h>
#include <melee/gr/stage.h>
#include <melee/lb/types.h>

Data Structures

struct  mpLib_803BF248_t_x4
struct  mpLib_803BF248_t

Macros

#define LINEID_CHECK(line, line_id)

Enumerations

enum  {
  mpLib_EnemySpawnVtxIds = 0x16 ,
  mpLib_TrophySpawnVtxIds = 0x66 ,
  mpLib_ExitVtxIds = 0x80
}

Functions

static bool mpLineIntersection (float a0x, float a0y, float a1x, float a1y, float b0x, float b0y, float b1x, float b1y, float *int_x, float *int_y)
 direction dependent line intersection
MapCollDatampLib_8004D164 (void)
CollVtxmpGetGroundCollVtx (void)
CollLinempGetGroundCollLine (void)
CollJointmpGetGroundCollJoint (void)
void mpPruneEmptyLines (MapCollData *coll_data)
void mpLibLoad (MapCollData *coll_data)
int mpLineGetNext (int line_id)
int mpLineGetPrev (int line_id)
static void mpRemap2d (float *x_out, float *y_out, float ax0, float ay0, float ax1, float ay1, float bx0, float by0, float bx1, float by1, float px, float py)
 remap point p from line a to line b
int mpLib_8004DD90_Floor (int line_id, Vec3 *vec, float *y_out, u32 *flags_out, Vec3 *normal_out)
int mpLib_8004E090_Ceiling (int line_id, Vec3 *vec, float *y_out, u32 *flags_out, Vec3 *normal_out)
int mpLib_8004E398_LeftWall (int line_id, Vec3 *vec, float *x_out, u32 *flags_out, Vec3 *normal_out)
int mpLib_8004E684_RightWall (int line_id, Vec3 *vec, float *x_out, u32 *flags_out, Vec3 *normal_out)
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
static CollLinempLineGetCollLine (int line_id)
static float * mpVtxGetYBase (void)
void mpLib_8004ED5C (int line_id, float *x0_out, float *y0_out, float *x1_out, float *y1_out)
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(*cb)(Fighter_GObj *, int), Fighter_GObj *gobj)
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(*cb)(Fighter_GObj *, int), Fighter_GObj *gobj)
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)
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)
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
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)
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)
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)
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)
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)
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)
int mpLib_8005199C_Floor (Vec3 *vec, int joint_id_skip, int joint_id_only)
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)
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)
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)
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)
static int mpLineGetNextCheckInline (MapLine *line, s16 result)
static int mpLineGetPrevCheckInline (MapLine *line, s16 result)
static int mpLineGetPrevCheckInlineVtx (MapLine *line, s16 result, CollVtx *vtx)
static int mpLineGetNextCheckInlineVtx (MapLine *line, s16 result, CollVtx *vtx)
static int mpLineIterNonResult (int new_id, int line_id)
 Return new_id unless the line walk dead-ended or looped back.
int mpLineNextNonFloor (int line_id)
int mpLinePrevNonFloor (int line_id)
int mpLinePrevNonCeiling (int line_id)
int mpLineNextNonCeiling (int line_id)
int mpLineNextNonLeftWall (int line_id)
int mpLinePrevNonLeftWall (int line_id)
int mpLinePrevNonRightWall (int line_id)
int mpLineNextNonRightWall (int line_id)
static int mpLineWalkNon (int line_id, int kind, bool next)
 Walk the next/prev chain from line_id while lines still have kind set; return the first line without it, or -1.
int mpLib_80053394_Floor (int line_id)
int mpLib_80053448_Floor (int line_id)
static int mpLineGetNextInline (int line_id)
static int mpLineGetNextCachedInline (int line_id)
static int mpLineGetNextCheckResultFirst (int result, MapLine *line)
int mpLib_800534FC_Floor (int line_id)
static int mpLineGetPrevInline (int line_id)
static int mpLineGetPrevCheckResultFirst (int result, MapLine *line)
int mpLib_800536CC_Floor (int line_id)
int mpLib_8005389C_Ceiling (int line_id)
int mpLib_80053950_Ceiling (int line_id)
int mpLib_80053A04_Ceiling (int line_id)
int mpLib_80053BD4_Ceiling (int line_id)
void mpLib_80053DA4_Floor (int line_id, Vec3 *pos_out)
void mpLib_80053ECC_Floor (int line_id, Vec *vec)
static u32 mpLineGetKindInline (int line_id)
void mpFloorGetRight (int line_id, Vec3 *pos_out)
void mpFloorGetLeft (int line_id, Vec3 *pos_out)
void mpCeilingGetRight (int line_id, Vec3 *pos_out)
void mpCeilingGetLeft (int line_id, Vec3 *pos_out)
void mpLeftWallGetTop (int line_id, Vec3 *pos_out)
void mpLeftWallGetBottom (int line_id, Vec3 *pos_out)
void mpRightWallGetTop (int line_id, Vec3 *pos_out)
void mpRightWallGetBottom (int line_id, Vec3 *pos_out)
void mpLineGetV1Pos (int line_id, Vec3 *pos_out)
void mpLineGetV0Pos (int line_id, Vec3 *pos_out)
enum_t mpLineGetKind (int line_id)
u32 mpLineGetFlags (int line_id)
void mpLib_80054D68 (int line_id, u32 flags)
Vec3mpLineGetNormal (int line_id, Vec3 *normal_out)
bool mpLib_80054ED8 (int line_id)
static int mpLineGetNextFrom (MapLine *line, u32 *flags_base)
static int mpLineGetPrevFrom (MapLine *line, u32 *flags_base)
bool mpLinesConnected (int start_id, int target_id)
static HSD_JObjjobj_child (HSD_JObj *jobj)
static HSD_JObjjobj_next (HSD_JObj *jobj)
static HSD_JObjjobj_parent (HSD_JObj *jobj)
void mpLib_800552B0 (int joint_id, HSD_JObj *jobj, int z)
 what even is this lol
void mpJointHide (int joint_id)
void mpJointUnhide (int joint_id)
void mpJointUpdateDynamics (int joint_id)
void mpLib_80055E24 (int joint_id)
void mpLib_80055E9C (int joint_id)
void mpJointUpdateBounding (int joint_id)
void mpLib_8005667C (int joint_id)
void mpVtxGetPos (int vtx_id, float *x_out, float *y_out)
void mpVtxSetPos (int vtx_id, float x, float y)
void mpLineSetPos (int line_id, float x0, float y0, float x1, float y1)
void mpLib_80056758 (int line_id, float x0, float y0, float x1, float y1)
bool mpGetSpeed (int line_id, Vec3 *pos, Vec3 *speed)
float mpLib_800569EC (u32 unk)
int * mpLib_80056A1C (int arg0, int *arg1)
int mpLib_80056A54 (int arg0, int *arg1)
int * mpLib_80056A8C (int arg0, int *arg1)
int mpLib_80056AC4 (int arg0, int *arg1)
int * mpLib_80056AFC (int arg0, int *arg1)
int mpLib_80056B34 (int arg0, int *arg1)
static float sqrtf_store (float x, volatile float *y)
int mpJointFromLine (int line_id)
bool mpLib_80056C54 (int line_id, Vec3 *pos, int *line_id_out, Vec3 *vec_out, u32 *flags_out, Vec3 *normal_out, f32 var_f25, f32 arg7)
void mpLib_80057424 (int joint_id)
void mpLib_80057528 (int line_id)
void mpLib_800575B0 (int line_id)
void mpJointListAdd (int joint_id)
void mpJointListUnlink (CollJoint *arg0)
void mpLib_80057BC0 (int joint_id)
void mpLib_80057FDC (int joint_id)
void mpLib_80058044 (int joint_id)
void mpJointSetB10 (int joint_id)
void mpJointSetCb1 (int joint_id, void *user_data, mpLib_JointCollisionCallback cb)
void mpJointClearCb1 (int joint_id)
void mpJointGetCb1 (int joint_id, mpLib_JointCollisionCallback *cb, void **user_data)
void mpLib_8005811C (CollData *coll, int ledge_id)
void mpJointSetCb2 (int joint_id, void *gp, mpLib_JointCollisionCallback cb)
void mpJointGetCb2 (int joint_id, mpLib_JointCollisionCallback *cb, void **user_data)
static void mpLib_GetJointVtxRange (CollJoint *joint, int *start, int *count)
void mpLib_800581DC (int joint_id0, int joint_id1)
void mpLib_80058560 (void)
void mpLib_80058614_Floor (void)
void mpLib_800587FC (HSD_GObj *gobj)
void mpLib_80058820 (void)
bool mpCheckedBounding (void)
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 bounding box, they are marked as too far
void mpBoundingCheck2 (float x1, float y1, float x2, float y2)
void mpBoundingCheck3 (float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3)
void mpUncheckBounding (void)
void mpLib_SetupDraw (GXColor color)
void mpLib_DrawEcbs (CollData *cd)
static GXColor mpLib_CopyColor (GXColor color)
void mpLib_DrawSnapping (void)
int mpLib_DrawMatchingLines (int value, int flag, const GXColor *color)
void mpLib_80059554 (void)
void mpLib_80059E60 (void)
void mpLib_DrawCrosses (s16 *idx, int len, GXColor arg2)
void mpLib_DrawSpecialPoints (void)
void mpLib_8005A2DC (void)
void mpLib_DrawZones (void)
 blast zones, camera bounds, etc

Variables

mpCollisionBox mpLib_80458868 [2]
static bool didCheckBounding
static MapCollDatampLib_804D64B4
static CollVtxgroundCollVtx
static CollLinegroundCollLine
static CollJointgroundCollJoint
static CollJointjointListStart
static CollJointjointListEnd
static s32 mpLib_804D64CC
static s32 mpLib_804D64D0
static s32 mpLib_804D64D4
static s32 mpLib_804D64D8
static s32 mpLib_804D64DC
static s32 mpLib_804D64E0
static s32 mpLib_804D64E4
Vec3 mpLib_80458888 [0x80]
struct mpLib_803BF248_t_x4 mpLib_803BD3D8
static struct mpLib_803BF248_t_x4 mpLib_803BD430
static struct mpLib_803BF248_t_x4 mpLib_803BD488
static struct mpLib_803BF248_t_x4 mpLib_803BD4E0
static struct mpLib_803BF248_t_x4 mpLib_803BD538
static struct mpLib_803BF248_t_x4 mpLib_803BD590
static struct mpLib_803BF248_t_x4 mpLib_803BD5E8
static struct mpLib_803BF248_t_x4 mpLib_803BD640
static struct mpLib_803BF248_t_x4 mpLib_803BD698
static struct mpLib_803BF248_t_x4 mpLib_803BD6F0
static struct mpLib_803BF248_t_x4 mpLib_803BD748
static struct mpLib_803BF248_t_x4 mpLib_803BD7A0
static struct mpLib_803BF248_t_x4 mpLib_803BD7F8
static struct mpLib_803BF248_t_x4 mpLib_803BD850
static struct mpLib_803BF248_t_x4 mpLib_803BD8A8
static struct mpLib_803BF248_t_x4 mpLib_803BD900
static struct mpLib_803BF248_t_x4 mpLib_803BD958
static struct mpLib_803BF248_t_x4 mpLib_803BD9B0
static struct mpLib_803BF248_t_x4 mpLib_803BDA08
static struct mpLib_803BF248_t_x4 mpLib_803BDA60
static struct mpLib_803BF248_t_x4 mpLib_803BDAB8
static struct mpLib_803BF248_t_x4 mpLib_803BDB10
static struct mpLib_803BF248_t_x4 mpLib_803BDB68
static struct mpLib_803BF248_t_x4 mpLib_803BDBC0
static struct mpLib_803BF248_t_x4mpLib_803BDC18 [20]
static struct mpLib_803BF248_t_x4mpLib_803BDC68 [20]
static struct mpLib_803BF248_t_x4mpLib_803BDCB8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BDD08 [20]
static struct mpLib_803BF248_t_x4mpLib_803BDD58 [20]
static struct mpLib_803BF248_t_x4mpLib_803BDDA8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BDDF8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BDE48 [20]
static struct mpLib_803BF248_t_x4mpLib_803BDE98 [20]
static struct mpLib_803BF248_t_x4mpLib_803BDEE8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BDF38 [20]
static struct mpLib_803BF248_t_x4mpLib_803BDF88 [20]
static struct mpLib_803BF248_t_x4mpLib_803BDFD8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE028 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE078 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE0C8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE118 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE168 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE1B8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE208 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE258 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE2A8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE2F8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE348 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE398 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE3E8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE438 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE488 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE4D8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE528 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE578 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE5C8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE618 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE668 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE6B8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE708 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE758 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE7A8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE7F8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE848 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE898 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE8E8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE938 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE988 [20]
static struct mpLib_803BF248_t_x4mpLib_803BE9D8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BEA28 [20]
static struct mpLib_803BF248_t_x4mpLib_803BEA78 [20]
static struct mpLib_803BF248_t_x4mpLib_803BEAC8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BEB18 [20]
static struct mpLib_803BF248_t_x4mpLib_803BEB68 [20]
static struct mpLib_803BF248_t_x4mpLib_803BEBB8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BEC08 [20]
static struct mpLib_803BF248_t_x4mpLib_803BEC58 [20]
static struct mpLib_803BF248_t_x4mpLib_803BECA8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BECF8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BED48 [20]
static struct mpLib_803BF248_t_x4mpLib_803BED98 [20]
static struct mpLib_803BF248_t_x4mpLib_803BEDE8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BEE38 [20]
static struct mpLib_803BF248_t_x4mpLib_803BEE88 [20]
static struct mpLib_803BF248_t_x4mpLib_803BEED8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BEF28 [20]
static struct mpLib_803BF248_t_x4mpLib_803BEF78 [20]
static struct mpLib_803BF248_t_x4mpLib_803BEFC8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BF018 [20]
static struct mpLib_803BF248_t_x4mpLib_803BF068 [20]
static struct mpLib_803BF248_t_x4mpLib_803BF0B8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BF108 [20]
static struct mpLib_803BF248_t_x4mpLib_803BF158 [20]
static struct mpLib_803BF248_t_x4mpLib_803BF1A8 [20]
static struct mpLib_803BF248_t_x4mpLib_803BF1F8 [20]
static struct mpLib_803BF248_t mpLib_803BF248 [0x47]
Vec2 mpLib_803BF718 [2] = { { -1.0F, -400.0F }, { 1.0F, -400.0F } }
MapLine mpLib_803BF728 = { 0, 1, -1, -1, -1, -1, 1, 0 }
MapJoint mpLib_803BF738
MapCollData mpLib_803BF760
static char lbl_803BF526 [0x18] = ""
static HSD_Chan mpLib_803BF540
static char lbl_803BF570 [] = "B(%d,%d)-(%d,%d)\n"
static const GXColor mpLib_804D80E0 = { 0xFF, 0x37, 0x37, 0x80 }
static const GXColor mpLib_804D80E4 = { 0x37, 0x37, 0xFF, 0x80 }
static const GXColor mpLib_804D80F0 = { 0xFF, 0x40, 0x40, 0xFF }
static const GXColor mpLib_804D80F4 = { 0x40, 0x40, 0xFF, 0xFF }
static const GXColor mpLib_804D80F8 = { 0xFF, 0x40, 0xFF, 0xFF }
static const GXColor mpLib_804D80FC = { 0x80, 0x80, 0x80, 0xFF }
static const GXColor mpLib_804D8100 = { 0x80, 0x80, 0x80, 0xFF }
static const GXColor mpLib_FloorColor = { 0xC0, 0xC0, 0xC0, 0xFF }
static const GXColor mpLib_CeilingColor = { 0xC0, 0x80, 0x80, 0xFF }
static const GXColor mpLib_RightWallColor = { 0x80, 0xC0, 0x80, 0xFF }
static const GXColor mpLib_LeftWallColor = { 0x80, 0x80, 0xC0, 0xFF }
static const GXColor mpLib_DynamicFloorColor = { 0x60, 0x60, 0x60, 0xFF }
static const GXColor mpLib_DynamicCeilingColor = { 0x60, 0x40, 0x40, 0xFF }
static const GXColor mpLib_DynamicRightWallColor = { 0x40, 0x60, 0x40, 0xFF }
static const GXColor mpLib_DynamicLeftWallColor = { 0x40, 0x40, 0x60, 0xFF }
static const GXColor mpLib_804D8128 = { 0x7D, 0x7D, 0xFF, 0xFF }
static const GXColor mpLib_804D812C = { 0x7D, 0xFF, 0x80, 0xFF }
static const GXColor mpLib_804D8130 = { 0xFF, 0xFF, 0x80, 0xFF }
static const GXColor mpLib_804D8134 = { 0xFF, 0x40, 0x40, 0xFF }
static const GXColor mpLib_804D8138 = { 0xFF, 0x40, 0xC0, 0xFF }
static const GXColor mpLib_804D813C = { 0xFF, 0xFF, 0xFF, 0xFF }
static s16 mpLib_ItemSpawnVtxIds []
char mpLib_803BF6E0 []
static s16 mpLib_SpawnVtxIds [4] = { 0, 1, 2, 3 }
SDATA s16 mpLib_RespawnVtxIds [6] = { 4, 5, 6, 7, 0, 0 }
static const GXColor mpLib_804D8140 = { 0xFF, 0xFF, 0xC0, 0xFF }
static const GXColor mpLib_804D8144 = { 0xFF, 0xFF, 0xFF, 0x80 }
static const GXColor mpLib_804D8148 = { 0x80, 0xC0, 0xC0, 0xFF }
static const GXColor mpLib_804D814C = { 0xC0, 0xFF, 0xFF, 0x80 }
static const GXColor mpLib_804D8150 [2]

Detailed Description

Map library.

Macro Definition Documentation

◆ LINEID_CHECK

#define LINEID_CHECK ( line,
line_id )
Value:
do { \
if ((line_id) == -1 || (line_id) >= mpLib_804D64B4->line_count) \
HSD_ASSERTREPORT(line, 0, "%s:%d:not found lineID=%d\n", \
__FILE__, line, line_id); \
} while (0)
#define __FILE__
Definition ftYs_Init.c:45
static MapCollData * mpLib_804D64B4
Definition mplib.c:76

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
mpLib_EnemySpawnVtxIds 
mpLib_TrophySpawnVtxIds 
mpLib_ExitVtxIds 

Function Documentation

◆ mpLineIntersection()

bool mpLineIntersection ( float a0x,
float a0y,
float a1x,
float a1y,
float b0x,
float b0y,
float b1x,
float b1y,
float * int_x,
float * int_y )
static

direction dependent line intersection

◆ mpLib_8004D164()

MapCollData * mpLib_8004D164 ( void )

◆ mpGetGroundCollVtx()

CollVtx * mpGetGroundCollVtx ( void )

◆ mpGetGroundCollLine()

CollLine * mpGetGroundCollLine ( void )

◆ mpGetGroundCollJoint()

CollJoint * mpGetGroundCollJoint ( void )

◆ mpPruneEmptyLines()

void mpPruneEmptyLines ( MapCollData * coll_data)

◆ mpLibLoad()

void mpLibLoad ( MapCollData * coll_data)

◆ mpLineGetNext()

int mpLineGetNext ( int line_id)
Returns
A ground index.

◆ mpLineGetPrev()

int mpLineGetPrev ( int line_id)
Returns
A ground index.

◆ mpRemap2d()

void mpRemap2d ( float * x_out,
float * y_out,
float ax0,
float ay0,
float ax1,
float ay1,
float bx0,
float by0,
float bx1,
float by1,
float px,
float py )
static

remap point p from line a to line b

◆ mpLib_8004DD90_Floor()

int mpLib_8004DD90_Floor ( int line_id,
Vec3 * vec,
float * y_out,
u32 * flags_out,
Vec3 * normal_out )

◆ mpLib_8004E090_Ceiling()

int mpLib_8004E090_Ceiling ( int line_id,
Vec3 * vec,
float * y_out,
u32 * flags_out,
Vec3 * normal_out )

◆ mpLib_8004E398_LeftWall()

int mpLib_8004E398_LeftWall ( int line_id,
Vec3 * vec,
float * x_out,
u32 * flags_out,
Vec3 * normal_out )

◆ mpLib_8004E684_RightWall()

int mpLib_8004E684_RightWall ( int line_id,
Vec3 * vec,
float * x_out,
u32 * flags_out,
Vec3 * normal_out )

◆ mpLineIntersectionH()

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

◆ mpLineGetCollLine()

CollLine * mpLineGetCollLine ( int line_id)
inlinestatic

◆ mpVtxGetYBase()

float * mpVtxGetYBase ( void )
inlinestatic

◆ mpLib_8004ED5C()

void mpLib_8004ED5C ( int line_id,
float * x0_out,
float * y0_out,
float * x1_out,
float * y1_out )

◆ mpCheckFloor()

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(* cb )(Fighter_GObj *, int),
Fighter_GObj * gobj )

◆ mpCheckFloorRemap()

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(* cb )(Fighter_GObj *, int),
Fighter_GObj * gobj )

◆ mpCheckCeiling()

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 )

◆ mpCheckCeilingRemap()

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 )

◆ mpLineIntersectionV()

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

◆ mpCheckLeftWall()

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 )

◆ mpCheckLeftWallRemap()

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 )

◆ mpCheckRightWall()

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 )

◆ mpCheckRightWallRemap()

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 )

◆ mpLib_800511A4_RightWall()

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 )

◆ mpLib_800515A0_LeftWall()

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 )

◆ mpLib_8005199C_Floor()

int mpLib_8005199C_Floor ( Vec3 * vec,
int joint_id_skip,
int joint_id_only )

◆ mpLib_80051BA8_Floor()

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 )

◆ mpCheckMultiple()

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 )

◆ mpCheckAllRemap()

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 )

◆ mpCheckAll()

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 )

◆ mpLineGetNextCheckInline()

int mpLineGetNextCheckInline ( MapLine * line,
s16 result )
inlinestatic

◆ mpLineGetPrevCheckInline()

int mpLineGetPrevCheckInline ( MapLine * line,
s16 result )
inlinestatic

◆ mpLineGetPrevCheckInlineVtx()

int mpLineGetPrevCheckInlineVtx ( MapLine * line,
s16 result,
CollVtx * vtx )
inlinestatic

◆ mpLineGetNextCheckInlineVtx()

int mpLineGetNextCheckInlineVtx ( MapLine * line,
s16 result,
CollVtx * vtx )
inlinestatic

◆ mpLineIterNonResult()

int mpLineIterNonResult ( int new_id,
int line_id )
inlinestatic

Return new_id unless the line walk dead-ended or looped back.

◆ mpLineNextNonFloor()

int mpLineNextNonFloor ( int line_id)

◆ mpLinePrevNonFloor()

int mpLinePrevNonFloor ( int line_id)

◆ mpLinePrevNonCeiling()

int mpLinePrevNonCeiling ( int line_id)

◆ mpLineNextNonCeiling()

int mpLineNextNonCeiling ( int line_id)

◆ mpLineNextNonLeftWall()

int mpLineNextNonLeftWall ( int line_id)

◆ mpLinePrevNonLeftWall()

int mpLinePrevNonLeftWall ( int line_id)

◆ mpLinePrevNonRightWall()

int mpLinePrevNonRightWall ( int line_id)

◆ mpLineNextNonRightWall()

int mpLineNextNonRightWall ( int line_id)

◆ mpLineWalkNon()

int mpLineWalkNon ( int line_id,
int kind,
bool next )
inlinestatic

Walk the next/prev chain from line_id while lines still have kind set; return the first line without it, or -1.

◆ mpLib_80053394_Floor()

int mpLib_80053394_Floor ( int line_id)

◆ mpLib_80053448_Floor()

int mpLib_80053448_Floor ( int line_id)

◆ mpLineGetNextInline()

int mpLineGetNextInline ( int line_id)
inlinestatic

◆ mpLineGetNextCachedInline()

int mpLineGetNextCachedInline ( int line_id)
inlinestatic

◆ mpLineGetNextCheckResultFirst()

int mpLineGetNextCheckResultFirst ( int result,
MapLine * line )
inlinestatic

◆ mpLib_800534FC_Floor()

int mpLib_800534FC_Floor ( int line_id)

◆ mpLineGetPrevInline()

int mpLineGetPrevInline ( int line_id)
inlinestatic

◆ mpLineGetPrevCheckResultFirst()

int mpLineGetPrevCheckResultFirst ( int result,
MapLine * line )
inlinestatic

◆ mpLib_800536CC_Floor()

int mpLib_800536CC_Floor ( int line_id)

◆ mpLib_8005389C_Ceiling()

int mpLib_8005389C_Ceiling ( int line_id)

◆ mpLib_80053950_Ceiling()

int mpLib_80053950_Ceiling ( int line_id)

◆ mpLib_80053A04_Ceiling()

int mpLib_80053A04_Ceiling ( int line_id)

◆ mpLib_80053BD4_Ceiling()

int mpLib_80053BD4_Ceiling ( int line_id)

◆ mpLib_80053DA4_Floor()

void mpLib_80053DA4_Floor ( int line_id,
Vec3 * pos_out )

◆ mpLib_80053ECC_Floor()

void mpLib_80053ECC_Floor ( int line_id,
Vec * vec )

◆ mpLineGetKindInline()

u32 mpLineGetKindInline ( int line_id)
inlinestatic

◆ mpFloorGetRight()

void mpFloorGetRight ( int line_id,
Vec3 * pos_out )

◆ mpFloorGetLeft()

void mpFloorGetLeft ( int line_id,
Vec3 * pos_out )

◆ mpCeilingGetRight()

void mpCeilingGetRight ( int line_id,
Vec3 * pos_out )

◆ mpCeilingGetLeft()

void mpCeilingGetLeft ( int line_id,
Vec3 * pos_out )

◆ mpLeftWallGetTop()

void mpLeftWallGetTop ( int line_id,
Vec3 * pos_out )

◆ mpLeftWallGetBottom()

void mpLeftWallGetBottom ( int line_id,
Vec3 * pos_out )

◆ mpRightWallGetTop()

void mpRightWallGetTop ( int line_id,
Vec3 * pos_out )

◆ mpRightWallGetBottom()

void mpRightWallGetBottom ( int line_id,
Vec3 * pos_out )

◆ mpLineGetV1Pos()

void mpLineGetV1Pos ( int line_id,
Vec3 * pos_out )

◆ mpLineGetV0Pos()

void mpLineGetV0Pos ( int line_id,
Vec3 * pos_out )

◆ mpLineGetKind()

enum_t mpLineGetKind ( int line_id)

◆ mpLineGetFlags()

u32 mpLineGetFlags ( int line_id)

◆ mpLib_80054D68()

void mpLib_80054D68 ( int line_id,
u32 flags )

◆ mpLineGetNormal()

Vec3 * mpLineGetNormal ( int line_id,
Vec3 * normal_out )

◆ mpLib_80054ED8()

bool mpLib_80054ED8 ( int line_id)

◆ mpLineGetNextFrom()

int mpLineGetNextFrom ( MapLine * line,
u32 * flags_base )
inlinestatic

◆ mpLineGetPrevFrom()

int mpLineGetPrevFrom ( MapLine * line,
u32 * flags_base )
inlinestatic

◆ mpLinesConnected()

bool mpLinesConnected ( int start_id,
int target_id )

◆ jobj_child()

HSD_JObj * jobj_child ( HSD_JObj * jobj)
inlinestatic

◆ jobj_next()

HSD_JObj * jobj_next ( HSD_JObj * jobj)
inlinestatic

◆ jobj_parent()

HSD_JObj * jobj_parent ( HSD_JObj * jobj)
inlinestatic

◆ mpLib_800552B0()

void mpLib_800552B0 ( int joint_id,
HSD_JObj * jobj,
int z )

what even is this lol

◆ mpJointHide()

void mpJointHide ( int joint_id)

◆ mpJointUnhide()

void mpJointUnhide ( int joint_id)

◆ mpJointUpdateDynamics()

void mpJointUpdateDynamics ( int joint_id)

◆ mpLib_80055E24()

void mpLib_80055E24 ( int joint_id)

◆ mpLib_80055E9C()

void mpLib_80055E9C ( int joint_id)

◆ mpJointUpdateBounding()

void mpJointUpdateBounding ( int joint_id)

◆ mpLib_8005667C()

void mpLib_8005667C ( int joint_id)

◆ mpVtxGetPos()

void mpVtxGetPos ( int vtx_id,
float * x_out,
float * y_out )

◆ mpVtxSetPos()

void mpVtxSetPos ( int vtx_id,
float x,
float y )

◆ mpLineSetPos()

void mpLineSetPos ( int line_id,
float x0,
float y0,
float x1,
float y1 )

◆ mpLib_80056758()

void mpLib_80056758 ( int line_id,
float x0,
float y0,
float x1,
float y1 )

◆ mpGetSpeed()

bool mpGetSpeed ( int line_id,
Vec3 * pos,
Vec3 * speed )
Parameters
line_id
pos
[out]speed

◆ mpLib_800569EC()

float mpLib_800569EC ( u32 unk)

◆ mpLib_80056A1C()

int * mpLib_80056A1C ( int arg0,
int * arg1 )

◆ mpLib_80056A54()

int mpLib_80056A54 ( int arg0,
int * arg1 )

◆ mpLib_80056A8C()

int * mpLib_80056A8C ( int arg0,
int * arg1 )

◆ mpLib_80056AC4()

int mpLib_80056AC4 ( int arg0,
int * arg1 )

◆ mpLib_80056AFC()

int * mpLib_80056AFC ( int arg0,
int * arg1 )

◆ mpLib_80056B34()

int mpLib_80056B34 ( int arg0,
int * arg1 )

◆ sqrtf_store()

float sqrtf_store ( float x,
volatile float * y )
inlinestatic

◆ mpJointFromLine()

int mpJointFromLine ( int line_id)

◆ mpLib_80056C54()

bool mpLib_80056C54 ( int line_id,
Vec3 * pos,
int * line_id_out,
Vec3 * vec_out,
u32 * flags_out,
Vec3 * normal_out,
f32 var_f25,
f32 arg7 )

◆ mpLib_80057424()

void mpLib_80057424 ( int joint_id)

◆ mpLib_80057528()

void mpLib_80057528 ( int line_id)

◆ mpLib_800575B0()

void mpLib_800575B0 ( int line_id)

◆ mpJointListAdd()

void mpJointListAdd ( int joint_id)

◆ mpJointListUnlink()

void mpJointListUnlink ( CollJoint * arg0)

◆ mpLib_80057BC0()

void mpLib_80057BC0 ( int joint_id)

◆ mpLib_80057FDC()

void mpLib_80057FDC ( int joint_id)

◆ mpLib_80058044()

void mpLib_80058044 ( int joint_id)

◆ mpJointSetB10()

void mpJointSetB10 ( int joint_id)

◆ mpJointSetCb1()

void mpJointSetCb1 ( int joint_id,
void * user_data,
mpLib_JointCollisionCallback cb )

◆ mpJointClearCb1()

void mpJointClearCb1 ( int joint_id)

◆ mpJointGetCb1()

void mpJointGetCb1 ( int joint_id,
mpLib_JointCollisionCallback * cb,
void ** user_data )

◆ mpLib_8005811C()

void mpLib_8005811C ( CollData * coll,
int ledge_id )

◆ mpJointSetCb2()

void mpJointSetCb2 ( int joint_id,
void * gp,
mpLib_JointCollisionCallback cb )

◆ mpJointGetCb2()

void mpJointGetCb2 ( int joint_id,
mpLib_JointCollisionCallback * cb,
void ** user_data )

◆ mpLib_GetJointVtxRange()

void mpLib_GetJointVtxRange ( CollJoint * joint,
int * start,
int * count )
inlinestatic

◆ mpLib_800581DC()

void mpLib_800581DC ( int joint_id0,
int joint_id1 )

◆ mpLib_80058560()

void mpLib_80058560 ( void )

◆ mpLib_80058614_Floor()

void mpLib_80058614_Floor ( void )

◆ mpLib_800587FC()

void mpLib_800587FC ( HSD_GObj * gobj)

◆ mpLib_80058820()

void mpLib_80058820 ( void )

◆ mpCheckedBounding()

bool mpCheckedBounding ( void )

◆ mpBoundingCheck()

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 bounding box, they are marked as too far

◆ mpBoundingCheck2()

void mpBoundingCheck2 ( float x1,
float y1,
float x2,
float y2 )

◆ mpBoundingCheck3()

void mpBoundingCheck3 ( float x0,
float y0,
float x1,
float y1,
float x2,
float y2,
float x3,
float y3 )

◆ mpUncheckBounding()

void mpUncheckBounding ( void )

◆ mpLib_SetupDraw()

void mpLib_SetupDraw ( GXColor color)

◆ mpLib_DrawEcbs()

void mpLib_DrawEcbs ( CollData * cd)

◆ mpLib_CopyColor()

GXColor mpLib_CopyColor ( GXColor color)
inlinestatic

◆ mpLib_DrawSnapping()

void mpLib_DrawSnapping ( void )

◆ mpLib_DrawMatchingLines()

int mpLib_DrawMatchingLines ( int value,
int flag,
const GXColor * color )

◆ mpLib_80059554()

void mpLib_80059554 ( void )

◆ mpLib_80059E60()

void mpLib_80059E60 ( void )

◆ mpLib_DrawCrosses()

void mpLib_DrawCrosses ( s16 * idx,
int len,
GXColor arg2 )

◆ mpLib_DrawSpecialPoints()

void mpLib_DrawSpecialPoints ( void )

◆ mpLib_8005A2DC()

void mpLib_8005A2DC ( void )

◆ mpLib_DrawZones()

void mpLib_DrawZones ( void )

blast zones, camera bounds, etc

Variable Documentation

◆ mpLib_80458868

mpCollisionBox mpLib_80458868[2]

◆ didCheckBounding

bool didCheckBounding
static

◆ mpLib_804D64B4

MapCollData* mpLib_804D64B4
static

◆ groundCollVtx

CollVtx* groundCollVtx
static

◆ groundCollLine

CollLine* groundCollLine
static

◆ groundCollJoint

CollJoint* groundCollJoint
static

◆ jointListStart

CollJoint* jointListStart
static

◆ jointListEnd

CollJoint* jointListEnd
static

◆ mpLib_804D64CC

s32 mpLib_804D64CC
static

◆ mpLib_804D64D0

s32 mpLib_804D64D0
static

◆ mpLib_804D64D4

s32 mpLib_804D64D4
static

◆ mpLib_804D64D8

s32 mpLib_804D64D8
static

◆ mpLib_804D64DC

s32 mpLib_804D64DC
static

◆ mpLib_804D64E0

s32 mpLib_804D64E0
static

◆ mpLib_804D64E4

s32 mpLib_804D64E4
static

◆ mpLib_80458888

Vec3 mpLib_80458888[0x80]

◆ mpLib_803BD3D8

struct mpLib_803BF248_t_x4 mpLib_803BD3D8
Initial value:
= {
1.0F, { -1, -1, -1, -1 }, { 0, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { -1, -1, -1, -1 }, { 0, -1, 0 },
}

◆ mpLib_803BD430

struct mpLib_803BF248_t_x4 mpLib_803BD430
static
Initial value:
= {
1.0F, { 0x161, 0x161, 0x161, 0x161 },
{ 1, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { 0x036, 0x037, 0x038, 0x039 },
{ 1, -1, 0 },
}

◆ mpLib_803BD488

struct mpLib_803BF248_t_x4 mpLib_803BD488
static
Initial value:
= {
1.5F, { 0x152, 0x152, 0x152, 0x152 },
{ 1, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { 0x01D, 0x01E, 0x01F, 0x020 },
{ 1, -1, 0 },
}

◆ mpLib_803BD4E0

struct mpLib_803BF248_t_x4 mpLib_803BD4E0
static
Initial value:
= {
1.0F, { 0x155, 0x155, 0x155, 0x155 },
{ 1, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { 0x022, 0x023, 0x024, 0x025 },
{ 1, -1, 0 },
}

◆ mpLib_803BD538

struct mpLib_803BF248_t_x4 mpLib_803BD538
static
Initial value:
= {
1.0F, { 0x16D, 0x16D, 0x16D, 0x16D },
{ 1, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { 0x00E, 0x00F, 0x010, 0x011 },
{ 0, -1, 0 },
}

◆ mpLib_803BD590

struct mpLib_803BF248_t_x4 mpLib_803BD590
static
Initial value:
= {
1.0F, { 0x15B, 0x15B, 0x15B, 0x15B },
{ 1, -1, 0 }, { 0x04B, 0x04B, 0x04C, 0x04C },
{ 1, -1, 0 }, { 0x02C, 0x02D, 0x02E, 0x02F },
{ 1, -1, 1 },
}

◆ mpLib_803BD5E8

struct mpLib_803BF248_t_x4 mpLib_803BD5E8
static
Initial value:
= {
1.0F, { 0x158, 0x158, 0x158, 0x158 },
{ 1, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { 0x027, 0x028, 0x029, 0x02A },
{ 1, -1, 0 },
}

◆ mpLib_803BD640

struct mpLib_803BF248_t_x4 mpLib_803BD640
static
Initial value:
= {
1.0F, { 0x16A, 0x16A, 0x16A, 0x16A },
{ 1, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { 0x03B, 0x03C, 0x03D, 0x03E },
{ 1, -1, 0 },
}

◆ mpLib_803BD698

struct mpLib_803BF248_t_x4 mpLib_803BD698
static
Initial value:
= {
1.0F, { 0x15E, 0x15E, 0x15E, 0x15E },
{ 0, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { 0x031, 0x032, 0x033, 0x034 },
{ 0, -1, 0 },
}

◆ mpLib_803BD6F0

struct mpLib_803BF248_t_x4 mpLib_803BD6F0
static
Initial value:
= {
1.0F, { -1, -1, -1, -1 }, { 0, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { -1, -1, -1, -1 }, { 0, -1, 0 },
}

◆ mpLib_803BD748

struct mpLib_803BF248_t_x4 mpLib_803BD748
static
Initial value:
= {
1.0F, { 0x14F, 0x14F, 0x14F, 0x14F },
{ 1, -1, 0 }, { 0x20E, 0x20E, 0x20E, 0x20E },
{ 0, -1, 0 }, { 0x018, 0x019, 0x01A, 0x01B },
{ 1, -1, 0 },
}

◆ mpLib_803BD7A0

struct mpLib_803BF248_t_x4 mpLib_803BD7A0
static
Initial value:
= {
1.0F,
{ 0x14F, 0x14F, 0x14F, 0x14F },
{ 1, 0x00007537, 0 },
{ 0x20E, 0x20E, 0x20E, 0x20E },
{ 0, 0x00007538, 0 },
{ 0x018, 0x019, 0x01A, 0x01B },
{ 1, 0x0000753B, 0 },
}

◆ mpLib_803BD7F8

struct mpLib_803BF248_t_x4 mpLib_803BD7F8
static
Initial value:
= {
1.0F,
{ 0x14F, 0x14F, 0x14F, 0x14F },
{ 1, 0x00007539, 0 },
{ 0x20E, 0x20E, 0x20E, 0x20E },
{ 0, 0x00007533, 0 },
{ 0x018, 0x019, 0x01A, 0x01B },
{ 1, 0x0000753A, 0 },
}

◆ mpLib_803BD850

struct mpLib_803BF248_t_x4 mpLib_803BD850
static
Initial value:
= {
1.0F,
{ 0x14F, 0x14F, 0x14F, 0x14F },
{ 1, 0x0000754A, 0 },
{ 0x20E, 0x20E, 0x20E, 0x20E },
{ 0, 0x00007539, 0 },
{ 0x018, 0x019, 0x01A, 0x01B },
{ 1, -1, 0 },
}

◆ mpLib_803BD8A8

struct mpLib_803BF248_t_x4 mpLib_803BD8A8
static
Initial value:
= {
1.0F, { -1, -1, -1, -1 }, { 0, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { -1, -1, -1, -1 }, { 0, -1, 0 },
}

◆ mpLib_803BD900

struct mpLib_803BF248_t_x4 mpLib_803BD900
static
Initial value:
= {
0.1F, { -1, -1, -1, -1 }, { 0, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { -1, -1, -1, -1 }, { 0, -1, 0 },
}

◆ mpLib_803BD958

struct mpLib_803BF248_t_x4 mpLib_803BD958
static
Initial value:
= {
0.9F, { -1, -1, -1, -1 }, { 0, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { -1, -1, -1, -1 }, { 0, -1, 0 },
}

◆ mpLib_803BD9B0

struct mpLib_803BF248_t_x4 mpLib_803BD9B0
static
Initial value:
= {
1.0F, { 0x14C, 0x14C, 0x14C, 0x14C },
{ 1, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { 0x013, 0x014, 0x015, 0x016 },
{ 1, -1, 0 },
}

◆ mpLib_803BDA08

struct mpLib_803BF248_t_x4 mpLib_803BDA08
static
Initial value:
= {
1.0F,
{ 0x14C, 0x14C, 0x14C, 0x14C },
{ 1, 0x00007531, 0 },
{ -1, -1, -1, -1 },
{ 0, 0x00007532, 0 },
{ 0x013, 0x014, 0x015, 0x016 },
{ 1, 0x00007533, 0 },
}

◆ mpLib_803BDA60

struct mpLib_803BF248_t_x4 mpLib_803BDA60
static
Initial value:
= {
0.2F, { 0x164, 0x164, 0x164, 0x164 },
{ 1, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { 0x036, 0x037, 0x038, 0x039 },
{ 1, -1, 0 },
}

◆ mpLib_803BDAB8

struct mpLib_803BF248_t_x4 mpLib_803BDAB8
static
Initial value:
= {
1.0F, { 0x170, 0x170, 0x170, 0x170 },
{ 0, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { 0x040, 0x041, 0x042, 0x043 },
{ 0, -1, 0 },
}

◆ mpLib_803BDB10

struct mpLib_803BF248_t_x4 mpLib_803BDB10
static
Initial value:
= {
0.1F, { 0x15E, 0x15E, 0x15E, 0x15E },
{ 1, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { 0x031, 0x032, 0x033, 0x034 },
{ 1, -1, 0 },
}

◆ mpLib_803BDB68

struct mpLib_803BF248_t_x4 mpLib_803BDB68
static
Initial value:
= {
1.0F, { 0x167, 0x167, 0x167, 0x167 },
{ 1, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { 0x03B, 0x03C, 0x03D, 0x03E },
{ 1, -1, 0 },
}

◆ mpLib_803BDBC0

struct mpLib_803BF248_t_x4 mpLib_803BDBC0
static
Initial value:
= {
1.0F, { -1, -1, -1, -1 }, { 0, -1, 0 }, { -1, -1, -1, -1 },
{ 0, -1, 0 }, { -1, -1, -1, -1 }, { 0, -1, 0 },
}

◆ mpLib_803BDC18

struct mpLib_803BF248_t_x4* mpLib_803BDC18[20]
static
Initial value:
= {
}
struct mpLib_803BF248_t_x4 mpLib_803BD3D8
Definition mplib.c:91
static struct mpLib_803BF248_t_x4 mpLib_803BDBC0
Definition mplib.c:231
static struct mpLib_803BF248_t_x4 mpLib_803BD640
Definition mplib.c:131
static struct mpLib_803BF248_t_x4 mpLib_803BD748
Definition mplib.c:147
static struct mpLib_803BF248_t_x4 mpLib_803BD6F0
Definition mplib.c:143
static struct mpLib_803BF248_t_x4 mpLib_803BD4E0
Definition mplib.c:107
static struct mpLib_803BF248_t_x4 mpLib_803BDB68
Definition mplib.c:225
static struct mpLib_803BF248_t_x4 mpLib_803BD538
Definition mplib.c:113
static struct mpLib_803BF248_t_x4 mpLib_803BD9B0
Definition mplib.c:192
static struct mpLib_803BF248_t_x4 mpLib_803BD590
Definition mplib.c:119
static struct mpLib_803BF248_t_x4 mpLib_803BD430
Definition mplib.c:95
static struct mpLib_803BF248_t_x4 mpLib_803BDB10
Definition mplib.c:219
static struct mpLib_803BF248_t_x4 mpLib_803BD698
Definition mplib.c:137
static struct mpLib_803BF248_t_x4 mpLib_803BD900
Definition mplib.c:184
static struct mpLib_803BF248_t_x4 mpLib_803BD8A8
Definition mplib.c:180
static struct mpLib_803BF248_t_x4 mpLib_803BD488
Definition mplib.c:101
static struct mpLib_803BF248_t_x4 mpLib_803BDA60
Definition mplib.c:207
static struct mpLib_803BF248_t_x4 mpLib_803BD958
Definition mplib.c:188
static struct mpLib_803BF248_t_x4 mpLib_803BD5E8
Definition mplib.c:125
static struct mpLib_803BF248_t_x4 mpLib_803BDAB8
Definition mplib.c:213

◆ mpLib_803BDC68

◆ mpLib_803BDCB8

◆ mpLib_803BDD08

◆ mpLib_803BDD58

◆ mpLib_803BDDA8

◆ mpLib_803BDDF8

◆ mpLib_803BDE48

◆ mpLib_803BDE98

◆ mpLib_803BDEE8

◆ mpLib_803BDF38

◆ mpLib_803BDF88

◆ mpLib_803BDFD8

◆ mpLib_803BE028

◆ mpLib_803BE078

◆ mpLib_803BE0C8

◆ mpLib_803BE118

◆ mpLib_803BE168

◆ mpLib_803BE1B8

◆ mpLib_803BE208

◆ mpLib_803BE258

◆ mpLib_803BE2A8

◆ mpLib_803BE2F8

◆ mpLib_803BE348

◆ mpLib_803BE398

◆ mpLib_803BE3E8

◆ mpLib_803BE438

◆ mpLib_803BE488

◆ mpLib_803BE4D8

◆ mpLib_803BE528

◆ mpLib_803BE578

◆ mpLib_803BE5C8

◆ mpLib_803BE618

◆ mpLib_803BE668

◆ mpLib_803BE6B8

◆ mpLib_803BE708

◆ mpLib_803BE758

◆ mpLib_803BE7A8

◆ mpLib_803BE7F8

◆ mpLib_803BE848

◆ mpLib_803BE898

◆ mpLib_803BE8E8

◆ mpLib_803BE938

◆ mpLib_803BE988

◆ mpLib_803BE9D8

◆ mpLib_803BEA28

◆ mpLib_803BEA78

◆ mpLib_803BEAC8

◆ mpLib_803BEB18

◆ mpLib_803BEB68

◆ mpLib_803BEBB8

◆ mpLib_803BEC08

◆ mpLib_803BEC58

◆ mpLib_803BECA8

◆ mpLib_803BECF8

◆ mpLib_803BED48

◆ mpLib_803BED98

◆ mpLib_803BEDE8

◆ mpLib_803BEE38

◆ mpLib_803BEE88

◆ mpLib_803BEED8

◆ mpLib_803BEF28

◆ mpLib_803BEF78

◆ mpLib_803BEFC8

◆ mpLib_803BF018

◆ mpLib_803BF068

◆ mpLib_803BF0B8

◆ mpLib_803BF108

◆ mpLib_803BF158

◆ mpLib_803BF1A8

◆ mpLib_803BF1F8

◆ mpLib_803BF248

struct mpLib_803BF248_t mpLib_803BF248[0x47]
static

◆ mpLib_803BF718

Vec2 mpLib_803BF718 = { { -1.0F, -400.0F }, { 1.0F, -400.0F } }

◆ mpLib_803BF728

MapLine mpLib_803BF728 = { 0, 1, -1, -1, -1, -1, 1, 0 }

◆ mpLib_803BF738

MapJoint mpLib_803BF738
Initial value:
= {
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -9.0F, -408.0F, 9.0F, -392.0F, 0, 2,
}

◆ mpLib_803BF760

MapCollData mpLib_803BF760
Initial value:
= {
2,
0x00000001,
0,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0x00000001,
0x00000000,
}
Vec2 mpLib_803BF718[2]
Definition mplib.c:6861
MapJoint mpLib_803BF738
Definition mplib.c:6863
MapLine mpLib_803BF728
Definition mplib.c:6862

◆ lbl_803BF526

char lbl_803BF526[0x18] = ""
static

◆ mpLib_803BF540

HSD_Chan mpLib_803BF540
static
Initial value:
= {
0,
{ 0, 0, 0, 0 },
{ 0xFF, 0xA0, 0x30, 0xFF },
0,
}
@ GX_LIGHT_NULL
Definition GXEnum.h:483
@ GX_DF_CLAMP
Definition GXEnum.h:456
@ GX_SRC_REG
Definition GXEnum.h:461
@ GX_COLOR0A0
Definition GXEnum.h:314
@ GX_AF_NONE
Definition GXEnum.h:469
#define NULL
Definition stddef.h:19

◆ lbl_803BF570

char lbl_803BF570[] = "B(%d,%d)-(%d,%d)\n"
static

◆ mpLib_804D80E0

const GXColor mpLib_804D80E0 = { 0xFF, 0x37, 0x37, 0x80 }
static

◆ mpLib_804D80E4

const GXColor mpLib_804D80E4 = { 0x37, 0x37, 0xFF, 0x80 }
static

◆ mpLib_804D80F0

const GXColor mpLib_804D80F0 = { 0xFF, 0x40, 0x40, 0xFF }
static

◆ mpLib_804D80F4

const GXColor mpLib_804D80F4 = { 0x40, 0x40, 0xFF, 0xFF }
static

◆ mpLib_804D80F8

const GXColor mpLib_804D80F8 = { 0xFF, 0x40, 0xFF, 0xFF }
static

◆ mpLib_804D80FC

const GXColor mpLib_804D80FC = { 0x80, 0x80, 0x80, 0xFF }
static

◆ mpLib_804D8100

const GXColor mpLib_804D8100 = { 0x80, 0x80, 0x80, 0xFF }
static

◆ mpLib_FloorColor

const GXColor mpLib_FloorColor = { 0xC0, 0xC0, 0xC0, 0xFF }
static

◆ mpLib_CeilingColor

const GXColor mpLib_CeilingColor = { 0xC0, 0x80, 0x80, 0xFF }
static

◆ mpLib_RightWallColor

const GXColor mpLib_RightWallColor = { 0x80, 0xC0, 0x80, 0xFF }
static

◆ mpLib_LeftWallColor

const GXColor mpLib_LeftWallColor = { 0x80, 0x80, 0xC0, 0xFF }
static

◆ mpLib_DynamicFloorColor

const GXColor mpLib_DynamicFloorColor = { 0x60, 0x60, 0x60, 0xFF }
static

◆ mpLib_DynamicCeilingColor

const GXColor mpLib_DynamicCeilingColor = { 0x60, 0x40, 0x40, 0xFF }
static

◆ mpLib_DynamicRightWallColor

const GXColor mpLib_DynamicRightWallColor = { 0x40, 0x60, 0x40, 0xFF }
static

◆ mpLib_DynamicLeftWallColor

const GXColor mpLib_DynamicLeftWallColor = { 0x40, 0x40, 0x60, 0xFF }
static

◆ mpLib_804D8128

const GXColor mpLib_804D8128 = { 0x7D, 0x7D, 0xFF, 0xFF }
static

◆ mpLib_804D812C

const GXColor mpLib_804D812C = { 0x7D, 0xFF, 0x80, 0xFF }
static

◆ mpLib_804D8130

const GXColor mpLib_804D8130 = { 0xFF, 0xFF, 0x80, 0xFF }
static

◆ mpLib_804D8134

const GXColor mpLib_804D8134 = { 0xFF, 0x40, 0x40, 0xFF }
static

◆ mpLib_804D8138

const GXColor mpLib_804D8138 = { 0xFF, 0x40, 0xC0, 0xFF }
static

◆ mpLib_804D813C

const GXColor mpLib_804D813C = { 0xFF, 0xFF, 0xFF, 0xFF }
static

◆ mpLib_ItemSpawnVtxIds

s16 mpLib_ItemSpawnVtxIds[]
static
Initial value:
= {
0x7F, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A,
0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0, 0x20, 0x21,
0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D,
0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45,
0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51,
0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D,
0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1,
0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED,
0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0, 0x99, 0x9A, 0x9B, 0x9C,
0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8,
0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0,
0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6,
}

◆ mpLib_803BF6E0

char mpLib_803BF6E0[]
Initial value:
=
"map coll under=%d upper=%d left=%d right=%d bbox=%d\n"

◆ mpLib_SpawnVtxIds

s16 mpLib_SpawnVtxIds[4] = { 0, 1, 2, 3 }
static

◆ mpLib_RespawnVtxIds

SDATA s16 mpLib_RespawnVtxIds[6] = { 4, 5, 6, 7, 0, 0 }

◆ mpLib_804D8140

const GXColor mpLib_804D8140 = { 0xFF, 0xFF, 0xC0, 0xFF }
static

◆ mpLib_804D8144

const GXColor mpLib_804D8144 = { 0xFF, 0xFF, 0xFF, 0x80 }
static

◆ mpLib_804D8148

const GXColor mpLib_804D8148 = { 0x80, 0xC0, 0xC0, 0xFF }
static

◆ mpLib_804D814C

const GXColor mpLib_804D814C = { 0xC0, 0xFF, 0xFF, 0x80 }
static

◆ mpLib_804D8150

const GXColor mpLib_804D8150[2]
static
Initial value:
= {
{ 0x40, 0x40, 0xFF, 0x00 },
{ 0, 0, 0, 0 },
}