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