SSBM Decomp
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1#ifndef MELEE_IF_TYPES_H
2#define MELEE_IF_TYPES_H
3
4#include <placeholder.h>
5#include <platform.h>
6
7#include "if/forward.h" // IWYU pragma: export
8#include "sc/forward.h"
9#include <baselib/forward.h>
10
11#include <dolphin/gx.h>
12
22
27
30 /* +04 */ HSD_GObj* next;
31 /* +08 */ u8 player_slot;
32 /* +09 */ u8 unk9;
33 /* +0A */ u16 damage_percent;
34 /* +0C */ u16 old_damage;
38 /* +14 */ float translation_x[HUD_PLACE_MAX];
39 /* +24 */ float translation_y[HUD_PLACE_MAX];
40 /* +34 */ float velocity_x[HUD_PLACE_MAX];
41 /* +44 */ float velocity_y[HUD_PLACE_MAX];
43};
44
45struct HudIndex {
47 /* +258 */ HSD_Joint* unk258;
48 /* +25C */ void* jobj_desc_parent;
50 /* +264 */ void* janim_selection_textures;
51 /* +268 */ void* unk268;
52 /* +26C */ void* unk26C;
53 /* +270 */ void* unk270;
54 /* +274 */ void* unk274;
55 // 8 elements of size 0x28, what is this?
56};
57
62
64 u8 x0 : 1;
65 u8 x1 : 1;
66 u8 x2 : 1;
67 u8 x3 : 1;
68 u8 x4 : 1;
69 u8 x5 : 1;
70 u8 x6 : 1;
71 u8 x7 : 1;
72};
73
74typedef void (*IfStatusCb)(s32);
75
77 /* +00 */ HSD_GObj* x0;
78 /* +04 */ u32 x4;
79 /* +08 */ void (*x8)(HSD_GObj*);
80 /* +0C */ u32 xC;
81 /* +10 */ u8 x10;
82 /* +11 */ u8 x11;
83 /* +12 */ struct Element_803F9628_x12 x12;
84 /* +13 */ u8 x13;
86 /* +18 */ IfStatusCb x18;
87 /* +1C */ IfStatusCb x1C;
88 /* +20 */ u32 x20;
89 /* +24 */ u32 x24;
90};
91
93 u8 unk80 : 1;
94 u8 unk40 : 1;
95 u8 unk20 : 1;
96 u8 unk10 : 1;
97 u8 unk8 : 1;
98 u8 unk4 : 1;
99 u8 unk2 : 1;
100 u8 unk1 : 1;
101};
102
108
109struct ifMagnify {
110 HSD_Joint* joint; // // ifMagnify_802fc3c0 accesses 0x804A1DE0 for a Joint
111 int x4;
112 int x8;
113 int xC;
114 int x10;
115 struct {
116 HSD_GObj* gobj; // ifMagnify_802fc750 accesses 0x804A1DF4 + slot * 0x10
117 // for a GObj
118 HSD_TObj* tobj; // ifMagnify_802fc3c0 accesses 0x804A1DF8 + slot * 0x10
119 // for a TObj
121 idesc; // ifMagnify_802FBBDC access 0x804A1DFC for an ImageDesc
122 struct {
125 u8 unk : 6;
127 } player[6];
128 u8 unk[0xF0 - 0x74];
129};
130
131#define DEVTEXT_FLAG_HIDETEXT (0x80)
132#define DEVTEXT_FLAG_HIDEBACKGROUND (0x40)
133#define DEVTEXT_FLAG_NOWRAP (0x20)
134#define DEVTEXT_FLAG_SHOWCURSOR (0x10)
135
136struct DevText {
137 /* +0 */ s16 x;
138 /* +2 */ s16 y;
139 /* +4 */ u8 w;
140 /* +5 */ u8 h;
141 /* +6 */ u8 cursor_x;
142 /* +7 */ u8 cursor_y;
143 /* +8 */ f32 scale_x;
144 /* +C */ f32 scale_y;
145 /* +10 */ GXColor bg_color;
146 /* +14 */ GXColor text_colors[4];
147 /* +24 */ s8 id;
148 /* +25 */ u8 line_width;
149 /* +26 */ u8 flags;
150 /* +27 */ u8 unk : 6;
151 /* +27 */ u8 current_color : 2;
152 /* +28 */ char* buf;
153 /* +2C */ struct DevText* prev;
154 /* +30 */ struct DevText* next;
155};
156
158 /* +0 */ char pad_0[0x18];
159 /* +14 */ HSD_JObj* x14;
160 /* +18 */ HSD_JObj* x18;
161 /* +1C */ char pad_1C[0x50 - 0x20];
163 /* +54 */ short x54;
164 /* +56 */ short x56;
165};
166
168 void* x0;
170};
171
173 int x0;
174 int (*x4)(int);
175 char* x8;
176 char** xC;
177 void* x10;
178 float x14;
179 float x18;
180 float x1C;
181};
183
195STATIC_ASSERT(sizeof(struct un_80304138_objalloc_t) == 0x20);
196
197#endif
signed char s8
Definition hsd_3B2B.h:3
signed long s32
Definition hsd_3B2B.h:1
unsigned char u8
Definition hsd_3B2B.h:2
void(* IfStatusCb)(s32)
Definition types.h:74
@ HUD_PLACE_MAX
Definition forward.h:24
#define STATIC_ASSERT(cond)
Definition platform.h:110
Definition types.h:136
u8 current_color
Definition types.h:151
u8 w
Definition types.h:139
char * buf
Definition types.h:152
u8 flags
Definition types.h:149
s16 y
Definition types.h:138
s16 x
Definition types.h:137
u8 unk
Definition types.h:150
s8 id
Definition types.h:147
GXColor bg_color
Definition types.h:145
u8 line_width
Definition types.h:148
u8 cursor_x
Definition types.h:141
GXColor text_colors[4]
Definition types.h:146
f32 scale_y
Definition types.h:144
struct DevText * prev
Definition types.h:153
f32 scale_x
Definition types.h:143
u8 cursor_y
Definition types.h:142
struct DevText * next
Definition types.h:154
u8 h
Definition types.h:140
Model with multiple animations.
Definition types.h:18
Definition types.h:58
s32 unk1C
Definition types.h:60
s32 padding[6]
Definition types.h:59
Definition types.h:63
u8 x2
Definition types.h:66
u8 x0
Definition types.h:64
u8 x6
Definition types.h:70
u8 x1
Definition types.h:65
u8 x5
Definition types.h:69
u8 x4
Definition types.h:68
u8 x7
Definition types.h:71
u8 x3
Definition types.h:67
Definition types.h:76
u8 x10
Definition types.h:81
IfStatusCb x18
Definition types.h:86
DynamicModelDesc * x14
Definition types.h:85
struct Element_803F9628_x12 x12
Definition types.h:83
IfStatusCb x1C
Definition types.h:87
HSD_GObj * x0
Definition types.h:77
u32 x4
Definition types.h:78
u32 xC
Definition types.h:80
u32 x20
Definition types.h:88
u8 x11
Definition types.h:82
void(* x8)(HSD_GObj *)
Definition types.h:79
u8 x13
Definition types.h:84
u32 x24
Definition types.h:89
Definition aobj.h:58
Definition archive.h:34
Definition gobjproc.h:8
was using this to try and fix some matches, unsuccessfully
Definition gobj.h:26
Definition tobj.h:205
Definition jobj.h:107
Definition jobj.h:130
Definition tobj.h:134
Definition types.h:45
void * unk26C
Definition types.h:52
IfDamageState players[6]
Definition types.h:46
HSD_AnimJoint * janim_selection_joints
Definition types.h:49
void * unk268
Definition types.h:51
void * unk270
Definition types.h:53
HSD_Joint * unk258
Definition types.h:47
void * jobj_desc_parent
Definition types.h:48
void * unk274
Definition types.h:54
void * janim_selection_textures
Definition types.h:50
Definition types.h:13
u8 force_digit_shake
Definition types.h:16
u8 unk1
Definition types.h:20
u8 explode_animation
Definition types.h:14
u8 unk10
Definition types.h:17
u8 hide_all_digits
Definition types.h:18
u8 animation_status_id
Definition types.h:19
u8 randomize_velocity
Definition types.h:15
Definition types.h:28
u16 damage_percent
Definition types.h:33
float translation_y[HUD_PLACE_MAX]
Definition types.h:39
IfDamageFlags flags
Definition types.h:37
u8 unk9
Definition types.h:32
u8 frames_of_shake_remaining
Definition types.h:36
u8 damage_from_last_attack
Definition types.h:35
float velocity_y[HUD_PLACE_MAX]
Definition types.h:41
HSD_JObj * jobjs[HUD_PLACE_MAX]
Definition types.h:42
u16 old_damage
Definition types.h:34
float velocity_x[HUD_PLACE_MAX]
Definition types.h:40
HSD_GObj * next
Definition types.h:30
u8 player_slot
Definition types.h:31
HSD_GObj * HUD_parent_entity
Definition types.h:29
float translation_x[HUD_PLACE_MAX]
Definition types.h:38
Definition types.h:92
u8 unk8
Definition types.h:97
u8 unk1
Definition types.h:100
u8 unk4
Definition types.h:98
u8 unk80
Definition types.h:93
u8 unk20
Definition types.h:95
u8 unk10
Definition types.h:96
u8 unk2
Definition types.h:99
u8 unk40
Definition types.h:94
Definition types.h:103
Placeholder_8016AE50_flags flags
Definition types.h:106
u8 unk1
Definition types.h:105
u8 unk0
Definition types.h:104
Definition types.h:23
s32 padding[0x24]
Definition types.h:24
HSD_JObj * unk28
Definition types.h:25
Definition types.h:109
u8 ignore_offscreen
Definition types.h:124
int xC
Definition types.h:113
struct ifMagnify::@250::@251 state
HSD_TObj * tobj
Definition types.h:118
int x8
Definition types.h:112
HSD_ImageDesc * idesc
Definition types.h:121
int x10
Definition types.h:114
int x4
Definition types.h:111
HSD_Joint * joint
Definition types.h:110
struct ifMagnify::@250 player[6]
u8 is_offscreen
Definition types.h:123
HSD_GObj * gobj
Definition types.h:116
u8 unk
Definition types.h:125
Definition types.h:167
void * x0
Definition types.h:168
s32 x4
Definition types.h:169
Definition types.h:172
int x0
Definition types.h:173
int(* x4)(int)
Definition types.h:174
char * x8
Definition types.h:175
float x1C
Definition types.h:180
float x18
Definition types.h:179
float x14
Definition types.h:178
char ** xC
Definition types.h:176
void * x10
Definition types.h:177
Definition types.h:184
HSD_GObj * x10
Definition types.h:190
struct un_80304138_objalloc_t * prev
Definition types.h:192
unsigned char x1
Definition types.h:186
HSD_GObjProc * x14
Definition types.h:191
unsigned char x0
Definition types.h:185
struct un_80304138_objalloc_t * next
Definition types.h:193
DevText * x4
Definition types.h:187
int(* xC)(int)
Definition types.h:189
struct un_80304138_objalloc_t_x8 * x8
Definition types.h:188
Definition types.h:157
HSD_JObj * x14
Definition types.h:159
HSD_Archive * archive
Definition types.h:162
char pad_1C[0x50 - 0x20]
Definition types.h:161
HSD_JObj * x18
Definition types.h:160
short x54
Definition types.h:163
short x56
Definition types.h:164
char pad_0[0x18]
Definition types.h:158
Definition lbcardgame.c:304