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