SSBM Decomp
Toggle main menu visibility
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1
#ifndef MELEE_MP_TYPES_H
2
#define MELEE_MP_TYPES_H
3
4
#include <
Runtime/platform.h
>
5
6
#include <
melee/gr/forward.h
>
7
#include <
melee/mp/forward.h
>
// IWYU pragma: export
8
9
#include <
dolphin/gx/GXStruct.h
>
10
#include <
dolphin/mtx.h
>
11
12
struct
mpIsland_80458E88_t
{
13
/* +0 */
mp_UnkStruct0
*
next
;
14
/* +4 */
mp_UnkStruct0
*
x4
;
15
/* +8 */
mp_UnkStruct0
*
x8
;
16
/* +C */
mp_UnkStruct0
*
xC
;
17
/* +10 */
mp_UnkStruct0
*
x10
;
18
/* +14 */
mp_UnkStruct0
*
x14
;
19
/* +18 */
mp_UnkStruct0
*
x18
;
20
/* +1C */
mp_UnkStruct0
*
x1C
;
21
/* +20 */
mp_UnkStruct0
*
x20
;
22
};
23
24
struct
mpIsland_PaletteEntry
{
25
mp_Terrain
kind
;
26
GXColor
color
;
27
};
28
29
struct
mpIsland_Palette
{
30
mpIsland_PaletteEntry
x0
[20];
31
};
32
33
struct
mp_UnkStruct0
{
34
/* +0 */
mp_UnkStruct0
*
next
;
35
/* +4 */
u16
x4
;
36
/* +6 */
u16
x6
;
37
/* +8 */
Vec3
x8
;
38
/* +14 */
Vec3
x14
;
39
/* +20 */
int
x20
;
40
/* +24 */
s16
x24
;
41
/* +26 */
s16
x26
;
42
/* +28 */
s16
x28
;
43
/* +2A */
s16
x2A
;
44
/* +2C */
mp_UnkStruct3
*
ptr
;
45
};
46
47
struct
MapLine
{
48
/* +0 */
u16
v0_idx
;
49
/* +2 */
u16
v1_idx
;
50
/* +4 */
s16
prev_id0
;
51
/* +6 */
s16
next_id0
;
52
/* +8 */
s16
prev_id1
;
53
/* +A */
s16
next_id1
;
54
/* +C */
u16
hi_flags
;
55
/* +E */
u16
lo_flags
;
56
};
57
58
struct
CollLine
{
59
/* +0 */
MapLine
*
x0
;
60
/* +4 */
u32
flags
;
61
};
62
63
struct
mpisland
{
64
/* +0 */
int
x0
[8];
65
/* +20 */
int
x20
[8];
66
};
67
68
struct
mp_UnkStruct3
{
69
int
x0
;
70
int
x4
;
71
int
xC
;
72
};
73
74
struct
CollVtx
{
75
/* 0x00 */
f32
x0
;
76
/* 0x04 */
f32
x4
;
77
/* 0x08 */
Vec2
pos
;
78
/* 0x10 */
float
x10
;
79
/* 0x14 */
float
x14
;
80
};
/* size = 0x18 */
81
ASSERT_SIZE
(
struct
CollVtx
, 0x18);
82
83
struct
MapJoint
{
84
/* +0 */
s16
floor_start
;
85
/* +2 */
s16
floor_count
;
86
/* +4 */
s16
ceiling_start
;
87
/* +6 */
s16
ceiling_count
;
88
/* +8 */
s16
right_wall_start
;
89
/* +A */
s16
right_wall_count
;
90
/* +C */
s16
left_wall_start
;
91
/* +E */
s16
left_wall_count
;
92
/* +10 */
s16
dynamic_start
;
93
/* +12 */
s16
dynamic_count
;
94
/* +14 */
float
left_bound
;
95
/* +18 */
float
bottom_bound
;
96
/* +1C */
float
right_bound
;
97
/* +20 */
float
top_bound
;
98
/* +24 */
s16
vtx_start
;
99
/* +26 */
s16
vtx_count
;
100
};
101
102
struct
CollJoint
{
103
/* 0x00 */
CollJoint
*
next
;
104
/* 0x04 */
MapJoint
*
inner
;
105
/* 0x08 */
u32
flags
;
106
/* 0x0C */
s16
xC
;
107
/* 0x0E */
u8
xE
: 1;
108
/* 0x10 */
Vec2
bounding_min
;
109
/* 0x18 */
Vec2
bounding_max
;
110
/* 0x20 */
HSD_JObj
*
x20
;
111
/* 0x24 */
mpLib_JointCollisionCallback
112
cb_0
;
113
/* 0x28 */
Ground
*
cb_data_0
;
114
/* 0x2C */
mpLib_JointCollisionCallback
cb_1
;
115
/* 0x30 */
Ground
*
cb_data_1
;
116
};
/* size = 0x34 */
117
ASSERT_SIZE
(
struct
CollJoint
, 0x34);
118
119
struct
MapCollData
{
120
/* +0 */
Vec2
*
verts
;
121
/* +4 */
int
vert_count
;
122
/* +8 */
MapLine
*
lines
;
123
/* +C */
int
line_count
;
124
/* +10 */
s16
floor_start
;
125
/* +12 */
s16
floor_count
;
126
/* +14 */
s16
ceiling_start
;
127
/* +16 */
s16
ceiling_count
;
128
/* +18 */
s16
right_wall_start
;
129
/* +1A */
s16
right_wall_count
;
130
/* +1C */
s16
left_wall_start
;
131
/* +1E */
s16
left_wall_count
;
132
/* +20 */
s16
dynamic_start
;
133
/* +22 */
s16
dynamic_count
;
134
/* +24 */
MapJoint
*
joints
;
135
/* +28 */
int
joint_count
;
136
/* +2C */
int
x2C
;
/* inferred */
137
};
138
139
struct
mpCollisionBox
{
140
float
top
;
141
float
bottom
;
142
float
left
;
143
float
right
;
144
};
145
146
#endif
GXStruct.h
mtx.h
Vec3
struct Vec Vec3
u32
unsigned long u32
Definition
types.h:9
s16
signed short int s16
Definition
types.h:6
f32
float f32
Definition
types.h:13
u16
unsigned short int u16
Definition
types.h:7
u8
unsigned char u8
Definition
types.h:5
forward.h
forward.h
mpLib_JointCollisionCallback
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:57
mp_Terrain
mp_Terrain
Definition
forward.h:20
platform.h
ASSERT_SIZE
#define ASSERT_SIZE(expr, size)
Definition
platform.h:161
CollJoint
Definition
types.h:102
CollJoint::next
CollJoint * next
Definition
types.h:103
CollJoint::bounding_min
Vec2 bounding_min
Definition
types.h:108
CollJoint::xC
s16 xC
Definition
types.h:106
CollJoint::bounding_max
Vec2 bounding_max
Definition
types.h:109
CollJoint::cb_0
mpLib_JointCollisionCallback cb_0
Definition
types.h:112
CollJoint::cb_1
mpLib_JointCollisionCallback cb_1
Definition
types.h:114
CollJoint::cb_data_0
Ground * cb_data_0
Definition
types.h:113
CollJoint::x20
HSD_JObj * x20
Definition
types.h:110
CollJoint::xE
u8 xE
Definition
types.h:107
CollJoint::flags
u32 flags
Definition
types.h:105
CollJoint::inner
MapJoint * inner
Definition
types.h:104
CollJoint::cb_data_1
Ground * cb_data_1
Definition
types.h:115
CollLine
Definition
types.h:58
CollLine::flags
u32 flags
Definition
types.h:60
CollLine::x0
MapLine * x0
Definition
types.h:59
CollVtx
Definition
types.h:74
CollVtx::pos
Vec2 pos
Definition
types.h:77
CollVtx::x10
float x10
Definition
types.h:78
CollVtx::x0
f32 x0
Definition
types.h:75
CollVtx::x14
float x14
Definition
types.h:79
CollVtx::x4
f32 x4
Definition
types.h:76
GXColor
Definition
GXStruct.h:29
Ground
Definition
types.h:1799
HSD_JObj
Definition
jobj.h:104
MapCollData
Definition
types.h:119
MapCollData::vert_count
int vert_count
Definition
types.h:121
MapCollData::floor_start
s16 floor_start
Definition
types.h:124
MapCollData::right_wall_start
s16 right_wall_start
Definition
types.h:128
MapCollData::dynamic_start
s16 dynamic_start
Definition
types.h:132
MapCollData::line_count
int line_count
Definition
types.h:123
MapCollData::lines
MapLine * lines
Definition
types.h:122
MapCollData::dynamic_count
s16 dynamic_count
Definition
types.h:133
MapCollData::verts
Vec2 * verts
Definition
types.h:120
MapCollData::joint_count
int joint_count
Definition
types.h:135
MapCollData::ceiling_count
s16 ceiling_count
Definition
types.h:127
MapCollData::ceiling_start
s16 ceiling_start
Definition
types.h:126
MapCollData::joints
MapJoint * joints
Definition
types.h:134
MapCollData::right_wall_count
s16 right_wall_count
Definition
types.h:129
MapCollData::left_wall_start
s16 left_wall_start
Definition
types.h:130
MapCollData::x2C
int x2C
Definition
types.h:136
MapCollData::left_wall_count
s16 left_wall_count
Definition
types.h:131
MapCollData::floor_count
s16 floor_count
Definition
types.h:125
MapJoint
Definition
types.h:83
MapJoint::right_wall_start
s16 right_wall_start
Definition
types.h:88
MapJoint::left_wall_count
s16 left_wall_count
Definition
types.h:91
MapJoint::right_wall_count
s16 right_wall_count
Definition
types.h:89
MapJoint::bottom_bound
float bottom_bound
Definition
types.h:95
MapJoint::vtx_start
s16 vtx_start
Definition
types.h:98
MapJoint::left_bound
float left_bound
Definition
types.h:94
MapJoint::dynamic_start
s16 dynamic_start
Definition
types.h:92
MapJoint::floor_start
s16 floor_start
Definition
types.h:84
MapJoint::top_bound
float top_bound
Definition
types.h:97
MapJoint::right_bound
float right_bound
Definition
types.h:96
MapJoint::vtx_count
s16 vtx_count
Definition
types.h:99
MapJoint::dynamic_count
s16 dynamic_count
Definition
types.h:93
MapJoint::ceiling_count
s16 ceiling_count
Definition
types.h:87
MapJoint::floor_count
s16 floor_count
Definition
types.h:85
MapJoint::ceiling_start
s16 ceiling_start
Definition
types.h:86
MapJoint::left_wall_start
s16 left_wall_start
Definition
types.h:90
MapLine
Definition
types.h:47
MapLine::hi_flags
u16 hi_flags
Definition
types.h:54
MapLine::next_id1
s16 next_id1
Definition
types.h:53
MapLine::v0_idx
u16 v0_idx
Definition
types.h:48
MapLine::next_id0
s16 next_id0
Definition
types.h:51
MapLine::prev_id1
s16 prev_id1
Definition
types.h:52
MapLine::prev_id0
s16 prev_id0
Definition
types.h:50
MapLine::v1_idx
u16 v1_idx
Definition
types.h:49
MapLine::lo_flags
u16 lo_flags
Definition
types.h:55
Vec2
Definition
mtx.h:10
mpCollisionBox
Definition
types.h:139
mpCollisionBox::left
float left
Definition
types.h:142
mpCollisionBox::right
float right
Definition
types.h:143
mpCollisionBox::bottom
float bottom
Definition
types.h:141
mpCollisionBox::top
float top
Definition
types.h:140
mpIsland_80458E88_t
Definition
types.h:12
mpIsland_80458E88_t::x10
mp_UnkStruct0 * x10
Definition
types.h:17
mpIsland_80458E88_t::x4
mp_UnkStruct0 * x4
Definition
types.h:14
mpIsland_80458E88_t::x14
mp_UnkStruct0 * x14
Definition
types.h:18
mpIsland_80458E88_t::x20
mp_UnkStruct0 * x20
Definition
types.h:21
mpIsland_80458E88_t::xC
mp_UnkStruct0 * xC
Definition
types.h:16
mpIsland_80458E88_t::x18
mp_UnkStruct0 * x18
Definition
types.h:19
mpIsland_80458E88_t::x8
mp_UnkStruct0 * x8
Definition
types.h:15
mpIsland_80458E88_t::x1C
mp_UnkStruct0 * x1C
Definition
types.h:20
mpIsland_80458E88_t::next
mp_UnkStruct0 * next
Definition
types.h:13
mpIsland_PaletteEntry
Definition
types.h:24
mpIsland_PaletteEntry::kind
mp_Terrain kind
Definition
types.h:25
mpIsland_PaletteEntry::color
GXColor color
Definition
types.h:26
mpIsland_Palette
Definition
types.h:29
mpIsland_Palette::x0
mpIsland_PaletteEntry x0[20]
Definition
types.h:30
mp_UnkStruct0
Definition
types.h:33
mp_UnkStruct0::x26
s16 x26
Definition
types.h:41
mp_UnkStruct0::x8
Vec3 x8
Definition
types.h:37
mp_UnkStruct0::x14
Vec3 x14
Definition
types.h:38
mp_UnkStruct0::ptr
mp_UnkStruct3 * ptr
Definition
types.h:44
mp_UnkStruct0::x20
int x20
Definition
types.h:39
mp_UnkStruct0::next
mp_UnkStruct0 * next
Definition
types.h:34
mp_UnkStruct0::x6
u16 x6
Definition
types.h:36
mp_UnkStruct0::x2A
s16 x2A
Definition
types.h:43
mp_UnkStruct0::x24
s16 x24
Definition
types.h:40
mp_UnkStruct0::x4
u16 x4
Definition
types.h:35
mp_UnkStruct0::x28
s16 x28
Definition
types.h:42
mp_UnkStruct3
Definition
types.h:68
mp_UnkStruct3::x0
int x0
Definition
types.h:69
mp_UnkStruct3::xC
int xC
Definition
types.h:71
mp_UnkStruct3::x4
int x4
Definition
types.h:70
mpisland
Definition
types.h:63
mpisland::x0
int x0[8]
Definition
types.h:64
mpisland::x20
int x20[8]
Definition
types.h:65
src
melee
mp
types.h
Generated by
1.17.0