SSBM Decomp
Loading...
Searching...
No Matches
lbcollision.h
Go to the documentation of this file.
1#ifndef GALE01_005BB0
2#define GALE01_005BB0
3
4#include <platform.h>
5#include <placeholder.h>
6
7#include "lb/forward.h"
8#include <baselib/forward.h>
9
10#include <dolphin/mtx/types.h>
11#include <baselib/jobj.h>
12
13typedef struct {
15 float v2;
17} Foo;
18
19/* 005BB0 */ int lbColl_80005BB0(HitCapsule*, int);
20/* 005C44 */ bool lbColl_80005C44(Vec3*, Vec3*, Vec3*, Vec3*, float, float);
21/* 005EBC */ float lbColl_80005EBC(Vec3*, Vec3*, Vec3*, float*);
22/* 005FC0 */ float lbColl_80005FC0(Vec3*, Vec3*, Vec3*, float*);
23/* 006094 */ bool lbColl_80006094(Vec3*, Vec3*, Vec3*, Vec3*, Vec3*, Vec3*,
24 float, float);
25/* 0067F8 */ bool lbColl_800067F8(Vec3*, Vec3*, Vec3*, Vec3*, Vec3*, Vec3*,
26 float, float, float);
27/* 0077A0 */ void lbColl_800077A0(Vec3*, Mtx, Vec3*, Vec3*, Vec3*, Vec3*,
28 float* angle, float, float);
29/* 007AFC */ bool lbColl_80007AFC(HitCapsule*, HitCapsule*, float, float);
30/* 007B78 */ UNK_RET lbColl_80007B78(Mtx, Mtx, float, float);
31/* 007BCC */ bool lbColl_80007BCC(HitCapsule*, HitResult* shield_hit, UNK_T,
32 s32, float, float, float);
33/* 007D68 */ void lbColl_JObjSetupMatrix(HSD_JObj*);
34/* 007DD8 */ void lbColl_80007DD8(HitCapsule*, HitResult*, Mtx, Vec3*, float*,
35 float);
36/* 007ECC */ bool lbColl_80007ECC(HitCapsule*, HurtCapsule*, Mtx,
37 float hit_scl_y, float hurt_scl_y,
38 float hurt_pos_z);
39/* 00805C */ bool lbColl_8000805C(HitCapsule* arg0, HurtCapsule* arg1,
40 Mtx arg2, s32 arg3, float arg4, float arg5,
41 float arg6);
42/* 008248 */ bool lbColl_80008248(HitCapsule*, HurtCapsule*, Mtx, float, float,
43 float);
44/* 0083C4 */ void lbColl_800083C4(HurtCapsule*);
45/* 008428 */ void lbColl_80008428(HitCapsule*);
46/* 008434 */ void lbColl_80008434(HitCapsule*);
47/* 008440 */ void lbColl_80008440(HitCapsule*);
48/* 0084FC */ void lbColl_CopyHitCapsule(HitCapsule* src, HitCapsule* dst);
49/* 008688 */ bool lbColl_80008688(HitCapsule*, int, void*);
50/* 008820 */ bool lbColl_80008820(HitCapsule*, int, void*);
51/* 0089B8 */ void lbColl_800089B8(HitCapsule* hit, UNK_T arg1);
52/* 008A5C */ void lbColl_80008A5C(HitCapsule* hit);
53/* 008D30 */ void lbColl_80008D30(HitCapsule*, UNK_T);
55/* 008FC8 */ void lbColl_80008FC8(Vec3, Vec3, u8*, u8*, float);
56/* 0096B4 */ void lbColl_800096B4(MtxPtr, Vec3, Vec3, u8*, u8*, float);
58/* 009F54 */ bool lbColl_80009F54(HitCapsule* hit, u32 arg1, float arg8);
59/* 00A044 */ bool lbColl_8000A044(HitCapsule* hit, u32 arg1, float arg8);
60/* 00A10C */ bool lbColl_8000A10C(Vec3 (*)[2], u32, f32);
61/* 00A1A8 */ bool lbColl_8000A1A8(UNK_T, int, float scale_y);
62/* 00A244 */ bool lbColl_8000A244(HurtCapsule* hurt, u32 arg1, Mtx arg2,
63 float arg3);
64/* 00A460 */ bool lbColl_8000A460(Foo* hurt, u32 arg1);
65/* 00A584 */ bool lbColl_8000A584(HurtCapsule* hurt, u32 arg1, u32 arg2,
66 MtxPtr arg3, float arg8);
67/* 00A78C */ bool lbColl_8000A78C(HitResult* hit, u32 arg1, Mtx arg2,
68 float pos_z);
69/* 00A95C */ bool lbColl_8000A95C(HitResult* hit, u32 arg1, Mtx arg2,
70 float pos_z);
71/* 00AB2C */ bool lbColl_8000AB2C(HitResult* hit, u32 arg1, Mtx arg2,
72 float pos_z);
73/* 00ACFC */ bool lbColl_8000ACFC(void*, HitCapsule*);
74
75static inline bool approximatelyZero(float x)
76{
77 bool result;
78
79 if ((x < 0.00001f) && (x > -0.00001f)) {
80 result = true;
81 } else {
82 result = false;
83 }
84
85 return result;
86}
87
88static inline bool testPlusX(Vec3* a, Vec3* b, Vec3* c, float offset)
89{
90 float x = a->x + offset;
91 if (x < b->x && x < c->x) {
92 return false;
93 }
94
95 return true;
96}
97
98static inline bool testPlus(float a, float b, float c, float offset)
99{
100 float x = a + offset;
101 if (x < b && x < c) {
102 return false;
103 }
104
105 return true;
106}
107
108static inline bool testMinusX(Vec3* a, Vec3* b, Vec3* c, float offset)
109{
110 float x = a->x - offset;
111 if (x > b->x && x > c->x) {
112 return false;
113 }
114
115 return true;
116}
117
118#endif
f32(* MtxPtr)[4]
Definition forward.h:7
f32 Mtx[3][4]
Definition forward.h:6
static bool testPlusX(Vec3 *a, Vec3 *b, Vec3 *c, float offset)
Definition lbcollision.h:88
void lbColl_JObjSetupMatrix(HSD_JObj *)
Definition lbcollision.c:1580
bool lbColl_80006094(Vec3 *, Vec3 *, Vec3 *, Vec3 *, Vec3 *, Vec3 *, float, float)
Definition lbcollision.c:310
bool lbColl_8000A244(HurtCapsule *hurt, u32 arg1, Mtx arg2, float arg3)
Definition lbcollision.c:2124
bool lbColl_80007AFC(HitCapsule *, HitCapsule *, float, float)
Definition lbcollision.c:1477
UNK_RET lbColl_80007B78(Mtx, Mtx, float, float)
Definition lbcollision.c:1497
bool lbColl_8000A1A8(UNK_T, int, float scale_y)
bool lbColl_80008820(HitCapsule *, int, void *)
bool lbColl_8000805C(HitCapsule *arg0, HurtCapsule *arg1, Mtx arg2, s32 arg3, float arg4, float arg5, float arg6)
Definition lbcollision.c:1651
UNK_RET lbColl_80008DA4(UNK_PARAMS)
bool lbColl_8000ACFC(void *, HitCapsule *)
bool lbColl_80005C44(Vec3 *, Vec3 *, Vec3 *, Vec3 *, float, float)
Definition lbcollision.c:92
bool lbColl_800067F8(Vec3 *, Vec3 *, Vec3 *, Vec3 *, Vec3 *, Vec3 *, float, float, float)
Definition lbcollision.c:640
void lbColl_800083C4(HurtCapsule *)
Definition lbcollision.c:1762
void lbColl_80007DD8(HitCapsule *, HitResult *, Mtx, Vec3 *, float *, float)
Definition lbcollision.c:1588
bool lbColl_80008688(HitCapsule *, int, void *)
Definition lbcollision.c:1811
void lbColl_80008428(HitCapsule *)
Definition lbcollision.c:1773
UNK_RET lbColl_80009DD4(UNK_PARAMS)
bool lbColl_8000A10C(Vec3(*)[2], u32, f32)
bool lbColl_8000A584(HurtCapsule *hurt, u32 arg1, u32 arg2, MtxPtr arg3, float arg8)
bool lbColl_80009F54(HitCapsule *hit, u32 arg1, float arg8)
Definition lbcollision.c:1972
bool lbColl_80007ECC(HitCapsule *, HurtCapsule *, Mtx, float hit_scl_y, float hurt_scl_y, float hurt_pos_z)
Definition lbcollision.c:1611
void lbColl_80008440(HitCapsule *)
Definition lbcollision.c:1783
void lbColl_800089B8(HitCapsule *hit, UNK_T arg1)
Definition lbcollision.c:1928
bool lbColl_80008248(HitCapsule *, HurtCapsule *, Mtx, float, float, float)
Definition lbcollision.c:1746
bool lbColl_8000A95C(HitResult *hit, u32 arg1, Mtx arg2, float pos_z)
Definition lbcollision.c:2176
void lbColl_80008D30(HitCapsule *, UNK_T)
static bool approximatelyZero(float x)
Definition lbcollision.h:75
void lbColl_80008A5C(HitCapsule *hit)
Definition lbcollision.c:1938
bool lbColl_8000AB2C(HitResult *hit, u32 arg1, Mtx arg2, float pos_z)
bool lbColl_8000A460(Foo *hurt, u32 arg1)
Definition lbcollision.c:2103
float lbColl_80005FC0(Vec3 *, Vec3 *, Vec3 *, float *)
Definition lbcollision.c:256
void lbColl_80008FC8(Vec3, Vec3, u8 *, u8 *, float)
bool lbColl_80007BCC(HitCapsule *, HitResult *shield_hit, UNK_T, s32, float, float, float)
int lbColl_80005BB0(HitCapsule *, int)
Definition lbcollision.c:73
float lbColl_80005EBC(Vec3 *, Vec3 *, Vec3 *, float *)
Definition lbcollision.c:213
bool lbColl_8000A044(HitCapsule *hit, u32 arg1, float arg8)
Definition lbcollision.c:2013
void lbColl_80008434(HitCapsule *)
Definition lbcollision.c:1778
static bool testPlus(float a, float b, float c, float offset)
Definition lbcollision.h:98
static bool testMinusX(Vec3 *a, Vec3 *b, Vec3 *c, float offset)
Definition lbcollision.h:108
void lbColl_CopyHitCapsule(HitCapsule *src, HitCapsule *dst)
Definition lbcollision.c:1796
void lbColl_800077A0(Vec3 *, Mtx, Vec3 *, Vec3 *, Vec3 *, Vec3 *, float *angle, float, float)
bool lbColl_8000A78C(HitResult *hit, u32 arg1, Mtx arg2, float pos_z)
void lbColl_800096B4(MtxPtr, Vec3, Vec3, u8 *, u8 *, float)
#define UNK_PARAMS
#define UNK_T
#define UNK_RET
unsigned long u32
An unsigned 32-bit integer.
Definition platform.h:26
float f32
A 32-bit floating-point number.
Definition platform.h:62
signed long s32
A signed 32-bit integer.
Definition platform.h:14
unsigned char u8
An unsigned 8-bit integer.
Definition platform.h:20
Definition granime.c:12
Vec3 v1
Definition lbcollision.h:14
HSD_JObj * jobj
Definition lbcollision.h:16
float v2
Definition lbcollision.h:15
Definition jobj.h:108
Definition types.h:45
Definition types.h:29
Definition types.h:115
Definition types.h:13
f32 x
The x component.
Definition types.h:14
Definition ground.c:2466
int c
Definition tev.c:18