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