SSBM Decomp
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1#ifndef MELEE_IT_TYPES_H
2#define MELEE_IT_TYPES_H
3
4#include <placeholder.h>
5#include <platform.h>
6
7#include "cm/forward.h"
8
9#include "ft/types.h"
10
11#include "it/forward.h" // IWYU pragma: export
12
13#include "it/itCharItems.h"
14#include "it/itCommonItems.h"
15
16#include "it/items/forward.h"
17
18#include "it/itPKFlash.h"
19#include "it/itPKThunder.h"
20#include "lb/types.h"
21
22#include <baselib/forward.h>
23
24#include <dolphin/gx.h>
25#include <dolphin/mtx.h>
26
28 struct {
29 u8 b01 : 2;
30 u8 b2 : 1;
31 u8 b3 : 1;
32 u8 b4 : 1;
33 u8 b5 : 1;
34 u8 b6 : 1;
35 u8 b7 : 1;
36 };
37};
38
39struct flag32 {
40 struct {
41 u32 x0 : 1;
42 u32 x1 : 1;
43 u32 x2 : 1;
44 u32 x3 : 1;
45 u32 x4 : 1;
46 u32 x5 : 1;
47 u32 x6 : 1;
48 u32 x7 : 1;
49 u32 x8 : 1;
50 u32 x9 : 1;
51 u32 xA : 1;
52 u32 xB : 1;
53 u32 xC : 1;
54 u32 xD : 1;
55 u32 xE : 1;
56 u32 xF : 4;
57 u32 x13 : 1;
58 u32 x14 : 1;
59 u32 x15 : 1;
60 u32 x16 : 1;
61 u32 x17 : 2;
62 u32 x19 : 1;
63 u32 x1A : 1;
64 u32 x1B : 1;
65 u32 x1C : 1;
66 u32 x1D : 1;
67 u32 x1E : 1;
68 u32 x1F : 1;
70};
71
75};
76STATIC_ASSERT(sizeof(struct DynamicBoneTable) == 0x190);
77
83STATIC_ASSERT(sizeof(struct Item_DynamicBones) == 0x1C);
84
85struct ItemAttr {
86 u8 x0_is_heavy : 1; // 0x0, bit 0x80, is heavy item (crate)
87 u8 x0_78 : 4; // Should be enum (Item_UnkKinds?) for type of action char
88 // takes when using - 0: throwable, 2: Swingable, 3:
89 // Shootable (Relation to Samus Missile lock-on behavior?)
90 u8 x0_hold_kind : 3; // defines hand hold behavior (Item_HoldKinds?)
91 u8 x1_1 : 2; // 0x1 0xB0
92 u8 x1_3 : 1; // 0x1 0x20
93 u8 x1_4 : 1; // 0x1 0x10
94 u8 x1_5 : 1; // 0x1 0x08
95 u8 x1_67_cam_kind : 2; // 0x1 0x06, is stored to 0xdcd
96 u8 x1_8 : 1; // 0x1 0x01 char flags3; //0x2
97 u8 x3; // 0x3
98 f32 x4_throw_speed_mul; // 0x4, speed multiplier at which this item is
99 // thrown at
105 f32 x1C_damage_mul; // collision related? referenced on taking damage @
106 // 80270f90
108 Vec2 x30_unk; // 0x34
111 f32 x50; // 0x50
112 f32 x54; // 0x54
113 f32 x58; // 0x58
114 f32 x5c; // 0x5c
115 f32 x60_scale; // 0x60, does not affect hitboxes
116
120
121 s32 x68; // 0x68
122 s32 x6C; // 0x6c
123 s32 x70; // 0x70
124 s32 x74; // 0x74
125
129
130 s32 x7C; // 0x7c
131 s32 x80; // 0x80
132};
133
144
159
163
178
179// Mirrors HurtCapsule[a_offset..scale] but with a leading bone_id where
180// HurtCapsule has its state field. Stored inline in Article::x8_hurtbones,
181// then copied into Item::xACC_itemHurtbox by it_8027163C.
188
193
202
213
217
218struct Item {
219 void* x0;
220
223
225
228
231
234
237
240
244
247
250
253
256
259
262
265
268
271
274
277
280
282 Vec3 x88; // From it_80277040
283 Vec3 x94; // From it_80277040
284 Vec3 xA0; // From it_802734B4
285 Vec3 xAC_unk; // From it_80276CEC
286 ItemLogicTable* xB8_itemLogicTable; // Global item callbacks
297
301
302 HSD_GObj* x51C; // Related to the owner gobj
304 CommandInfo x524_cmd; // should this be CommandInfo* instead?
305 // f32 x528;
306 // void* x52C_item_script; // Script parse?
307 // u32 x530;
308 // u32 x534;
309 // u32 x538;
310 // u32 x53C;
311 // u32 x540;
312 // u32 x544;
315 u8 x5C9; // used heavily in it_80278108
320 struct ItemHitbox {
321 HitCapsule hit; // x5D4, x710, x84C, x988
322 u8 x138 : 1; // x70C, x848, x984, xAC0
326 u32 xAC4_ignoreItemID; // Cannot hit items with this index?
327 u8 xAC8_hurtboxNum; // Number of hurtboxes this item has
330 u8 xB68; // int for ItemDynamics->count?
334 struct xB6C_t {
336 // u32 xB6C; // struct DynamicsData* for DynamicsDesc->data?
337 // u32 xB70; // int for DynamicsDesc->count?
338 // u32 xB74; // pos.x?
339 f32 xB78; // pos.y? scale?
340 HSD_JObj* xB7C; // HSD_JObj* for bone?
343 // u32 xB88;
344 // u32 xB8C;
345 u32 xB90; // enum_t for BoneDynamicsDesc->bone_id?
347 // u32 xB94;
348 // u32 xB98;
349 // u32 xB9C;
350 // u32 xBA0;
351 // u32 xBA4;
352 // u32 xBA8;
353 // u32 xBAC;
354 // u32 xBB0;
355 // u32 xBB4;
356 // u32 xBB8;
370
371 s32 xC34_damageDealt; // Rounded down
372 s32 xC38; // 0xc38 - ItemKind?
373 f32 xC3C; // 0xc3c
374 f32 xC40; // 0xc40
375 f32 xC44; // 0xc44
376 s32 xC48; // 0xc48
377 s32 xC4C; // Something to do with damage. 0x80077464 checks this against
378 // reflectors' maximum damage threshold
379 s32 xC50; // 0xc50
380 f32 xC54; // 0xc54
381 Vec3 xC58; // 0xc58
382 HSD_GObj* xC64_reflectGObj; // GObj that reflected this item?
383 f32 xC68; // 0xc68
384 f32 xC6C; // 0xc6c
385 f32 xC70; // 0xc70
387 Vec2 xC78; // 0xc78
388 S32Vec2 xC80; // 0xc80
389 s32 xC88; // 0xc88
390 u16 xC8C; // 0xc8c
392 s32 xC94; // 0xc94
393 f32 xC98; // 0xc98
394 s32 xC9C; // Total damage taken?
395 s32 xCA0; // Last amount of damage taken?
396 s32 xCA4; // 0xca4
397 s32 xCA8; // 0xca8, hitlag related
398 s32 xCAC_angle; // 0xcac
399 s32 xCB0_source_ply; // 0xcb0, damage source ply number
400 s32 xCB4; // 0xcb4
401 f32 xCB8_outDamageDirection; // 0xcb8, updated @ 80078184
402 f32 xCBC_hitlagFrames; // 0xcbc, hitlag frames remaining
403 f32 xCC0; // 0xcc0
404 s32 xCC4; // 0xcc4, switch statement for this in it_8027CBFC
406 f32 xCCC_incDamageDirection; // Direction from which damage was applied?
407 f32 xCD0; // 0xcd0
408 Vec3 xCD4; // 0xcd4
409 Vec3 xCE0; // 0xce0
411 HSD_GObj* xCF0_itemGObj; // 0xcf0, is a fp GObj, but is the owner of the
412
414
418
420
424
428
433
436
438
441
444
447
451
455
460
461 // 0xd2c, runs after exiting hitlag in hitlag, update proc 8026a200
463
468
472
480
484 f32 xD48_halfLifeTimer; // Not radioactive, just the item's original
485 // lifetime halved
486 int xD4C; // Number of ammo remaining (Checked by shootable items in
487 // it_8026B594)
488 u32 xD50_landNum; // Number of times this item has landed
489 u32 xD54_throwNum; // Number of times this item has been thrown
492
495
498
501
506
510
516 union Struct2070 xD90; // some bit struct/union
521 union {
522 UnkFlagStruct xDAA_flag; // Develop mode stuff?
524 };
529 union {
532 };
536 struct {
537 u8 b0 : 1;
538 u8 b1 : 1;
539 u8 b2 : 1;
540 u8 b3 : 1;
671 u8 _[0xFCC - 0xDD4];
673};
674STATIC_ASSERT(sizeof(struct Item) == 0xFCC);
675
679
684
693
694struct SpawnItem {
695 /* +0 */ HSD_GObj* x0_parent_gobj;
696 /* +4 */ HSD_GObj* x4_parent_gobj2;
697 /* +8 */ ItemKind kind;
698 /* +C */ enum_t hold_kind;
699 /* +10 */ s32 x10;
700 /* +14 */ Vec3 pos;
701 /* +20 */ Vec3 prev_pos;
702 /* +2C */ Vec3 vel;
703 /* +38 */ f32 facing_dir;
704 /* +3C */ s16 x3C_damage;
705 /* +3E */ s16 x3E;
706 /* +40 */ s32 x40;
707 /* +44 */ UnkFlagStruct x44_flag;
708 /* +45 */ UnkFlagStruct x45_flag;
709 /* +46 */ UnkFlagStruct x46_flag;
710 /* +47 */ UnkFlagStruct x47_flag;
712};
713
782
791
792// Per-fighter ECB/position record. Populated by ftCo_80098634 (one entry per
793// fighter); read by it_80271B60 to detect item/fighter ECB overlap.
807
810};
811
840
841// Weighted random pick table for item selection. Holds N parallel entries:
842//
843// x4[i] is the ItemKind of entry i.
844// xC[i] is the cumulative weight threshold of entry i (sum of weights of
845// entries 0..i-1; xC[0] == 0).
846// x8 is the total weight (== xC[N], implicit; xC[N] is not stored).
847//
848// To pick an item, draw r in [0, x8) and binary-search xC for the largest i
849// with xC[i] <= r; entry i is the chosen item.
850//
851// Allocated by HSD_MemAlloc with size N*4 (so xC has 2*N u16 slots, but only
852// the first N are populated; the rest are unused over-allocation).
853//
854// Built by it_8026CA4C / it_8026CB9C / it_8026CD50 / it_8026CF04;
855// queried by it_8026C75C
857 u8 size; // entry count N (incremented/decremented as items get
858 // added/picked)
859 u8* x4; // ItemKind values, length N
860 u16 x8; // total weight, used as the upper bound of HSD_Randi
861 u16* xC; // cumulative weight thresholds, length N
862};
863
864// State for the periodic ambient item-spawn system. fn_8026C88C runs each
865// frame: decrements x0; when it reaches 0, picks an item from x4 and tries to
866// spawn it, then resets x0 to a fresh random duration scaled by stage
867// parameters. Initialized in it_8026D018; queried by it_8026D324 to gate
868// individual kinds.
870 s32 x0; // spawn countdown (frames until next spawn attempt)
871 ItemPickTable x4; // weighted pick table, built from x18 + stage weights
872 s32 x14; // unused
873 u64 x18; // stage's allowed-items bitmask, from gm_8016AEA4()
874};
875
883
884// Each entry records a single damage hit; x0 selects which member of x4 is
885// valid (1 = fighter, 2 = item).
892
903
909
910#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 long long int u64
Definition types.h:11
u32 x10
Definition gm_16AE.static.h:21
HSD_ImageDesc x40[3]
Definition gm_1832.c:73
u16 x3E
Definition gm_1832.c:69
p kind
Finds the GameSceneHandler for a given scene kind.
Definition gm_1A45.dox:35
signed long s32
Definition hsd_3B2B.h:1
unsigned char u8
Definition hsd_3B2B.h:2
itRay_ItemVars itLGunRay_ItemVars
Definition itCommonItems.h:328
GroundOrAir
Definition forward.h:439
ItemKind
Definition forward.h:109
HSD_GObj Item_GObj
Definition forward.h:55
#define UNK_T
Definition placeholder.h:31
#define STATIC_ASSERT(cond)
Definition platform.h:132
int enum_t
The underlying type of an enum, used as a placeholder.
Definition platform.h:27
Definition types.h:194
void * x4_specialAttributes
Definition types.h:196
ItemAttr * x0_common_attr
Definition types.h:195
ItemStateArray * xC_itemStates
Definition types.h:198
ItemModelDesc * x10_modelDesc
Definition types.h:199
ItHurtBoneList * x8_hurtbones
Definition types.h:197
ItemDynamics * x14_dynamics
Definition types.h:200
Definition types.h:685
enum_t x14
Definition types.h:689
UnkFlagStruct x1C
Definition types.h:691
HSD_JObj * x4
Definition types.h:687
s32 x18
Definition types.h:690
HSD_GObj * x0
Definition types.h:686
Vec3 x8_vec
Definition types.h:688
Definition types.h:540
Definition types.h:27
u8 b2
Definition types.h:30
u8 b7
Definition types.h:35
u8 b01
Definition types.h:29
u8 b4
Definition types.h:32
u8 b6
Definition types.h:34
u8 b5
Definition types.h:33
u8 b3
Definition types.h:31
Definition types.h:12
Definition types.h:202
Definition types.h:397
Definition types.h:964
Definition types.h:886
s32 x0
Definition types.h:887
HitCapsule * x8
Definition types.h:889
HurtCapsule * xC
Definition types.h:890
void * x4
Definition types.h:888
Definition types.h:72
HSD_JObj * bones[100]
Definition types.h:74
Definition types.dox:1
Definition GXStruct.h:29
Definition aobj.h:58
Definition gobj.h:24
Definition jobj.h:107
Definition jobj.h:130
Definition mobj.h:138
Definition types.h:876
u16 x8
Definition types.h:879
u16 xA
Definition types.h:880
u8 x0
Definition types.h:877
u16 xC
Definition types.h:881
u32 x4
Definition types.h:878
Definition types.h:812
s32 x28
Definition types.h:823
s32 x34
Definition types.h:826
s32 x0
Definition types.h:813
s32 x50
Definition types.h:833
s32 x58
Definition types.h:835
s32 x24
Definition types.h:822
s32 x60
Definition types.h:837
s32 x14
Definition types.h:818
s32 x40
Definition types.h:829
s32 x3C
Definition types.h:828
s32 x8
Definition types.h:815
s32 x20
Definition types.h:821
s32 x30
Definition types.h:825
s32 x2C
Definition types.h:824
s32 x5C
Definition types.h:836
s32 x44
Definition types.h:830
s32 x38
Definition types.h:827
s32 x4
Definition types.h:814
s32 x1C
Definition types.h:820
s32 x10
Definition types.h:817
s32 x4C
Definition types.h:832
s32 x48
Definition types.h:831
s32 x54
Definition types.h:834
s32 xC
Definition types.h:816
s32 x64
Definition types.h:838
u32 x18
Definition types.h:819
Definition pobj.h:107
Definition types.h:31
Definition types.h:88
Definition types.h:182
enum_t bone_id
Definition types.h:183
Vec3 a_offset
Definition types.h:184
Vec3 b_offset
Definition types.h:185
f32 scale
Definition types.h:186
Definition types.h:189
s32 count
Definition types.h:190
ItHurtBoneDesc * descs
Definition types.h:191
Definition types.h:85
Vec2 x30_unk
Definition types.h:108
f32 x50
Definition types.h:111
s32 x6C
Definition types.h:122
s32 x8
Definition types.h:100
u8 x1_4
Definition types.h:93
enum_t destroy_sfx
SFX that plays when this item is destroyed.
Definition types.h:128
u8 x3
Definition types.h:97
u8 x1_8
Definition types.h:96
s32 x7C
Definition types.h:130
u8 x1_5
Definition types.h:94
f32 x18
Definition types.h:104
f32 x54
Definition types.h:112
s32 x68
Definition types.h:121
f32 x10_fall_speed
Definition types.h:102
u8 x1_3
Definition types.h:92
u8 x1_1
Definition types.h:91
u8 x0_78
Definition types.h:87
f32 xC_spin_speed
Definition types.h:101
s32 x74
Definition types.h:124
f32 x5c
Definition types.h:114
itECB x40
Definition types.h:110
f32 x58
Definition types.h:113
f32 x14_fall_speed_max
Definition types.h:103
u8 x0_hold_kind
Definition types.h:90
Vec2 x38_grab_range
Definition types.h:109
itECB x20
Definition types.h:107
f32 x1C_damage_mul
Definition types.h:105
u8 x0_is_heavy
Definition types.h:86
s32 x80
Definition types.h:131
u8 x1_67_cam_kind
Definition types.h:95
enum_t destroy_gfx
GFX to play on destroy.
Definition types.h:119
s32 x70
Definition types.h:123
f32 x60_scale
Definition types.h:115
f32 x4_throw_speed_mul
Definition types.h:98
Definition types.h:714
s32 x140
Definition types.h:773
f32 x54_float
Definition types.h:736
u8 filler_1a[0xE8 - 0xE4]
Definition types.h:760
s32 x138
Definition types.h:771
u32 x28
Definition types.h:725
f32 x68_float
Definition types.h:741
f32 xC8
Definition types.h:753
u32 x34
Definition types.h:728
u8 x48_byte
Definition types.h:733
u32 x2C
Definition types.h:726
f32 x80_float[13]
Definition types.h:747
f32 x150
Definition types.h:777
f32 x74_float
Definition types.h:744
u32 x30_lifetime
Definition types.h:727
f32 xBC
Definition types.h:750
s32 x13C
Definition types.h:772
u32 x24
Definition types.h:724
f32 x14C
Definition types.h:776
s32 x0
Definition types.h:715
u32 x10
Definition types.h:719
u32 x1C
Definition types.h:722
u32 x20
Definition types.h:723
f32 x78_float
Definition types.h:745
f32 xD0
Definition types.h:755
u32 x4
Definition types.h:716
u32 xD8
Definition types.h:757
f32 x7C_float
Definition types.h:746
u32 x18
Definition types.h:721
s32 x50_float
Definition types.h:735
f32 x15C
Definition types.h:780
f32 x70_float
Definition types.h:743
f32 x144
Definition types.h:774
f32 xCC
Definition types.h:754
u32 x38_float
Definition types.h:729
s32 x14
Definition types.h:720
f32 xF8
Definition types.h:765
s32 xB4
Definition types.h:748
f32 x154
Definition types.h:778
f32 xB8
Definition types.h:749
s32 x3C_float
Definition types.h:730
u8 filler_1a_2[0xF0 - 0xEC]
Definition types.h:762
s32 xFC[(0x124 - 0xFC)/4]
Definition types.h:766
s32 x128[4]
Definition types.h:768
f32 xD4
Definition types.h:756
f32 unk_degrees
Definition types.h:759
f32 xE8
Definition types.h:761
s32 x64_float
Definition types.h:740
f32 xC4
Definition types.h:752
f32 xC0
Definition types.h:751
s32 x40_float
Definition types.h:731
f32 x4C_float
Definition types.h:734
f32 x60_float
Definition types.h:739
f32 x6C_float
Definition types.h:742
f32 x58_float
Definition types.h:737
s32 xDC
Definition types.h:758
f32 x5C_float
Definition types.h:738
s32 x44_float
Definition types.h:732
s32 x124
Definition types.h:767
u32 x8
Definition types.h:717
s32 x148
Definition types.h:775
f32 xF4
Definition types.h:764
u32 xC
Definition types.h:718
f32 x158
Definition types.h:779
f32 xF0
Definition types.h:763
Definition types.h:135
BoneDynamicsDesc * dyn_descs
Definition types.h:142
int count
Definition types.h:139
Definition types.h:25
Definition types.h:214
GXColor x0_unk
Definition types.h:215
Definition types.h:165
s32 x8_bone_attach_id
Definition types.h:173
u8 xC_bit_field
Definition types.h:176
HSD_Joint * x0_joint
Definition types.h:167
u32 x4_bone_count
Definition types.h:170
Definition types.h:856
u8 size
Definition types.h:857
u8 * x4
Definition types.h:859
u16 * xC
Definition types.h:861
u16 x8
Definition types.h:860
Definition types.h:160
struct ItemStateDesc x0_itemStateDesc[8]
Definition types.h:161
Definition types.h:146
HSD_AnimJoint * x0_anim_joint
Definition types.h:148
UNK_T xC_script
Definition types.h:157
HSD_MatAnimJoint * x4_matanim_joint
Definition types.h:151
HSD_ShapeAnimJoint * x8_parameters
Definition types.h:154
Definition types.h:11
Definition types.h:320
HitCapsule hit
Definition types.h:321
u8 x139[3]
Definition types.h:324
u8 x138
Definition types.h:322
u8 x138_b1_7
Definition types.h:323
Definition types.h:334
u32 xB80
Definition types.h:341
f32 xB78
Definition types.h:339
Vec3 xB6C
Definition types.h:335
u32 xB90
Definition types.h:345
Vec3 xB84
Definition types.h:342
HSD_JObj * xB7C
Definition types.h:340
Definition types.h:78
DynamicsDesc dyn_desc
Definition types.h:81
int flags
Definition types.h:79
HSD_JObj * skeleton
Definition types.h:80
Definition types.h:794
s32 xB4
Definition types.h:797
s32 xBC
Definition types.h:799
Vec3 ft_pos_arr[11]
Definition types.h:800
u32 x148
Definition types.h:802
u32 x14C
Definition types.h:803
s32 xB8
Definition types.h:798
u32 x144
Definition types.h:801
size_t count
Definition types.h:804
s32 xB0
Definition types.h:796
UnkFlagStruct x154
Definition types.h:805
itECB ecb_offset_arr[11]
Definition types.h:795
Definition types.h:783
s32 x10
Definition types.h:788
s32 x14
Definition types.h:789
void ** pokeball_items
Definition types.h:787
void ** adventure_items
Definition types.h:786
ItemCommonData * item_common
Definition types.h:784
void ** common_items
Definition types.h:785
Definition types.h:218
f32 xC68
Definition types.h:383
u8 xB68
Definition types.h:330
HSD_GObjPredicate collided
Definition types.h:446
itECB xBDC
Definition types.h:363
f32 init_facing_dir
Definition types.h:255
f32 xC3C
Definition types.h:373
HSD_GObj * atk_victim
The entity that collided with this item's hitbox?
Definition types.h:427
s32 xD80
Definition types.h:511
Vec3 x64_vec_unk2
Definition types.h:276
u32 xDA4_word
Definition types.h:519
s32 x18
Definition types.h:235
Vec3 pos
Definition types.h:270
f32 xD44_lifeTimer
Definition types.h:483
u32 xDC4
Definition types.h:534
HSD_GObj * x51C
Definition types.h:302
u16 xD8C_attack_instance
Definition types.h:514
HSD_GObj * xCF4_fighterGObjUnk
Definition types.h:413
union Item::Item_ItemVars xDD4_itemVar
ItemKind kind
Definition types.h:230
s32 xC30
Definition types.h:369
Article * xC4_article_data
Definition types.h:289
f32 x5D0_animFrameSpeed
Definition types.h:319
enum_t sfx_unk1
Definition types.h:497
enum_t spawn_kind
Definition types.h:227
ItemLogicTable * xB8_itemLogicTable
Definition types.h:286
itECB xBEC
Definition types.h:364
s32 xC94
Definition types.h:392
enum_t sfx_unk2
Definition types.h:500
u8 b1
Definition types.h:538
f32 scl
Definition types.h:261
struct Item::@205132171342035260062132270032261144007234127002 xDCC_flag
s32 ecb_lock
Definition types.h:296
enum_t destroy_type
Definition types.h:494
f32 xD10
Definition types.h:437
ItemStateDesc * xD0_itemStateDesc
Definition types.h:292
UnkFlagStruct xDD0_flag
Definition types.h:546
itECB xC0C
Definition types.h:366
f32 xC98
Definition types.h:393
Vec3 xCE0
Definition types.h:409
u32 xD58
Definition types.h:490
u8 x5C8
Definition types.h:314
struct Item::ItemHitbox x5D4_hitboxes[4]
UnkFlagStruct xDAA_flag
Definition types.h:522
HSD_GObjEvent exited_hitlag
Definition types.h:462
Vec3 xCD4
Definition types.h:408
HSD_GObj * entity
Definition types.h:222
f32 x5CC_currentAnimFrame
Definition types.h:318
Vec2 xBD4_grabRange
Definition types.h:362
HSD_GObj * xC64_reflectGObj
Definition types.h:382
HSD_GObjEvent on_accessory
Definition types.h:450
Vec2 xD94
Definition types.h:517
Vec3 xC58
Definition types.h:381
s32 xC48
Definition types.h:376
s32 xD84
Definition types.h:512
HSD_Joint * xC8_joint
Definition types.h:290
u32 xDBC_itcmd_var4_word
Definition types.h:531
u32 xDAC_itcmd_var0
Definition types.h:525
void * x0
Definition types.h:219
s32 xD78
Definition types.h:505
s32 xC34_damageDealt
Definition types.h:371
u32 xDB4_itcmd_var2
Definition types.h:527
int xD4C
Definition types.h:486
s32 x1C
Definition types.h:236
enum_t destroy_sfx
SFX that plays when this item is destroyed.
Definition types.h:509
u8 xB6B
Definition types.h:333
enum_t xD0C
Definition types.h:435
struct lb_80014638_arg1_t xB54
Definition types.h:329
f32 xD48_halfLifeTimer
Definition types.h:484
u8 b0
Definition types.h:537
enum_t msid
Definition types.h:246
itECB xBFC
Definition types.h:365
u8 xD0B
Definition types.h:432
f32 xC40
Definition types.h:374
u8 b4567
Definition types.h:541
u16 xDA8_short
Definition types.h:520
flag32 xDBC_itcmd_var4
Definition types.h:530
f32 xCD0
Definition types.h:407
u8 xB6A
Definition types.h:332
s32 xD70
Definition types.h:503
union Struct2070 xD90
Definition types.h:516
u8 x5CA
Definition types.h:316
u32 xAC4_ignoreItemID
Definition types.h:326
s32 xC50
Definition types.h:379
s32 x8
Definition types.h:224
HSD_GObj * xCF0_itemGObj
Definition types.h:411
u8 xDAA_byte
Definition types.h:523
u8 xAC8_hurtboxNum
Definition types.h:327
s32 xCA8
Definition types.h:397
Vec2 xC78
Definition types.h:387
s32 xC38
Definition types.h:372
f32 xCC0
Definition types.h:403
itECB xC1C
Definition types.h:367
u8 b2
Definition types.h:539
f32 xC6C
Definition types.h:384
ItemModStruct xBC8
Definition types.h:360
UnkFlagStruct xDCE_flag
Definition types.h:544
Vec3 x58_vec_unk
Definition types.h:273
s32 xCA0
Definition types.h:395
struct Item::xB6C_t xB6C_vars[2]
UnkFlagStruct xDD2_flag
Definition types.h:548
s32 xC74
Definition types.h:386
UnkFlagStruct xDCF_flag
Definition types.h:545
HSD_GObj * xCEC_fighterGObj
Definition types.h:410
Vec3 x40_vel
Definition types.h:267
GXColor xBC4
Definition types.h:359
u32 xD50_landNum
Definition types.h:488
s32 xCB4
Definition types.h:400
DynamicBoneTable * xBBC_dynamicBoneTable
Definition types.h:357
u8 xD09
Definition types.h:430
s32 xD88_attackID
Definition types.h:513
HSD_GObj * toucher
The entity that was detected by this item's inert hitbox.
Definition types.h:417
s32 xCC4
Definition types.h:404
Vec3 xAC_unk
Definition types.h:285
CollData x378_itemColl
Definition types.h:295
f32 xCCC_incDamageDirection
Definition types.h:406
s32 xCB0_source_ply
Definition types.h:399
Vec3 x88
Definition types.h:282
HSD_GObjEvent physics_updated
Definition types.h:443
Vec3 x7C
Definition types.h:281
s32 xD74
Definition types.h:504
s16 xD8E
Definition types.h:515
f32 facing_dir
Definition types.h:252
u8 xD08
Definition types.h:429
s32 xD6C
Definition types.h:502
Vec3 x70_nudge
Definition types.h:279
UnkFlagStruct xDD1_flag
Definition types.h:547
f32 x3C
Definition types.h:264
f32 xCBC_hitlagFrames
Definition types.h:402
u8 x23
Definition types.h:243
ItemStateTable * xBC_itemStateContainer
Definition types.h:287
HSD_GObjPredicate animated
Definition types.h:440
u8 x20_team_id
Definition types.h:239
f32 spin_spd
Definition types.h:258
CmSubject * x520_cameraBox
Definition types.h:303
enum_t anim_id
Definition types.h:249
GroundOrAir ground_or_air
Definition types.h:288
s32 xC2C
Definition types.h:368
s32 xCAC_angle
Definition types.h:398
u32 xD54_throwNum
Definition types.h:489
u32 xDB0_itcmd_var1
Definition types.h:526
S32Vec2 xD9C
Definition types.h:518
f32 xD3C_spinSpeed
Definition types.h:481
HSD_GObjPredicate touched
Runs when an entity is detected by this item's inert hibox.
Definition types.h:454
HurtCapsule xACC_itemHurtbox[2]
Definition types.h:328
s32 xC88
Definition types.h:389
f32 xC70
Definition types.h:385
ColorOverlay x548_colorOverlay
Definition types.h:313
f32 xCC8_knockback
Definition types.h:405
flag32 xDC8_word
Definition types.h:535
HSD_GObjEvent entered_hitlag
Runs after applying hitlag in damage.
Definition types.h:459
Vec3 x94
Definition types.h:283
Vec3 xA0
Definition types.h:284
HSD_GObj * owner
Item's current owner.
Definition types.h:300
s32 xC4C
Definition types.h:377
HSD_GObjInteraction grabbed_for_victim
When grabbing a fighter, run this function on them.
Definition types.h:479
HSD_GObjEvent grab_dealt
When grabbing a fighter, run this function on self.
Definition types.h:471
f32 xC54
Definition types.h:380
CommandInfo x524_cmd
Definition types.h:304
CameraBoxFlags xDCD_flag
Definition types.h:543
HSD_GObj * xCFC
Definition types.h:419
u32 xD5C
Definition types.h:491
f32 xC44
Definition types.h:375
u32 xDC0
Definition types.h:533
enum_t hold_kind
Definition types.h:233
f32 xCB8_outDamageDirection
Definition types.h:401
s32 x374_dynamicBonesNum
Definition types.h:294
u8 x5C9
Definition types.h:315
HSD_GObj * xC90_absorbGObj
Definition types.h:391
u32 xDB8_itcmd_var3
Definition types.h:528
UnkFlagStruct xDD3_flag
Definition types.h:549
u8 x5CB
Definition types.h:317
u8 xB69
Definition types.h:331
u8 xD0A
Definition types.h:431
s32 xCA4
Definition types.h:396
Vec2 xBCC_unk
Definition types.h:361
f32 xD40
Definition types.h:482
u8 x21
Definition types.h:241
UNK_T xBC0
Definition types.h:358
s32 xC9C
Definition types.h:394
u8 x22
Definition types.h:242
Item_DynamicBones xD4_dynamicBones[24]
Definition types.h:293
u16 xC8C
Definition types.h:390
HSD_GObjPredicate jumped_on
Runs when the item is jumped on.
Definition types.h:467
HSD_GObj * grab_victim
The entity that got grabbed by this item.
Definition types.h:423
ItemAttr * xCC_item_attr
Definition types.h:291
S32Vec2 xC80
Definition types.h:388
u8 b3
Definition types.h:540
Definition types.h:869
s32 x0
Definition types.h:870
ItemPickTable x4
Definition types.h:871
u64 x18
Definition types.h:873
s32 x14
Definition types.h:872
Definition mtx.h:34
Definition types.dox:42
UnkFlagStruct x47_flag
Definition types.dox:76
Vec3 vel
Definition types.dox:67
Vec3 prev_pos
Definition types.dox:64
s16 x3C_damage
Definition types.dox:70
HSD_GObj * x0_parent_gobj
Definition types.dox:44
UnkFlagStruct x44_flag
Definition types.dox:73
f32 facing_dir
Definition types.dox:68
UnkFlagStruct x46_flag
Definition types.dox:75
HSD_GObj * x4_parent_gobj2
Definition types.dox:48
Vec3 pos
Definition types.dox:61
UnkFlagStruct x45_flag
Definition types.dox:74
GroundOrAir x48_ground_or_air
Definition types.dox:77
enum_t hold_kind
Defines the behavior of the item, such as thrown and pickup.
Definition types.dox:56
Definition mtx.h:10
Definition types.h:39
struct flag32::@044114265150224202141327203133103123055235327262 flags
u32 x1D
Definition types.h:66
u32 x14
Definition types.h:58
u32 xB
Definition types.h:52
u32 xF
Definition types.h:56
u32 x3
Definition types.h:44
u32 x2
Definition types.h:43
u32 x1C
Definition types.h:65
u32 x16
Definition types.h:60
u32 x1
Definition types.h:42
u32 xE
Definition types.h:55
u32 x15
Definition types.h:59
u32 x7
Definition types.h:48
u32 x9
Definition types.h:50
u32 x1E
Definition types.h:67
u32 x5
Definition types.h:46
u32 x0
Definition types.h:41
u32 xC
Definition types.h:53
u32 x13
Definition types.h:57
u32 xD
Definition types.h:54
u32 x1A
Definition types.h:63
u32 x19
Definition types.h:62
u32 x6
Definition types.h:47
u32 x17
Definition types.h:61
u32 x1F
Definition types.h:68
u32 x1B
Definition types.h:64
u32 xA
Definition types.h:51
u32 x4
Definition types.h:45
u32 x8
Definition types.h:49
Definition itCharItems.h:246
Definition itCommonItems.h:73
Definition itCommonItems.h:103
Definition itCharItems.h:20
Definition itCommonItems.h:21
Definition itCommonItems.h:1017
Definition itCharItems.h:24
Definition itCharItems.h:37
Definition itCharItems.h:811
Definition itCommonItems.h:802
Definition itCommonItems.h:242
Definition itCharItems.h:83
Definition types.h:168
Eggs spawned on Yoshi stages / by Chansey.
Definition itCommonItems.h:365
Definition itCommonItems.h:118
Definition itCommonItems.h:825
Definition itCommonItems.h:811
Per-instance runtime state of a flipper item (overlaid on Item::xDD4_itemVar).
Definition itCommonItems.h:408
Definition itCommonItems.h:435
Definition itCharItems.h:135
Definition itCharItems.h:281
Definition itCharItems.h:239
Definition itCommonItems.h:461
Definition itCommonItems.h:1531
Definition itCommonItems.h:1536
Definition itCommonItems.h:606
Definition itCommonItems.h:1223
Definition itCharItems.h:842
Definition itCharItems.h:202
Definition itCommonItems.h:1677
Definition itCommonItems.h:830
Definition itCommonItems.h:253
Definition itCommonItems.h:372
Definition itCharItems.h:867
Definition itCommonItems.h:751
Definition itCommonItems.h:1023
Definition itCommonItems.h:740
Definition itCommonItems.h:845
Definition itCharItems.h:303
Definition itCharItems.h:296
Definition itCharItems.h:292
Definition itCommonItems.h:985
Definition itCommonItems.h:1433
Definition itCommonItems.h:965
Definition itCommonItems.h:184
Definition itCommonItems.h:148
Definition itCommonItems.h:336
Definition itCommonItems.h:311
Definition itCharItems.h:207
Definition itCommonItems.h:513
Definition itCharItems.h:472
Definition itCharItems.h:393
Definition itCharItems.h:421
Definition itCharItems.h:527
Definition itCharItems.h:338
Definition itCommonItems.h:359
Definition itCommonItems.h:1064
Definition itCommonItems.h:1096
Definition itCommonItems.h:1665
Definition itCommonItems.h:534
Definition itCommonItems.h:1423
Definition itCommonItems.h:1044
Definition itCharItems.h:532
Definition itCharItems.h:540
Definition itCommonItems.h:1688
Definition itCommonItems.h:480
Definition itCommonItems.h:1138
Definition itCommonItems.h:681
Definition itCharItems.h:908
Definition itCharItems.h:73
Definition itCharItems.h:77
Definition itCommonItems.h:852
Definition itCommonItems.h:1356
Definition itCommonItems.h:1599
Definition itCommonItems.h:1460
Definition itPKFlash.h:16
Definition itPKFlash.h:8
Definition itPKThunder.h:18
Definition itCommonItems.h:1468
Definition itCharItems.h:568
Definition itCharItems.h:588
Definition itCharItems.h:577
Definition itCharItems.h:596
Definition itCommonItems.h:1115
Definition itCommonItems.h:727
Definition itCommonItems.h:654
State shared by Fox/Falco's laser and the Ray Gun projectile.
Definition itCommonItems.h:321
Definition itCharItems.h:633
Definition itCharItems.h:638
Definition itCharItems.h:670
Definition itCharItems.h:747
Definition itCommonItems.h:1374
Definition itCharItems.h:771
Definition itCharItems.h:755
Definition itCharItems.h:759
Definition itCommonItems.h:1392
Definition itCommonItems.h:1399
Definition itCommonItems.h:31
Definition itCommonItems.h:40
Definition itCommonItems.h:920
Definition itCommonItems.h:929
Definition itCommonItems.h:1585
Definition itCommonItems.h:550
Definition itCommonItems.h:296
Definition itCharItems.h:886
Definition itCommonItems.h:1404
Definition itCommonItems.h:1241
Definition itCharItems.h:835
Definition itCommonItems.h:1608
Definition itCommonItems.h:447
Definition itCommonItems.h:1329
Definition itCommonItems.h:123
Definition itCommonItems.h:1316
Definition itCommonItems.h:1227
Definition itCommonItems.h:1196
Definition itCharItems.h:820
Definition itCommonItems.h:693
Definition types.h:203
u16 x0
Definition types.h:204
struct lbColl_8000A10C_arg0_t x1C
Definition types.h:211
s32 x14
Definition types.h:209
u8 * x4
Definition types.h:205
u8 * xC
Definition types.h:207
s32 x10
Definition types.h:208
UnkFlagStruct x18
Definition types.h:210
u16 x8
Definition types.h:206
Definition itCommonItems.h:1261
Definition types.h:893
s32 unk8
Definition types.h:896
s32 unk10
Definition types.h:898
s32 unk4
Definition types.h:895
s32 unkC
Definition types.h:897
s32 unk18
Definition types.h:900
s32 unk14
Definition types.h:899
s32 unk0
Definition types.h:894
s32 unk1C
Definition types.h:901
Definition types.h:904
Item_GObj * x8
Definition types.h:907
bool x0
Definition types.h:905
ItemKind x4
Definition types.h:906
Definition itCommonItems.h:1549
Definition types.h:559
Definition types.h:467
Definition types.h:680
s32 filler
Definition types.h:681
Article * x0_article[0x9F]
Definition types.h:682
Definition types.h:808
s32 x1C
Definition types.h:809
void(* HSD_GObjInteraction)(HSD_GObj *gobj0, HSD_GObj *gobj1)
Definition forward.h:112
void(* HSD_GObjEvent)(HSD_GObj *gobj)
Definition forward.h:109
bool(* HSD_GObjPredicate)(HSD_GObj *gobj)
Definition forward.h:111
void(* GObj_RenderFunc)(HSD_GObj *gobj, int code)
Definition forward.h:106
Definition types.h:550
itLinkHookshot_ItemVars linkhookshot
Definition types.h:609
itPokemonSpawn_ItemVars pokemon_spawn
Definition types.h:639
itYaku_ItemVars yaku
Definition types.h:666
itUnknown_ItemVars unknown
Definition types.h:662
itDrMarioPill_ItemVars drmariopill
Definition types.h:564
itLeadead_ItemVars leadead
Definition types.h:599
itEvYoshiEgg_ItemVars evyoshiegg
Definition types.h:566
itLucky_ItemVars lucky
Definition types.h:612
itFreezer_ItemVars freezer
Definition types.h:575
itSamusGrapple_ItemVars samusgrapple
Definition types.h:643
itUnk2_ItemVars unk2
Definition types.h:660
itFlipper_ItemVars flipper
Definition types.h:569
itLinkBow_ItemVars linkbow
Definition types.h:608
itTaru_ItemVars taru
Definition types.h:653
itMasterHandLaser_ItemVars masterhandlaser
Definition types.h:616
itRay_ItemVars ray
Definition types.h:603
itStar_ItemVars star
Definition types.h:650
itNessbat_ItemVars nessbat
Definition types.h:623
itkireihana_ItemVars kireihana
Definition types.h:593
itCLinkMilk_ItemVars clinkmilk
Definition types.h:561
itLGunBeam_ItemVars lgunbeam
Definition types.h:601
itScopeBeam_ItemVars scopebeam
Definition types.h:645
itFFlowerFlame_ItemVars fflowerflame
Definition types.h:568
itGShell_ItemVars zgshell
Definition types.h:581
itSeakNeedleHeld_ItemVars seakneedleheld
Definition types.h:647
itWhiteBea_ItemVars whitebea
Definition types.h:664
itNesspkthundertrail_ItemVars nesspkthundertrail
Definition types.h:624
itSamusBomb_ItemVars samusbomb
Definition types.h:641
itArwingLaser_ItemVars arwinglaser
Definition types.h:553
itPikachutJoltGround_ItemVars pikachujoltground
Definition types.h:634
itGShell_ItemVars gshell
Definition types.h:581
itLugia_ItemVars lugia
Definition types.h:613
itLGunRay_ItemVars lgunray
Definition types.h:602
itGamewatch_ItemVars gamewatch
Definition types.h:577
itZeldaDinFireExplode_ItemVars zeldadinfireexplode
Definition types.h:670
itGamewatchchef_ItemVars gamewatchchef
Definition types.h:578
itTosakinto_ItemVars tosakinto
Definition types.h:659
itHassam_ItemVars hassam
Definition types.h:582
itFoods_ItemVars foods
Definition types.h:570
itTincle_ItemVars tincle
Definition types.h:656
itOctarock_ItemVars octarock
Definition types.h:627
itKinoko_ItemVars kinoko
Definition types.h:589
itCoin_ItemVars coin
Definition types.h:562
itClimbersBlizzard_ItemVars climbersblizzard
Definition types.h:558
itKirbyHammer_ItemVars kirbyhammer
Definition types.h:592
itClimbersString_ItemVars climbersstring
Definition types.h:560
itZako_ItemVars zako
Definition types.h:668
itLinkArrow_ItemVars linkarrow
Definition types.h:605
itWhispyApple_ItemVars whispyapple
Definition types.h:663
itZeldaDinFire_ItemVars zeldadinfire
Definition types.h:669
itSeakNeedleThrown_ItemVars seakneedlethrown
Definition types.h:648
itGShell_ItemVars zrshell
Definition types.h:581
itHinoarashi_ItemVars hinoarashi
Definition types.h:585
itPKThunder_ItemVars pkthunder
Definition types.h:637
itTools_ItemVars tools
Definition types.h:658
itPKFlushExplode_ItemVars pkflushexplode
Definition types.h:636
itNokoNoko_ItemVars nokonoko
Definition types.h:626
itMatadogas_ItemVars matadogas
Definition types.h:617
itUnk4_ItemVars unk4
Definition types.h:661
itLipstickSpore_ItemVars lipstickspore
Definition types.h:610
itPatapata_ItemVars patapata
Definition types.h:630
it_266F_ItemVars it_266F
Definition types.h:551
itKyasarinEgg_ItemVars kyasarinEgg
Definition types.h:598
itRShell_ItemVars rshell
Definition types.h:640
itLikelike_ItemVars likelike
Definition types.h:604
itGamewatchrescue_ItemVars gamewatchrescue
Definition types.h:579
itMBall_ItemVars mball
Definition types.h:619
itMaril_ItemVars maril
Definition types.h:614
itMsBomb_ItemVars msbomb
Definition types.h:622
itOldottosea_ItemVars oldottosea
Definition types.h:629
itNessYoyo_ItemVars nessyoyo
Definition types.h:625
itHeiho_ItemVars heiho
Definition types.h:584
itGreatFoxLaser_ItemVars greatfoxlaser
Definition types.h:580
itHeart_ItemVars heart
Definition types.h:583
itFFlower_ItemVars fflower
Definition types.h:567
itChicorita_ItemVars chicorita
Definition types.h:557
itMasterHandBullet_ItemVars masterhandbullet
Definition types.h:615
itKyasarin_ItemVars kyasarin
Definition types.h:597
itFoxLaser_ItemVars foxlaser
Definition types.h:573
itKoopaFlame_ItemVars koopaflame
Definition types.h:595
itMDisable_ItemVars mdisable
Definition types.h:620
itDosei_ItemVars dosei
Definition types.h:563
itWstar_ItemVars wstar
Definition types.h:665
itFoxIllusion_ItemVars foxillusion
Definition types.h:572
itKabigon_ItemVars kabigon
Definition types.h:588
itMewtwoShadowball_ItemVars mewtwoshadowball
Definition types.h:621
itSeakChain_ItemVars seakchain
Definition types.h:646
itSonans_ItemVars sonans
Definition types.h:649
itSamusMissile_ItemVars samusmissile
Definition types.h:644
itEgg_ItemVars egg
Definition types.h:565
itLinkBomb_ItemVars linkbomb
Definition types.h:606
itPeachTurnip_ItemVars peachturnip
Definition types.h:631
itTomato_ItemVars tomato
Definition types.h:657
itCapsule_ItemVars capsule
Definition types.h:556
itLGun_ItemVars lgun
Definition types.h:600
itKirby2F23_ItemVars kirby2f23
Definition types.h:590
itPikachutJoltAir_ItemVars pikachujoltair
Definition types.h:633
itOldkuri_ItemVars oldkuri
Definition types.h:628
itLinkBoomerang_ItemVars linkboomerang
Definition types.h:607
u8 _[0xFCC - 0xDD4]
Definition types.h:671
itClimbersIce_ItemVars climbersice
Definition types.h:559
it_2E5A_ItemVars it_2E5A
Definition types.h:552
itLizardon_ItemVars lizardon
Definition types.h:611
itMato_ItemVars mato
Definition types.h:618
itFreeze_ItemVars freeze
Definition types.h:574
itFoxBlaster_ItemVars foxblaster
Definition types.h:571
itBox_ItemVars box
Definition types.h:555
itKirbyCutterBeam_ItemVars kirbycutterbeam
Definition types.h:591
itKusudama_ItemVars kusudama
Definition types.h:596
itFushigibana_ItemVars fushigibana
Definition types.h:576
itHitodeman_ItemVars hitodeman
Definition types.h:586
itPKFlush_ItemVars pkflush
Definition types.h:635
itSword_ItemVars sword
Definition types.h:652
itTarucann_ItemVars tarucann
Definition types.h:654
itPikachuthunder_ItemVars pikachuthunder
Definition types.h:632
itYoshiEggLay_ItemVars yoshiegglay
Definition types.h:667
itHouou_ItemVars houou
Definition types.h:587
itKlap_ItemVars klap
Definition types.h:594
itPokemon_ItemVars pokemon
Definition types.h:638
itStarRodStar_ItemVars starrodstar
Definition types.h:651
itSamusChargeshot_ItemVars samuschargeshot
Definition types.h:642
itBombHei_ItemVars bombhei
Definition types.h:554
itThunder_ItemVars thunder
Definition types.h:655
Definition types.h:912
Definition types.h:19