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