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