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 <common_structs.h>
25#include <dolphin/gx.h>
26#include <dolphin/mtx.h>
27
29 struct {
30 u8 b01 : 2;
31 u8 b2 : 1;
32 u8 b3 : 1;
33 u8 b4 : 1;
34 u8 b5 : 1;
35 u8 b6 : 1;
36 u8 b7 : 1;
37 };
38};
39
40struct flag32 {
41 struct {
42 u32 x0 : 1;
43 u32 x1 : 1;
44 u32 x2 : 1;
45 u32 x3 : 1;
46 u32 x4 : 1;
47 u32 x5 : 1;
48 u32 x6 : 1;
49 u32 x7 : 1;
50 u32 x8 : 1;
51 u32 x9 : 1;
52 u32 xA : 1;
53 u32 xB : 1;
54 u32 xC : 1;
55 u32 xD : 1;
56 u32 xE : 1;
57 u32 xF : 4;
58 u32 x13 : 1;
59 u32 x14 : 1;
60 u32 x15 : 1;
61 u32 x16 : 1;
62 u32 x17 : 2;
63 u32 x19 : 1;
64 u32 x1A : 1;
65 u32 x1B : 1;
66 u32 x1C : 1;
67 u32 x1D : 1;
68 u32 x1E : 1;
69 u32 x1F : 1;
71};
72
76};
77STATIC_ASSERT(sizeof(struct DynamicBoneTable) == 0x190);
78
84STATIC_ASSERT(sizeof(struct Item_DynamicBones) == 0x1C);
85
86struct ItemAttr {
87 u8 x0_is_heavy : 1; // 0x0, bit 0x80, is heavy item (crate)
88 u8 x0_78 : 4; // Should be enum (Item_UnkKinds?) for type of action char
89 // takes when using - 0: throwable, 2: Swingable, 3:
90 // Shootable (Relation to Samus Missile lock-on behavior?)
91 u8 x0_hold_kind : 3; // defines hand hold behavior (Item_HoldKinds?)
92 u8 x1_1 : 2; // 0x1 0xB0
93 u8 x1_3 : 1; // 0x1 0x20
94 u8 x1_4 : 1; // 0x1 0x10
95 u8 x1_5 : 1; // 0x1 0x08
96 u8 x1_67_cam_kind : 2; // 0x1 0x06, is stored to 0xdcd
97 u8 x1_8 : 1; // 0x1 0x01 char flags3; //0x2
98 u8 x3; // 0x3
99 f32 x4_throw_speed_mul; // 0x4, speed multiplier at which this item is
100 // thrown at
103 f32 x10_fall_speed; // 0x10
105 f32 x18;
106 f32 x1C_damage_mul; // collision related? referenced on taking damage @
107 // 80270f90
109 Vec2 x30_unk; // 0x34
110 Vec2 x38_grab_range; // 0x38
112 f32 x50; // 0x50
113 f32 x54; // 0x54
114 f32 x58; // 0x58
115 f32 x5c; // 0x5c
116 f32 x60_scale; // 0x60, does not affect hitboxes
117
121
122 s32 x68; // 0x68
123 s32 x6C; // 0x6c
124 s32 x70; // 0x70
125 s32 x74; // 0x74
126
130
131 s32 x7C; // 0x7c
132 s32 x80; // 0x80
133};
134
145
160
164
179
180// Mirrors HurtCapsule[a_offset..scale] but with a leading bone_id where
181// HurtCapsule has its state field. Stored inline in Article::x8_hurtbones,
182// then copied into Item::xACC_itemHurtbox by it_8027163C.
183typedef struct {
187 f32 scale;
189
194
203
214
216 GXColor x0_unk;
217};
218
219struct Item {
220 void* x0;
221
224
226
229
232
235
238
241
245
248
251
254
257
260
262 f32 scl;
263
265 f32 x3C;
266
269
271 Vec3 pos;
272
275
278
281
282 Vec3 x7C;
283 Vec3 x88; // From it_80277040
284 Vec3 x94; // From it_80277040
285 Vec3 xA0; // From it_802734B4
286 Vec3 xAC_unk; // From it_80276CEC
287 ItemLogicTable* xB8_itemLogicTable; // Global item callbacks
298
302
303 HSD_GObj* x51C; // Related to the owner gobj
305 CommandInfo x524_cmd; // should this be CommandInfo* instead?
306 // f32 x528;
307 // void* x52C_item_script; // Script parse?
308 // u32 x530;
309 // u32 x534;
310 // u32 x538;
311 // u32 x53C;
312 // u32 x540;
313 // u32 x544;
316 u8 x5C9; // used heavily in it_80278108
321 struct ItemHitbox {
322 HitCapsule hit; // x5D4, x710, x84C, x988
323 u8 x138 : 1; // x70C, x848, x984, xAC0
327 u32 xAC4_ignoreItemID; // Cannot hit items with this index?
328 u8 xAC8_hurtboxNum; // Number of hurtboxes this item has
331 u8 xB68; // int for ItemDynamics->count?
335 struct xB6C_t {
336 Vec3 xB6C;
337 // u32 xB6C; // struct DynamicsData* for DynamicsDesc->data?
338 // u32 xB70; // int for DynamicsDesc->count?
339 // u32 xB74; // pos.x?
340 f32 xB78; // pos.y? scale?
341 HSD_JObj* xB7C; // HSD_JObj* for bone?
342 u32 xB80;
343 Vec3 xB84;
344 // u32 xB88;
345 // u32 xB8C;
346 u32 xB90; // enum_t for BoneDynamicsDesc->bone_id?
348 // u32 xB94;
349 // u32 xB98;
350 // u32 xB9C;
351 // u32 xBA0;
352 // u32 xBA4;
353 // u32 xBA8;
354 // u32 xBAC;
355 // u32 xBB0;
356 // u32 xBB4;
357 // u32 xBB8;
360 GXColor xBC4;
371
372 s32 xC34_damageDealt; // Rounded down
373 s32 xC38; // 0xc38 - ItemKind?
374 f32 xC3C; // 0xc3c
375 f32 xC40; // 0xc40
376 f32 xC44; // 0xc44
377 s32 xC48; // 0xc48
378 s32 xC4C; // Something to do with damage. 0x80077464 checks this against
379 // reflectors' maximum damage threshold
380 s32 xC50; // 0xc50
381 f32 xC54; // 0xc54
382 Vec3 xC58; // 0xc58
383 HSD_GObj* xC64_reflectGObj; // GObj that reflected this item?
384 f32 xC68; // 0xc68
385 f32 xC6C; // 0xc6c
386 f32 xC70; // 0xc70
388 Vec2 xC78; // 0xc78
389 S32Vec2 xC80; // 0xc80
390 s32 xC88; // 0xc88
391 u16 xC8C; // 0xc8c
393 s32 xC94; // 0xc94
394 f32 xC98; // 0xc98
395 s32 xC9C; // Total damage taken?
396 s32 xCA0; // Last amount of damage taken?
397 s32 xCA4; // 0xca4
398 s32 xCA8; // 0xca8, hitlag related
399 s32 xCAC_angle; // 0xcac
400 s32 xCB0_source_ply; // 0xcb0, damage source ply number
401 s32 xCB4; // 0xcb4
402 f32 xCB8_outDamageDirection; // 0xcb8, updated @ 80078184
403 f32 xCBC_hitlagFrames; // 0xcbc, hitlag frames remaining
404 f32 xCC0; // 0xcc0
405 s32 xCC4; // 0xcc4, switch statement for this in it_8027CBFC
406 f32 xCC8_knockback; // 0xcc8
407 f32 xCCC_incDamageDirection; // Direction from which damage was applied?
408 f32 xCD0; // 0xcd0
409 Vec3 xCD4; // 0xcd4
410 Vec3 xCE0; // 0xce0
412 HSD_GObj* xCF0_itemGObj; // 0xcf0, is a fp GObj, but is the owner of the
413
415
419
421
425
429
434
437
438 f32 xD10;
439
442
445
448
452
456
461
462 // 0xd2c, runs after exiting hitlag in hitlag, update proc 8026a200
464
469
473
481
483 f32 xD40;
485 f32 xD48_halfLifeTimer; // Not radioactive, just the item's original
486 // lifetime halved
487 int xD4C; // Number of ammo remaining (Checked by shootable items in
488 // it_8026B594)
489 u32 xD50_landNum; // Number of times this item has landed
490 u32 xD54_throwNum; // Number of times this item has been thrown
491 u32 xD58;
492 u32 xD5C;
493
496
499
502
507
511
516 s16 xD8E;
517 union Struct2070 xD90; // some bit struct/union
518 Vec2 xD94;
519 S32Vec2 xD9C;
522 union {
523 UnkFlagStruct xDAA_flag; // Develop mode stuff?
525 };
530 union {
533 };
534 u32 xDC0;
535 u32 xDC4;
537 struct {
538 u8 b0 : 1;
539 u8 b1 : 1;
540 u8 b2 : 1;
541 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
716 u32 x4;
717 u32 x8;
718 u32 xC;
719 u32 x10;
721 u32 x18;
722 u32 x1C;
723 u32 x20;
724 u32 x24;
725 u32 x28;
726 u32 x2C;
728 u32 x34;
747 f32 x80_float[13];
749 f32 xB8;
750 f32 xBC;
751 f32 xC0;
752 f32 xC4;
753 f32 xC8;
754 f32 xCC;
755 f32 xD0;
756 f32 xD4;
757 u32 xD8;
760 u8 filler_1a[0xE8 - 0xE4];
761 f32 xE8;
762 u8 filler_1a_2[0xF0 - 0xEC];
763 f32 xF0;
764 f32 xF4;
765 f32 xF8;
766 s32 xFC[(0x124 - 0xFC) / 4];
767 s32 x124; // max value for a random integer generation in it_8026F6BC
768 s32 x128[4]; // monster item counts for it_8026CF04
769 // u8 filler_2[0x148 - 0x138]; - replaced with vars that are used for
770 // calc's in it_8026F8B4
774 f32 x144;
776 f32 x14C;
777 f32 x150;
778 f32 x154;
779 f32 x158;
780 f32 x15C;
781};
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_8026C530 (binary search) and it_8026C75C (full pick).
857 u8 x0; // entry count N (incremented/decremented as items get added/picked)
858 u8* x4; // ItemKind values, length N
859 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
878 u32 x4;
879 u16 x8;
880 u16 xA;
881 u16 xC;
882};
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
GroundOrAir
Definition common_structs.h:89
u32 x10
Definition gm_16AE.static.h:21
HSD_ImageDesc x40[3]
Definition gm_1832.c:70
u16 x3E
Definition gm_1832.c:66
signed long s32
Definition hsd_3B2B.h:1
unsigned char u8
Definition hsd_3B2B.h:2
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:110
int enum_t
The underlying type of an enum, used as a placeholder.
Definition platform.h:9
Definition types.h:195
void * x4_specialAttributes
Definition types.h:197
ItemAttr * x0_common_attr
Definition types.h:196
ItemStateArray * xC_itemStates
Definition types.h:199
ItemModelDesc * x10_modelDesc
Definition types.h:200
ItHurtBoneList * x8_hurtbones
Definition types.h:198
ItemDynamics * x14_dynamics
Definition types.h:201
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:28
u8 b2
Definition types.h:31
u8 b7
Definition types.h:36
u8 b01
Definition types.h:30
u8 b4
Definition types.h:33
u8 b6
Definition types.h:35
u8 b5
Definition types.h:34
u8 b3
Definition types.h:32
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:73
HSD_JObj * bones[100]
Definition types.h:75
Definition types.dox:1
Definition aobj.h:58
was using this to try and fix some matches, unsuccessfully
Definition gobj.h:26
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:183
enum_t bone_id
Definition types.h:184
Vec3 a_offset
Definition types.h:185
Vec3 b_offset
Definition types.h:186
f32 scale
Definition types.h:187
Definition types.h:190
s32 count
Definition types.h:191
ItHurtBoneDesc * descs
Definition types.h:192
Definition types.h:86
Vec2 x30_unk
Definition types.h:109
f32 x50
Definition types.h:112
s32 x6C
Definition types.h:123
s32 x8
Definition types.h:101
u8 x1_4
Definition types.h:94
enum_t destroy_sfx
SFX that plays when this item is destroyed.
Definition types.h:129
u8 x3
Definition types.h:98
u8 x1_8
Definition types.h:97
s32 x7C
Definition types.h:131
u8 x1_5
Definition types.h:95
f32 x18
Definition types.h:105
f32 x54
Definition types.h:113
s32 x68
Definition types.h:122
f32 x10_fall_speed
Definition types.h:103
u8 x1_3
Definition types.h:93
u8 x1_1
Definition types.h:92
u8 x0_78
Definition types.h:88
f32 xC_spin_speed
Definition types.h:102
s32 x74
Definition types.h:125
f32 x5c
Definition types.h:115
itECB x40
Definition types.h:111
f32 x58
Definition types.h:114
f32 x14_fall_speed_max
Definition types.h:104
u8 x0_hold_kind
Definition types.h:91
Vec2 x38_grab_range
Definition types.h:110
itECB x20
Definition types.h:108
f32 x1C_damage_mul
Definition types.h:106
u8 x0_is_heavy
Definition types.h:87
s32 x80
Definition types.h:132
u8 x1_67_cam_kind
Definition types.h:96
enum_t destroy_gfx
GFX to play on destroy.
Definition types.h:120
s32 x70
Definition types.h:124
f32 x60_scale
Definition types.h:116
f32 x4_throw_speed_mul
Definition types.h:99
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:136
BoneDynamicsDesc * dyn_descs
Definition types.h:143
int count
Definition types.h:140
Definition types.h:25
Definition types.h:215
GXColor x0_unk
Definition types.h:216
Definition types.h:166
s32 x8_bone_attach_id
Definition types.h:174
u8 xC_bit_field
Definition types.h:177
HSD_Joint * x0_joint
Definition types.h:168
u32 x4_bone_count
Definition types.h:171
Definition types.h:856
u8 * x4
Definition types.h:858
u16 * xC
Definition types.h:861
u16 x8
Definition types.h:859
u8 x0
Definition types.h:857
u8 pad_xA[2]
Definition types.h:860
Definition types.h:161
struct ItemStateDesc x0_itemStateDesc[8]
Definition types.h:162
Definition types.h:147
HSD_AnimJoint * x0_anim_joint
Definition types.h:149
UNK_T xC_script
Definition types.h:158
HSD_MatAnimJoint * x4_matanim_joint
Definition types.h:152
HSD_ShapeAnimJoint * x8_parameters
Definition types.h:155
Definition types.h:11
Definition types.h:321
HitCapsule hit
Definition types.h:322
u8 x139[3]
Definition types.h:325
u8 x138
Definition types.h:323
u8 x138_b1_7
Definition types.h:324
Definition types.h:335
u32 xB80
Definition types.h:342
f32 xB78
Definition types.h:340
Vec3 xB6C
Definition types.h:336
u32 xB90
Definition types.h:346
Vec3 xB84
Definition types.h:343
HSD_JObj * xB7C
Definition types.h:341
Definition types.h:79
DynamicsDesc dyn_desc
Definition types.h:82
int flags
Definition types.h:80
HSD_JObj * skeleton
Definition types.h:81
Definition types.h:794
s32 xB4
Definition types.h:797
s32 xBC
Definition types.h:799
u32 x148
Definition types.h:802
u32 x14C
Definition types.h:803
s32 xB8
Definition types.h:798
itECB x0_ecb_arr[11]
Definition types.h:795
u32 x150_count
Definition types.h:804
u32 x144
Definition types.h:801
Vec3 xC0_pos_arr[11]
Definition types.h:800
s32 xB0
Definition types.h:796
UnkFlagStruct x154
Definition types.h:805
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:219
f32 xC68
Definition types.h:384
u8 xB68
Definition types.h:331
HSD_GObjPredicate collided
Definition types.h:447
itECB xBDC
Definition types.h:364
f32 init_facing_dir
Definition types.h:256
f32 xC3C
Definition types.h:374
HSD_GObj * atk_victim
The entity that collided with this item's hitbox?
Definition types.h:428
s32 xD80
Definition types.h:512
Vec3 x64_vec_unk2
Definition types.h:277
u32 xDA4_word
Definition types.h:520
s32 x18
Definition types.h:236
Vec3 pos
Definition types.h:271
f32 xD44_lifeTimer
Definition types.h:484
u32 xDC4
Definition types.h:535
HSD_GObj * x51C
Definition types.h:303
u16 xD8C_attack_instance
Definition types.h:515
HSD_GObj * xCF4_fighterGObjUnk
Definition types.h:414
union Item::Item_ItemVars xDD4_itemVar
ItemKind kind
Definition types.h:231
s32 xC30
Definition types.h:370
Article * xC4_article_data
Definition types.h:290
f32 x5D0_animFrameSpeed
Definition types.h:320
enum_t sfx_unk1
Definition types.h:498
enum_t spawn_kind
Definition types.h:228
ItemLogicTable * xB8_itemLogicTable
Definition types.h:287
itECB xBEC
Definition types.h:365
s32 xC94
Definition types.h:393
enum_t sfx_unk2
Definition types.h:501
u8 b1
Definition types.h:539
f32 scl
Definition types.h:262
struct Item::@205132171342035260062132270032261144007234127002 xDCC_flag
s32 ecb_lock
Definition types.h:297
enum_t destroy_type
Definition types.h:495
f32 xD10
Definition types.h:438
ItemStateDesc * xD0_itemStateDesc
Definition types.h:293
UnkFlagStruct xDD0_flag
Definition types.h:547
itECB xC0C
Definition types.h:367
f32 xC98
Definition types.h:394
Vec3 xCE0
Definition types.h:410
u32 xD58
Definition types.h:491
u8 x5C8
Definition types.h:315
struct Item::ItemHitbox x5D4_hitboxes[4]
UnkFlagStruct xDAA_flag
Definition types.h:523
HSD_GObjEvent exited_hitlag
Definition types.h:463
Vec3 xCD4
Definition types.h:409
HSD_GObj * entity
Definition types.h:223
f32 x5CC_currentAnimFrame
Definition types.h:319
Vec2 xBD4_grabRange
Definition types.h:363
HSD_GObj * xC64_reflectGObj
Definition types.h:383
HSD_GObjEvent on_accessory
Definition types.h:451
Vec2 xD94
Definition types.h:518
Vec3 xC58
Definition types.h:382
s32 xC48
Definition types.h:377
s32 xD84
Definition types.h:513
HSD_Joint * xC8_joint
Definition types.h:291
u32 xDBC_itcmd_var4_word
Definition types.h:532
u32 xDAC_itcmd_var0
Definition types.h:526
void * x0
Definition types.h:220
s32 xD78
Definition types.h:506
s32 xC34_damageDealt
Definition types.h:372
u32 xDB4_itcmd_var2
Definition types.h:528
int xD4C
Definition types.h:487
s32 x1C
Definition types.h:237
enum_t destroy_sfx
SFX that plays when this item is destroyed.
Definition types.h:510
u8 xB6B
Definition types.h:334
enum_t xD0C
Definition types.h:436
struct lb_80014638_arg1_t xB54
Definition types.h:330
f32 xD48_halfLifeTimer
Definition types.h:485
u8 b0
Definition types.h:538
enum_t msid
Definition types.h:247
itECB xBFC
Definition types.h:366
u8 xD0B
Definition types.h:433
f32 xC40
Definition types.h:375
u8 b4567
Definition types.h:542
u16 xDA8_short
Definition types.h:521
flag32 xDBC_itcmd_var4
Definition types.h:531
f32 xCD0
Definition types.h:408
u8 xB6A
Definition types.h:333
s32 xD70
Definition types.h:504
union Struct2070 xD90
Definition types.h:517
u8 x5CA
Definition types.h:317
u32 xAC4_ignoreItemID
Definition types.h:327
s32 xC50
Definition types.h:380
s32 x8
Definition types.h:225
HSD_GObj * xCF0_itemGObj
Definition types.h:412
u8 xDAA_byte
Definition types.h:524
u8 xAC8_hurtboxNum
Definition types.h:328
s32 xCA8
Definition types.h:398
Vec2 xC78
Definition types.h:388
s32 xC38
Definition types.h:373
f32 xCC0
Definition types.h:404
itECB xC1C
Definition types.h:368
u8 b2
Definition types.h:540
f32 xC6C
Definition types.h:385
ItemModStruct xBC8
Definition types.h:361
UnkFlagStruct xDCE_flag
Definition types.h:545
Vec3 x58_vec_unk
Definition types.h:274
s32 xCA0
Definition types.h:396
struct Item::xB6C_t xB6C_vars[2]
UnkFlagStruct xDD2_flag
Definition types.h:549
s32 xC74
Definition types.h:387
UnkFlagStruct xDCF_flag
Definition types.h:546
HSD_GObj * xCEC_fighterGObj
Definition types.h:411
Vec3 x40_vel
Definition types.h:268
GXColor xBC4
Definition types.h:360
u32 xD50_landNum
Definition types.h:489
s32 xCB4
Definition types.h:401
DynamicBoneTable * xBBC_dynamicBoneTable
Definition types.h:358
u8 xD09
Definition types.h:431
s32 xD88_attackID
Definition types.h:514
HSD_GObj * toucher
The entity that was detected by this item's inert hitbox.
Definition types.h:418
s32 xCC4
Definition types.h:405
Vec3 xAC_unk
Definition types.h:286
CollData x378_itemColl
Definition types.h:296
f32 xCCC_incDamageDirection
Definition types.h:407
s32 xCB0_source_ply
Definition types.h:400
Vec3 x88
Definition types.h:283
HSD_GObjEvent physics_updated
Definition types.h:444
Vec3 x7C
Definition types.h:282
s32 xD74
Definition types.h:505
s16 xD8E
Definition types.h:516
f32 facing_dir
Definition types.h:253
u8 xD08
Definition types.h:430
s32 xD6C
Definition types.h:503
Vec3 x70_nudge
Definition types.h:280
UnkFlagStruct xDD1_flag
Definition types.h:548
f32 x3C
Definition types.h:265
f32 xCBC_hitlagFrames
Definition types.h:403
u8 x23
Definition types.h:244
ItemStateTable * xBC_itemStateContainer
Definition types.h:288
HSD_GObjPredicate animated
Definition types.h:441
u8 x20_team_id
Definition types.h:240
f32 spin_spd
Definition types.h:259
CmSubject * x520_cameraBox
Definition types.h:304
enum_t anim_id
Definition types.h:250
GroundOrAir ground_or_air
Definition types.h:289
s32 xC2C
Definition types.h:369
s32 xCAC_angle
Definition types.h:399
u32 xD54_throwNum
Definition types.h:490
u32 xDB0_itcmd_var1
Definition types.h:527
S32Vec2 xD9C
Definition types.h:519
f32 xD3C_spinSpeed
Definition types.h:482
HSD_GObjPredicate touched
Runs when an entity is detected by this item's inert hibox.
Definition types.h:455
HurtCapsule xACC_itemHurtbox[2]
Definition types.h:329
s32 xC88
Definition types.h:390
f32 xC70
Definition types.h:386
ColorOverlay x548_colorOverlay
Definition types.h:314
f32 xCC8_knockback
Definition types.h:406
flag32 xDC8_word
Definition types.h:536
HSD_GObjEvent entered_hitlag
Runs after applying hitlag in damage.
Definition types.h:460
Vec3 x94
Definition types.h:284
Vec3 xA0
Definition types.h:285
HSD_GObj * owner
Item's current owner.
Definition types.h:301
s32 xC4C
Definition types.h:378
HSD_GObjInteraction grabbed_for_victim
When grabbing a fighter, run this function on them.
Definition types.h:480
HSD_GObjEvent grab_dealt
When grabbing a fighter, run this function on self.
Definition types.h:472
f32 xC54
Definition types.h:381
CommandInfo x524_cmd
Definition types.h:305
CameraBoxFlags xDCD_flag
Definition types.h:544
HSD_GObj * xCFC
Definition types.h:420
u32 xD5C
Definition types.h:492
f32 xC44
Definition types.h:376
u32 xDC0
Definition types.h:534
enum_t hold_kind
Definition types.h:234
f32 xCB8_outDamageDirection
Definition types.h:402
s32 x374_dynamicBonesNum
Definition types.h:295
u8 x5C9
Definition types.h:316
HSD_GObj * xC90_absorbGObj
Definition types.h:392
u32 xDB8_itcmd_var3
Definition types.h:529
UnkFlagStruct xDD3_flag
Definition types.h:550
u8 x5CB
Definition types.h:318
u8 xB69
Definition types.h:332
u8 xD0A
Definition types.h:432
s32 xCA4
Definition types.h:397
Vec2 xBCC_unk
Definition types.h:362
f32 xD40
Definition types.h:483
u8 x21
Definition types.h:242
UNK_T xBC0
Definition types.h:359
s32 xC9C
Definition types.h:395
u8 x22
Definition types.h:243
Item_DynamicBones xD4_dynamicBones[24]
Definition types.h:294
u16 xC8C
Definition types.h:391
HSD_GObjPredicate jumped_on
Runs when the item is jumped on.
Definition types.h:468
HSD_GObj * grab_victim
The entity that got grabbed by this item.
Definition types.h:424
ItemAttr * xCC_item_attr
Definition types.h:292
S32Vec2 xC80
Definition types.h:389
u8 b3
Definition types.h:541
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 types.dox:41
UnkFlagStruct x47_flag
Definition types.dox:75
Vec3 vel
Definition types.dox:66
Vec3 prev_pos
Definition types.dox:63
s16 x3C_damage
Definition types.dox:69
HSD_GObj * x0_parent_gobj
Definition types.dox:43
UnkFlagStruct x44_flag
Definition types.dox:72
f32 facing_dir
Definition types.dox:67
UnkFlagStruct x46_flag
Definition types.dox:74
HSD_GObj * x4_parent_gobj2
Definition types.dox:47
Vec3 pos
Definition types.dox:60
UnkFlagStruct x45_flag
Definition types.dox:73
GroundOrAir x48_ground_or_air
Definition types.dox:76
enum_t hold_kind
Defines the behavior of the item, such as thrown and pickup.
Definition types.dox:55
ItemKind kind
Definition types.dox:50
Definition types.h:40
struct flag32::@044114265150224202141327203133103123055235327262 flags
u32 x1D
Definition types.h:67
u32 x14
Definition types.h:59
u32 xB
Definition types.h:53
u32 xF
Definition types.h:57
u32 x3
Definition types.h:45
u32 x2
Definition types.h:44
u32 x1C
Definition types.h:66
u32 x16
Definition types.h:61
u32 x1
Definition types.h:43
u32 xE
Definition types.h:56
u32 x15
Definition types.h:60
u32 x7
Definition types.h:49
u32 x9
Definition types.h:51
u32 x1E
Definition types.h:68
u32 x5
Definition types.h:47
u32 x0
Definition types.h:42
u32 xC
Definition types.h:54
u32 x13
Definition types.h:58
u32 xD
Definition types.h:55
u32 x1A
Definition types.h:64
u32 x19
Definition types.h:63
u32 x6
Definition types.h:48
u32 x17
Definition types.h:62
u32 x1F
Definition types.h:69
u32 x1B
Definition types.h:65
u32 xA
Definition types.h:52
u32 x4
Definition types.h:46
u32 x8
Definition types.h:50
Definition itCharItems.h:243
Definition itCommonItems.h:73
Definition itCommonItems.h:103
Definition itCharItems.h:17
Definition itCommonItems.h:21
Definition itCommonItems.h:1014
Definition itCharItems.h:21
Definition itCharItems.h:34
Definition itCharItems.h:812
Definition itCommonItems.h:799
Definition itCommonItems.h:242
Definition itCharItems.h:80
Definition types.h:168
Eggs spawned on Yoshi stages / by Chansey.
Definition itCommonItems.h:362
Definition itCommonItems.h:118
Definition itCommonItems.h:822
Definition itCommonItems.h:808
Definition itCommonItems.h:405
Definition itCommonItems.h:432
Definition itCharItems.h:132
Definition itCharItems.h:278
Definition itCharItems.h:236
Definition itCommonItems.h:458
Definition itCommonItems.h:1528
Definition itCommonItems.h:1533
Definition itCommonItems.h:603
Definition itCommonItems.h:1220
Definition itCharItems.h:843
Definition itCharItems.h:199
Definition itCommonItems.h:1674
Definition itCommonItems.h:827
Definition itCommonItems.h:253
Definition itCommonItems.h:369
Definition itCharItems.h:868
Definition itCommonItems.h:748
Definition itCommonItems.h:1020
Definition itCommonItems.h:737
Definition itCommonItems.h:842
Definition itCharItems.h:300
Definition itCharItems.h:293
Definition itCharItems.h:289
Definition itCommonItems.h:982
Definition itCommonItems.h:1430
Definition itCommonItems.h:962
Definition itCommonItems.h:184
Definition itCommonItems.h:148
Definition itCommonItems.h:333
Definition itCommonItems.h:320
Definition itCommonItems.h:311
Definition itCharItems.h:204
Definition itCommonItems.h:510
Definition itCharItems.h:473
Definition itCharItems.h:390
Definition itCharItems.h:418
Definition itCharItems.h:528
Definition itCharItems.h:335
Definition itCommonItems.h:356
Definition itCommonItems.h:1061
Definition itCommonItems.h:1093
Definition itCommonItems.h:1662
Definition itCommonItems.h:531
Definition itCommonItems.h:1420
Definition itCommonItems.h:1041
Definition itCharItems.h:533
Definition itCharItems.h:541
Definition itCommonItems.h:1685
Definition itCommonItems.h:477
Definition itCommonItems.h:1135
Definition itCommonItems.h:678
Definition itCharItems.h:909
Definition itCharItems.h:70
Definition itCharItems.h:74
Definition itCommonItems.h:849
Definition itCommonItems.h:1353
Definition itCommonItems.h:1596
Definition itCommonItems.h:1457
Definition itPKFlash.h:16
Definition itPKFlash.h:8
Definition itPKThunder.h:18
Definition itCommonItems.h:1465
Definition itCharItems.h:569
Definition itCharItems.h:589
Definition itCharItems.h:578
Definition itCharItems.h:597
Definition itCommonItems.h:1112
Definition itCommonItems.h:724
Definition itCommonItems.h:651
Definition itCharItems.h:634
Definition itCharItems.h:639
Definition itCharItems.h:671
Definition itCharItems.h:748
Definition itCommonItems.h:1371
Definition itCharItems.h:772
Definition itCharItems.h:756
Definition itCharItems.h:760
Definition itCommonItems.h:1389
Definition itCommonItems.h:1396
Definition itCommonItems.h:31
Definition itCommonItems.h:40
Definition itCommonItems.h:917
Definition itCommonItems.h:926
Definition itCommonItems.h:1582
Definition itCommonItems.h:547
Definition itCommonItems.h:296
Definition itCharItems.h:887
Definition itCommonItems.h:1401
Definition itCommonItems.h:1238
Definition itCharItems.h:836
Definition itCommonItems.h:1605
Definition itCommonItems.h:444
Definition itCommonItems.h:1326
Definition itCommonItems.h:123
Definition itCommonItems.h:1313
Definition itCommonItems.h:1224
Definition itCommonItems.h:1193
Definition itCharItems.h:821
Definition itCommonItems.h:690
Definition types.h:204
u16 x0
Definition types.h:205
struct lbColl_8000A10C_arg0_t x1C
Definition types.h:212
s32 x14
Definition types.h:210
u8 * x4
Definition types.h:206
u8 * xC
Definition types.h:208
s32 x10
Definition types.h:209
UnkFlagStruct x18
Definition types.h:211
u16 x8
Definition types.h:207
Definition itCommonItems.h:1258
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:1546
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:551
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:565
itLeadead_ItemVars leadead
Definition types.h:600
itEvYoshiEgg_ItemVars evyoshiegg
Definition types.h:567
itLucky_ItemVars lucky
Definition types.h:612
itFreezer_ItemVars freezer
Definition types.h:576
itSamusGrapple_ItemVars samusgrapple
Definition types.h:643
itUnk2_ItemVars unk2
Definition types.h:660
itFlipper_ItemVars flipper
Definition types.h:570
itLinkBow_ItemVars linkbow
Definition types.h:608
itTaru_ItemVars taru
Definition types.h:653
itMasterHandLaser_ItemVars masterhandlaser
Definition types.h:616
itStar_ItemVars star
Definition types.h:650
itNessbat_ItemVars nessbat
Definition types.h:623
itkireihana_ItemVars kireihana
Definition types.h:594
itCLinkMilk_ItemVars clinkmilk
Definition types.h:562
itLGunBeam_ItemVars lgunbeam
Definition types.h:602
itScopeBeam_ItemVars scopebeam
Definition types.h:645
itFFlowerFlame_ItemVars fflowerflame
Definition types.h:569
itGShell_ItemVars zgshell
Definition types.h:582
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:554
itPikachutJoltGround_ItemVars pikachujoltground
Definition types.h:634
itGShell_ItemVars gshell
Definition types.h:582
itLugia_ItemVars lugia
Definition types.h:613
itLGunRay_ItemVars lgunray
Definition types.h:603
itGamewatch_ItemVars gamewatch
Definition types.h:578
itZeldaDinFireExplode_ItemVars zeldadinfireexplode
Definition types.h:670
itGamewatchchef_ItemVars gamewatchchef
Definition types.h:579
itTosakinto_ItemVars tosakinto
Definition types.h:659
itHassam_ItemVars hassam
Definition types.h:583
itFoods_ItemVars foods
Definition types.h:571
itTincle_ItemVars tincle
Definition types.h:656
itOctarock_ItemVars octarock
Definition types.h:627
itKinoko_ItemVars kinoko
Definition types.h:590
itCoin_ItemVars coin
Definition types.h:563
itClimbersBlizzard_ItemVars climbersblizzard
Definition types.h:559
itKirbyHammer_ItemVars kirbyhammer
Definition types.h:593
itClimbersString_ItemVars climbersstring
Definition types.h:561
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:582
itHinoarashi_ItemVars hinoarashi
Definition types.h:586
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:552
itKyasarinEgg_ItemVars kyasarinEgg
Definition types.h:599
itRShell_ItemVars rshell
Definition types.h:640
itLikelike_ItemVars likelike
Definition types.h:604
itGamewatchrescue_ItemVars gamewatchrescue
Definition types.h:580
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:585
itGreatFoxLaser_ItemVars greatfoxlaser
Definition types.h:581
itHeart_ItemVars heart
Definition types.h:584
itFFlower_ItemVars fflower
Definition types.h:568
itChicorita_ItemVars chicorita
Definition types.h:558
itMasterHandBullet_ItemVars masterhandbullet
Definition types.h:615
itKyasarin_ItemVars kyasarin
Definition types.h:598
itFoxLaser_ItemVars foxlaser
Definition types.h:574
itKoopaFlame_ItemVars koopaflame
Definition types.h:596
itMDisable_ItemVars mdisable
Definition types.h:620
itDosei_ItemVars dosei
Definition types.h:564
itWstar_ItemVars wstar
Definition types.h:665
itFoxIllusion_ItemVars foxillusion
Definition types.h:573
itKabigon_ItemVars kabigon
Definition types.h:589
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:566
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:557
itLGun_ItemVars lgun
Definition types.h:601
itKirby2F23_ItemVars kirby2f23
Definition types.h:591
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:560
it_2E5A_ItemVars it_2E5A
Definition types.h:553
itLizardon_ItemVars lizardon
Definition types.h:611
itMato_ItemVars mato
Definition types.h:618
itFreeze_ItemVars freeze
Definition types.h:575
itFoxBlaster_ItemVars foxblaster
Definition types.h:572
itBox_ItemVars box
Definition types.h:556
itKirbyCutterBeam_ItemVars kirbycutterbeam
Definition types.h:592
itKusudama_ItemVars kusudama
Definition types.h:597
itFushigibana_ItemVars fushigibana
Definition types.h:577
itHitodeman_ItemVars hitodeman
Definition types.h:587
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:588
itKlap_ItemVars klap
Definition types.h:595
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:555
itThunder_ItemVars thunder
Definition types.h:655
Definition types.h:916
Definition common_structs.h:75