SSBM Decomp
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1#ifndef MELEE_MN_TYPES_H
2#define MELEE_MN_TYPES_H
3
4#include <placeholder.h>
5
6#include "mn/forward.h" // IWYU pragma: export
7
8#include <baselib/sislib.h>
9
10typedef struct {
11 u8 cursor; // @todo are these arbitrary variables the menus can use in any
12 // way?
17} Menu;
18// size 0x8
19
20#ifdef M2CTX
21typedef struct Menu_GObj Menu_GObj;
22struct Menu_GObj {
23 /* +0 */ u16 classifier;
24 /* +2 */ u8 p_link;
25 /* +3 */ u8 gx_link;
26 /* +4 */ u8 p_priority;
27 /* +5 */ u8 render_priority;
28 /* +6 */ u8 obj_kind;
29 /* +7 */ u8 user_data_kind;
30 /* +8 */ Menu_GObj* next;
31 /* +C */ Menu_GObj* prev;
32 /* +10 */ Menu_GObj* next_gx;
33 /* +14 */ Menu_GObj* prev_gx;
34 /* +18 */ HSD_GObjProc* proc;
35 /* +1C */ void (*rendered)(Menu_GObj* gobj, s32 code);
36 /* +20 */ u64 gxlink_prios;
37 /* +28 */ HSD_JObj* hsd_obj;
38 /* +2C */ Menu* user_data;
39 /* +30 */ void (*user_data_remove_func)(Fighter* data);
40 /* +34 */ void* x34_unk;
41};
42#else
43typedef struct HSD_GObj Menu_GObj;
44#endif
45
48 /*0x01*/ u8 slot_type;
49 /*0x02*/ u8 stocks;
50 /*0x03*/ u8 color;
51 /*0x04*/ u8 port;
52 /*0x05*/ s8 spawnpos32;
54 /*0x07*/ u8 subcolor;
55 /*0x08*/ u8 handicap;
56 /*0x09*/ u8 team;
57 /*0x0A*/ u8 nametag;
58 /*0x0B*/ u8 unk_0xb;
59 /*0x0C*/ u8 unk_0xc;
60 /*0x0D*/ u8 unk_0xd;
61 /*0x0E*/ u8 unk_0xe;
62 /*0x0F*/ u8 cpu_level;
63 /*0x10*/ u8 unk_0x10;
64 /*0x11*/ u8 unk_0x11;
65 /*0x12*/ u16 unk_0x12;
66 /*0x14*/ u8 unk_0x14;
67 /*0x15*/ u8 unk_0x15;
68 /*0x16*/ u8 unk_0x16;
69 /*0x17*/ u8 unk_0x17;
72 /*0x20*/ u8 unk_0x20;
73 /*0x21*/ u8 unk_0x21;
74 /*0x22*/ u8 unk_0x22;
75 /*0x23*/ u8 unk_0x23;
76};
77
150
155
167
176
178 u16 mode_ffa_frame; // 0x00 - Anim frame used for top-left mode texture
179 u16 mode_teams_frame; // 0x02 - Anim frame used for top-left mode texture
180 int enter_sfx; // 0x04 - Announcer sfx when entering CSS
181};
182
183// Not same as CharacterKind bc not as many characters as icons (missing Sheik,
184// Master Hand, etc)
212
218
246
247struct CSSIcon {
248 u8 ft_hudindex; // 0x00 - used for getting combo count @ 8025C0C4
249 u8 char_kind; // 0x01 - icons external ID
250 u8 state; // 0x02 - 0x0 Not Unlocked, 0x01 Unlocked, 0x02 Unlocked and disp
251 u8 anim_timer; // 0x03 - 0xC when char is chosen
252 u8 joint_id_vs; // 0x04 - Vs Icon Bg Jobj ID
253 u8 joint_id_1p; // 0x05 - Vs Icon Bg Jobj ID
254 int sfx; // 0x08
255 float bound_l; // 0x0C
256 float bound_r; // 0x10
257 float bound_u; // 0x14
258 float bound_d; // 0x18
259};
260
262 u8 gnw_name[0x1C]; // 0x0
264 CSSIcon icons[25 + 1]; // 0xDC
265};
266
267struct CSSDoor {
270 u8 team_joint; // 0x02
271 u8 door_joint; // 0x03
272 u8 bg_joint; // 0x04
273 u8 player_indicator_joint; // 0x05 - Nametag window joint id (to scroll and
274 // choose a name)
275 u8 slidername_joint; // 0x06 - Slider name joint
276 u8 cpuslider_joint; // 0x07 - Used when only CPU is showing
277 u8 cpuslider2_joint; // 0x08 - Used when handicap is also showing
278 u8 selected_since_load; // 0x09 - Determines when player selected since the
279 // CSS loaded
280
281 u8 team; // 0x0A
282 u8 p_kind; // 0x0B - PlayerKind, 0x0 = HMN, 0x1 = CPU, 0x3 = Closed
284 u8 costume; // 0x0D
285 u8 sel_icon; // 0x0E - Icon this player has selected
291
292 float togglebtn_left; // 0x14 - HMN button bound
293 float togglebtn_right; // 0x18 - HMN button bound
294 float teambtn_left; // 0x1C - Team button bound
295 float teambtn_right; // 0x20 - Team button bound
296};
297
301 float x8; // 0x08
302 float scroll_amt; // 0x0C
303 float scroll_force; // 0x10
304 int timer; // 0x14
305 u8 next_tag; // 0x18
306 u8 port; // 0x19
307 u8 state; // 0x1A
308 u8 use_tag; // 0x1B
309};
310
311struct CSSTag {
312 CSSTagData* data; // 0x00
313 u8 x4; // 0x04
314 u8 list_joint; // 0x05
316 u8 x7; // 0x07
318 u8 x9; // 0x09
319 u8 xa; // 0x0A
320 u8 xb; // 0x0B
321};
322
323struct CSSKOStar {
325 float x4; // 0x04
326 u8 joint; // 0x08
327 int xc; // 0x0C
328 int x10; // 0x10
329 int x14; // 0x14
330 int x18; // 0x18
331 int x1c; // 0x1C
332};
333
335 CSSDoor doors[4]; // 0x00
336 CSSTag tags[4]; // 0x90
352 int xcf;
353 int xd3;
354 float xd7;
355 float xdb;
356 float xdf;
357 float xe3;
358 float xe7;
359 float xeb;
360 u8 xf1[5];
361 float xf8;
362 float xfc;
363 float x100;
364 float x104;
365 float x108;
366 float x10c;
367 CSSKOStar ko_stars[4]; // 0x110
368 u8 x190[64]; // 0x190
369};
370
371#endif
CSSIconJointId
Definition types.h:219
@ ICONJOINT_DONKEY
Definition types.h:231
@ ICONJOINT_DRMARIO
Definition types.h:220
@ ICONJOINT_YOSHI
Definition types.h:230
@ ICONJOINT_PIKACHU
Definition types.h:240
@ ICONJOINT_PURIN
Definition types.h:241
@ ICONJOINT_PEACH
Definition types.h:229
@ ICONJOINT_FALCO
Definition types.h:221
@ ICONJOINT_LINK
Definition types.h:239
@ ICONJOINT_KIRBY
Definition types.h:236
@ ICONJOINT_PICHU
Definition types.h:224
@ ICONJOINT_CAPTAIN
Definition types.h:232
@ ICONJOINT_MEWTWO
Definition types.h:242
@ ICONJOINT_KOOPA
Definition types.h:228
@ ICONJOINT_MARIO
Definition types.h:226
@ ICONJOINT_GANON
Definition types.h:222
@ ICONJOINT_NESS
Definition types.h:234
@ ICONJOINT_MARS
Definition types.h:244
@ ICONJOINT_POPONANA
Definition types.h:235
@ ICONJOINT_GAMEWATCH
Definition types.h:243
@ ICONJOINT_ZELDA
Definition types.h:238
@ ICONJOINT_FOX
Definition types.h:233
@ ICONJOINT_CLINK
Definition types.h:223
@ ICONJOINT_SAMUS
Definition types.h:237
@ ICONJOINT_EMBLEM
Definition types.h:225
@ ICONJOINT_LUIGI
Definition types.h:227
CSSIconHud
Definition types.h:185
@ ICONHUD_FALCO
Definition types.h:205
@ ICONHUD_LINK
Definition types.h:192
@ ICONHUD_PIKACHU
Definition types.h:199
@ ICONHUD_GANON
Definition types.h:210
@ ICONHUD_ZELDA
Definition types.h:204
@ ICONHUD_YOSHI
Definition types.h:203
@ ICONHUD_CLINK
Definition types.h:206
@ ICONHUD_SAMUS
Definition types.h:202
@ ICONHUD_GAMEWATCH
Definition types.h:189
@ ICONHUD_MEWTWO
Definition types.h:196
@ ICONHUD_EMBLEM
Definition types.h:208
@ ICONHUD_FOX
Definition types.h:188
@ ICONHUD_KIRBY
Definition types.h:190
@ ICONHUD_PEACH
Definition types.h:198
@ ICONHUD_MARIO
Definition types.h:194
@ ICONHUD_KOOPA
Definition types.h:191
@ ICONHUD_LUIGI
Definition types.h:193
@ ICONHUD_PURIN
Definition types.h:201
@ ICONHUD_NESS
Definition types.h:197
@ ICONHUD_CAPTAIN
Definition types.h:186
@ ICONHUD_PICHU
Definition types.h:209
@ ICONHUD_DONKEY
Definition types.h:187
@ ICONHUD_DRMARIO
Definition types.h:207
@ ICONHUD_POPONANA
Definition types.h:200
@ ICONHUD_MARS
Definition types.h:195
CSSIconState
Definition types.h:213
@ ICONSTATE_LOCKED
Definition types.h:214
@ ICONSTATE_TEMP
Definition types.h:215
@ ICONSTATE_UNLOCKED
Definition types.h:216
signed char s8
A signed 8-bit integer.
Definition platform.h:8
unsigned long u32
An unsigned 32-bit integer.
Definition platform.h:26
float f32
A 32-bit floating-point number.
Definition platform.h:62
unsigned short u16
An unsigned 16-bit integer.
Definition platform.h:23
unsigned long long u64
An unsigned 64-bit integer.
Definition platform.h:29
signed long s32
A signed 32-bit integer.
Definition platform.h:14
unsigned char u8
An unsigned 8-bit integer.
Definition platform.h:20
static unsigned long int next
Definition rand.c:3
Definition types.h:168
u8 pending_scene_change
Definition types.h:172
u8 match_type
Definition types.h:171
u8 * ko_star_counts
Definition types.h:173
VsModeData data
Definition types.h:174
u8 unk_0x0
Definition types.h:169
u8 unk_0x1
Definition types.h:170
Definition types.h:267
u8 cpuslider_joint
Definition types.h:276
u8 is_hold_cpu_slider
Definition types.h:289
u8 emblem_joint
Definition types.h:268
u8 team
Definition types.h:281
u8 p_kind_prev
Definition types.h:283
u8 team_joint
Definition types.h:270
float togglebtn_left
Definition types.h:292
u8 is_hold_handicap_slider
Definition types.h:290
u8 selected_since_load
Definition types.h:278
u8 costume_joint
Definition types.h:269
u8 door_joint
Definition types.h:271
u8 player_indicator_joint
Definition types.h:273
u8 p_kind
Definition types.h:282
u8 sel_icon
Definition types.h:285
float teambtn_right
Definition types.h:295
u8 slidername_joint
Definition types.h:275
float togglebtn_right
Definition types.h:293
u8 bg_joint
Definition types.h:272
u8 sel_icon_prev
Definition types.h:286
u8 dooranim_timer
Definition types.h:287
u8 cpuslider2_joint
Definition types.h:277
float teambtn_left
Definition types.h:294
u8 costume
Definition types.h:284
u8 slideranim_timer
Definition types.h:288
Definition types.h:334
u8 xc8
Definition types.h:345
u8 xce
Definition types.h:351
float xf8
Definition types.h:361
u8 x190[64]
Definition types.h:368
u8 name_list_joint
Definition types.h:342
float x10c
Definition types.h:366
CSSKOStar ko_stars[4]
Definition types.h:367
CSSTag tags[4]
Definition types.h:336
int xcf
Definition types.h:352
u8 xc1
Definition types.h:338
float xdb
Definition types.h:355
u8 xc7
Definition types.h:344
float xd7
Definition types.h:354
float xe3
Definition types.h:357
float xfc
Definition types.h:362
float xdf
Definition types.h:356
u8 tag_box_joint
Definition types.h:343
u8 xc9
Definition types.h:346
int xd3
Definition types.h:353
u8 xc0
Definition types.h:337
u8 xcb
Definition types.h:348
u8 xf1[5]
Definition types.h:360
u8 xc3
Definition types.h:340
u8 xcd
Definition types.h:350
float x100
Definition types.h:363
float xe7
Definition types.h:358
u8 xc2
Definition types.h:339
float xeb
Definition types.h:359
u8 xc4
Definition types.h:341
float x108
Definition types.h:365
u8 xca
Definition types.h:347
float x104
Definition types.h:364
u8 xcc
Definition types.h:349
CSSDoor doors[4]
Definition types.h:335
Definition types.h:247
u8 char_kind
Definition types.h:249
int sfx
Definition types.h:254
float bound_u
Definition types.h:257
u8 anim_timer
Definition types.h:251
float bound_l
Definition types.h:255
float bound_r
Definition types.h:256
u8 state
Definition types.h:250
float bound_d
Definition types.h:258
u8 joint_id_vs
Definition types.h:252
u8 ft_hudindex
Definition types.h:248
u8 joint_id_1p
Definition types.h:253
Definition types.h:261
CSSIcon icons[25+1]
Definition types.h:264
CSSModeInfo mode_info[24]
Definition types.h:263
u8 gnw_name[0x1C]
Definition types.h:262
Definition types.h:323
int x10
Definition types.h:328
int x18
Definition types.h:330
float x4
Definition types.h:325
int x1c
Definition types.h:331
int xc
Definition types.h:327
int x14
Definition types.h:329
u8 joint
Definition types.h:326
TextGlyphTexture * text
Definition types.h:324
Definition types.h:177
u16 mode_ffa_frame
Definition types.h:178
u16 mode_teams_frame
Definition types.h:179
int enter_sfx
Definition types.h:180
Definition types.h:298
TextGlyphTexture * name_ls
Definition types.h:300
u8 use_tag
Definition types.h:308
float scroll_force
Definition types.h:303
int timer
Definition types.h:304
u8 port
Definition types.h:306
TextGlyphTexture * text
Definition types.h:299
float x8
Definition types.h:301
u8 next_tag
Definition types.h:305
float scroll_amt
Definition types.h:302
u8 state
Definition types.h:307
Definition types.h:311
u8 list_joint
Definition types.h:314
u8 xb
Definition types.h:320
u8 kostar_text_joint
Definition types.h:317
u8 name_jointl
Definition types.h:315
u8 xa
Definition types.h:319
CSSTagData * data
Definition types.h:312
u8 x9
Definition types.h:318
u8 x4
Definition types.h:313
u8 x7
Definition types.h:316
Definition types.h:1063
Definition gobjproc.h:8
Definition gobj.h:25
Definition jobj.h:108
Definition sislib.h:47
Definition types.h:10
u8 unk1
Definition types.h:13
u8 unk2
Definition types.h:14
HSD_Text * text
Definition types.h:16
u8 cursor
Definition types.h:11
u8 unk3
Definition types.h:15
Definition types.h:46
u8 unk_0xb
Definition types.h:58
u8 unk_0x20
Definition types.h:72
u8 character_kind
Definition types.h:47
u8 unk_0x14
Definition types.h:66
u8 unk_0x23
Definition types.h:75
u8 unk_0x15
Definition types.h:67
u8 unk_0x17
Definition types.h:69
u8 unk_0x22
Definition types.h:74
u8 unk_0xd
Definition types.h:60
u8 color
Definition types.h:50
u8 unk_0xe
Definition types.h:61
u8 unk_0xc
Definition types.h:59
u8 team
Definition types.h:56
u8 unk_0x11
Definition types.h:64
f32 offense_ratio
Definition types.h:70
u8 unk_0x21
Definition types.h:73
u8 cpu_level
Definition types.h:62
u8 nametag
Definition types.h:57
u8 stocks
Definition types.h:49
u8 slot_type
Definition types.h:48
u8 unk_0x10
Definition types.h:63
u8 port
Definition types.h:51
u8 subcolor
Definition types.h:54
f32 defense_ratio
Definition types.h:71
s8 spawnpos32
Definition types.h:52
u16 unk_0x12
Definition types.h:65
u8 spawn_direction
Definition types.h:53
u8 handicap
Definition types.h:55
u8 unk_0x16
Definition types.h:68
Definition types.h:151
PlayerInitData players[6]
Definition types.h:153
StartMeleeRules rules
Definition types.h:152
Definition types.h:78
u8 unk_0x3e
Definition types.h:124
u8 unk_0x59
Definition types.h:142
u8 unk_0xa
Definition types.h:89
u8 unk_0x2e
Definition types.h:114
u8 unk_0x7
Definition types.h:86
u8 unk_0x46
Definition types.h:129
u8 unk_0x2f
Definition types.h:115
f32 game_speed
Definition types.h:117
u8 unk_0x39
Definition types.h:119
u8 unk_0x1f
Definition types.h:106
u8 unk_0x48
Definition types.h:131
u8 unk_0x2d
Definition types.h:113
u8 unk_0x19
Definition types.h:100
u8 flags1
Definition types.h:79
void * match_end_callback
Definition types.h:139
u8 unk_0x5d
Definition types.h:146
u8 unk_0x4a
Definition types.h:133
s8 sd_penalty
Definition types.h:91
u8 unk_0x17
Definition types.h:98
u8 flags2
Definition types.h:80
u8 flags4
Definition types.h:82
u8 unk_0x44
Definition types.h:127
u8 unk_0x2c
Definition types.h:112
u8 unk_0x5b
Definition types.h:144
u8 unk_0x1c
Definition types.h:103
u8 unk_0x5c
Definition types.h:145
u8 unk_0x5a
Definition types.h:143
u8 flags5
Definition types.h:83
f32 damage_ratio
Definition types.h:116
u8 unk_0x18
Definition types.h:99
u8 unk_0x45
Definition types.h:128
u64 item_mask
Definition types.h:107
u8 unk_0x4c
Definition types.h:135
u8 unk_0xd
Definition types.h:92
u8 unk_0x4d
Definition types.h:136
u8 unk_0x3b
Definition types.h:121
u8 is_teams
Definition types.h:87
u8 unk_0x49
Definition types.h:132
s8 item_frequency
Definition types.h:90
u8 unk_0x4e
Definition types.h:137
u8 unk_0x2a
Definition types.h:110
u8 unk_0x3a
Definition types.h:120
u8 unk_0x5e
Definition types.h:147
u8 unk_0x4b
Definition types.h:134
u8 unk_0x1b
Definition types.h:102
u8 unk_0x6
Definition types.h:85
u8 unk_0x28
Definition types.h:108
u8 unk_0x58
Definition types.h:141
s32 unk_0x54
Definition types.h:140
u8 unk_0x4f
Definition types.h:138
u8 unk_0x3f
Definition types.h:125
u8 unk_0x15
Definition types.h:96
u8 unk_0x3c
Definition types.h:122
u8 unk_0x2b
Definition types.h:111
u8 unk_0x5f
Definition types.h:148
s32 time_limit
Definition types.h:94
u8 unk_0x1d
Definition types.h:104
u8 unk_0x29
Definition types.h:109
u32 stage_id
Definition types.h:93
u8 unk_0x38
Definition types.h:118
u8 unk_0x14
Definition types.h:95
u8 flags3
Definition types.h:81
u8 unk_0x1e
Definition types.h:105
void * pause_check_callback
Definition types.h:126
u8 unk_0x1a
Definition types.h:101
u8 unk_0x47
Definition types.h:130
u8 flags6
Definition types.h:84
u8 unk_0x3d
Definition types.h:123
u8 unk_0x9
Definition types.h:88
u8 unk_0x16
Definition types.h:97
Definition sislib.h:26
Definition types.h:156
u8 unk_0x4
Definition types.h:161
s8 winner
Definition types.h:159
u8 unk_0x5
Definition types.h:162
s8 loser
Definition types.h:157
u8 unk_0x3
Definition types.h:160
u8 unk_0x6
Definition types.h:163
u8 unk_0x7
Definition types.h:164
u32 ordered_stage_index
Definition types.h:158
StartMeleeData data
Definition types.h:165