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 <platform.h>
5#include <placeholder.h>
6
7#include "cm/forward.h"
8#include "it/forward.h" // IWYU pragma: export
9#include "it/items/forward.h"
10#include <dolphin/gx/forward.h>
11#include <baselib/forward.h>
12
13#include "ft/types.h"
14#include "it/itCharItems.h"
15#include "it/itCommonItems.h"
16#include "it/itPKFlash.h"
17#include "it/itPKThunder.h"
18#include "lb/types.h"
19
20#include <common_structs.h>
21#include <dolphin/gx/types.h>
22#include <dolphin/mtx/types.h>
23
25 struct {
26 u8 b01 : 2;
27 u8 b2 : 1;
28 u8 b3 : 1;
29 u8 b4 : 1;
30 u8 b5 : 1;
31 u8 b6 : 1;
32 u8 b7 : 1;
33 };
34};
35
36struct flag32 {
37 union {
38 struct {
39 u32 x0 : 1;
40 u32 x1 : 1;
41 u32 x2 : 1;
42 u32 x3 : 1;
43 u32 x4 : 1;
44 u32 x5 : 1;
45 u32 x6 : 1;
46 u32 x7 : 1;
47 u32 x8 : 1;
48 u32 x9 : 1;
49 u32 xA : 1;
50 u32 xB : 1;
51 u32 xC : 1;
52 u32 xD : 1;
53 u32 xE : 1;
54 u32 xF : 4;
55 u32 x13 : 1;
56 u32 x14 : 1;
57 u32 x15 : 1;
58 u32 x16 : 1;
59 u32 x17 : 2;
60 u32 x19 : 1;
61 u32 x1A : 1;
62 u32 x1B : 1;
63 u32 x1C : 1;
64 u32 x1D : 1;
65 u32 x1E : 1;
66 u32 x1F : 1;
69 };
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; // unk, might be lock-on behavior? (Samus Missile)
88 u8 x0_hold_kind : 3; // defines hand hold behavior
89 u8 x1_1 : 2; // 0x1 0xB0
90 u8 x1_3 : 1; // 0x1 0x20
91 u8 x1_4 : 1; // 0x1 0x10
92 u8 x1_5 : 1; // 0x1 0x08
93 u8 x1_67_cam_kind : 2; // 0x1 0x06, is stored to 0xdcd
94 u8 x1_8 : 1; // 0x1 0x01 char flags3; //0x2
95 u8 x3; // 0x3
96 f32 x4_throw_speed_mul; // 0x4, speed multiplier at which this item is
97 // thrown at
103 f32 x1C_damage_mul; // collision related? referenced on taking damage @
104 // 80270f90
106 Vec2 x30_unk; // 0x34
109 f32 x50; // 0x50
110 f32 x54; // 0x54
111 f32 x58; // 0x58
112 f32 x5c; // 0x5c
113 f32 x60_scale; // 0x60, does not affect hitboxes
114
118
119 s32 x68; // 0x68
120 s32 x6C; // 0x6c
121 s32 x70; // 0x70
122 s32 x74; // 0x74
123
127
128 s32 x7C; // 0x7c
129 s32 x80; // 0x80
130 s32 x84; // 0x84
131 s32 x88; // 0x88
132 s32 x8C; // 0x8c
133 s32 x90; // 0x90
134 s32 x94; // 0x94
135 s32 x98; // 0x98
136 s32 x9C; // 0x9c
137};
138
149
164
168
183
192
203
204struct Item {
205 void* x0;
206
209
211
214
217
220
223
226
230
233
236
239
242
245
248
251
254
257
260
263
266
268 Vec3 x88; // From it_80277040
269 Vec3 x94; // From it_80277040
270 Vec3 xA0; // From it_802734B4
271 Vec3 xAC_unk; // From it_80276CEC
272 ItemLogicTable* xB8_itemLogicTable; // Global item callbacks
283
287
288 HSD_GObj* x51C; // Related to the owner gobj
290 FtCmdState x524_cmd; // should this be CommandInfo* instead?
291 // f32 x528;
292 // void* x52C_item_script; // Script parse?
293 // u32 x530;
294 // u32 x534;
295 // u32 x538;
296 // u32 x53C;
297 // u32 x540;
298 // u32 x544;
301 u8 x5C9; // used heavily in it_80278108
306 struct {
310 u32 xAC4_ignoreItemID; // Cannot hit items with this index?
311 u8 xAC8_hurtboxNum; // Number of hurtboxes this item has
313 xACC_itemHurtbox[2]; // Are these really size 0x4C? Code in itcoll.c
314 // and it_266F.c adds 0x44 to iterate through.
315 // (Conversely can see adding 0x4C to iterate in
316 // ftcoll.c) Can see how vars don't line up in
317 // it_80274D6C and it_80274DAC
319 u8 xB68; // int for ItemDynamics->count?
323 struct {
325 // u32 xB6C; // struct DynamicsData* for DynamicsDesc->data?
326 // u32 xB70; // int for DynamicsDesc->count?
327 // u32 xB74; // pos.x?
328 f32 xB78; // pos.y? scale?
329 HSD_JObj* xB7C; // HSD_JObj* for bone?
332 // u32 xB88;
333 // u32 xB8C;
334 u32 xB90; // enum_t for BoneDynamicsDesc->bone_id?
336 // u32 xB94;
337 // u32 xB98;
338 // u32 xB9C;
339 // u32 xBA0;
340 // u32 xBA4;
341 // u32 xBA8;
342 // u32 xBAC;
343 // u32 xBB0;
344 // u32 xBB4;
345 // u32 xBB8;
362
363 s32 xC34_damageDealt; // Rounded down
364 s32 xC38; // 0xc38 - ItemKind?
365 f32 xC3C; // 0xc3c
366 f32 xC40; // 0xc40
367 f32 xC44; // 0xc44
368 s32 xC48; // 0xc48
369 s32 xC4C; // Something to do with damage. 0x80077464 checks this against
370 // reflectors' maximum damage threshold
371 s32 xC50; // 0xc50
372 f32 xC54; // 0xc54
373 Vec3 xC58; // 0xc58
374 HSD_GObj* xC64_reflectGObj; // GObj that reflected this item?
375 f32 xC68; // 0xc68
376 f32 xC6C; // 0xc6c
377 f32 xC70; // 0xc70
379 Vec2 xC78; // 0xc74
380 Vec2 xC80; // 0xc7c
381 s32 xC88; // 0xc88
382 u16 xC8C; // 0xc8c
384 s32 xC94; // 0xc94
385 f32 xC98; // 0xc98
386 s32 xC9C; // Total damage taken?
387 s32 xCA0; // Last amount of damage taken?
388 s32 xCA4; // 0xca4
389 s32 xCA8; // 0xca8, hitlag related
390 s32 xCAC_angle; // 0xcac
391 s32 xCB0_source_ply; // 0xcb0, damage source ply number
392 s32 xCB4; // 0xcb4
393 f32 xCB8_outDamageDirection; // 0xcb8, updated @ 80078184
394 f32 xCBC_hitlagFrames; // 0xcbc, hitlag frames remaining
395 f32 xCC0; // 0xcc0
396 s32 xCC4; // 0xcc4, switch statement for this in it_8027CBFC
398 f32 xCCC_incDamageDirection; // Direction from which damage was applied?
399 f32 xCD0; // 0xcd0
400 Vec3 xCD4; // 0xcd4
401 Vec3 xCE0; // 0xce0
403 HSD_GObj* xCF0_itemGObj; // 0xcf0, is a fp GObj, but is the owner of the
404
406
410
412
416
420
425
428
430
433
436
439
443
447
452
453 // 0xd2c, runs after exiting hitlag in hitlag, update proc 8026a200
455
460
464
472
476 f32 xD48_halfLifeTimer; // Not radioactive, just the item's original
477 // lifetime halved
478 int xD4C;
479 u32 xD50_landNum; // Number of times this item has landed
480 s32 xD54_throwNum; // Number of times this item has been thrown
483
486
489
492
497
501
507 union Struct2070 xD90; // some bit struct/union
510 union {
513 };
514 union {
517 };
518 union {
519 UnkFlagStruct xDAA_flag; // Develop mode stuff?
521 };
530 struct {
531 u8 b0 : 1;
532 u8 b1 : 1;
533 u8 b2 : 1;
534 u8 b3 : 1;
544 union {
596 u8 _[0xFCC - 0xDD4];
598};
599STATIC_ASSERT(sizeof(struct Item) == 0xFCC);
600
604
609
618
619struct SpawnItem {
620 /* +0 */ HSD_GObj* x0_parent_gobj;
621 /* +4 */ HSD_GObj* x4_parent_gobj2;
622 /* +8 */ ItemKind kind;
623 /* +C */ enum_t hold_kind;
624 /* +10 */ s32 x10;
625 /* +14 */ Vec3 pos;
626 /* +20 */ Vec3 prev_pos;
627 /* +2C */ Vec3 vel;
628 /* +38 */ f32 facing_dir;
629 /* +3C */ s16 x3C_damage;
630 /* +3E */ s16 x3E;
631 /* +40 */ s32 x40;
632 /* +44 */ UnkFlagStruct x44_flag;
633 /* +45 */ UnkFlagStruct x45_flag;
634 /* +46 */ UnkFlagStruct x46_flag;
635 /* +47 */ UnkFlagStruct x47_flag;
637};
638
642
656 u32 x30; // lifetime?
689 u8 filler_1a[0xE8 - 0xE4];
690 u8 xE8; // struct that has a float (scale?) as the first member? See
691 // it_80275BC8
692 u8 filler_1a_2[0xF0 - 0xEC];
696 u8 filler_1b[0x124 - 0xFC];
697 s32 x124; // max value for a random integer generation in it_8026F6BC
698 s32 x128; // used in it_8026CF04
699 s32 x12C; // used in it_8026CF04
700 s32 x130; // used in it_8026CF04
701 s32 x134; // used in it_8026CF04
702 // u8 filler_2[0x148 - 0x138]; - replaced with vars that are used for
703 // calc's in it_8026F8B4
714};
715
724
726 // float x0;
727 // float x4;
728 // float x8;
729 // float xC;
730 // u8 pad_10[0xB0 - 0x10];
732 int xB0;
733 int xB4;
734 int xB8;
736 // Vec3 xC0;
737 // u8 pad_CC[0x148 - 0xCC];
742 u32 x150; // num of ECB/Vec3's with data?
744};
745
748};
749
778
780 u8 x0; // Gets incremented and decremented by 1 for various checks. Gets
781 // indexed into x4's struct
782 u8* x4; // Points to struct of ItemKinds (or array?)
783 u16 x8; // Max value for random integers
785 u16* xC; // Points to struct of ???
786};
787
792 u64 x18; // Gets set equal to gm_8016AEA4(), aka lbl_8046B6A0.unk_24D3
793 // (which is an s8?)
794};
795
803
810
821
827
829 u8 x0[32]; // This array length was a guess
830};
831
832#endif
GroundOrAir
Definition common_structs.h:132
s32 M2C_UNK
Definition m2c_macros.h:14
ItemKind
Definition forward.h:85
#define UNK_T
unsigned long u32
An unsigned 32-bit integer.
Definition platform.h:26
#define STATIC_ASSERT(cond)
Definition platform.h:169
float f32
A 32-bit floating-point number.
Definition platform.h:62
signed short s16
A signed 16-bit integer.
Definition platform.h:11
unsigned int uint
An unsigned integer of platform-dependent size.
Definition platform.h:35
unsigned short u16
An unsigned 16-bit integer.
Definition platform.h:23
int enum_t
The underlying type of an enum, used as a placeholder.
Definition platform.h:74
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
Definition types.h:184
void * x4_specialAttributes
Definition types.h:186
ItemAttr * x0_common_attr
Definition types.h:185
ItemStateArray * xC_itemStates
Definition types.h:188
ItemModelDesc * x10_modelDesc
Definition types.h:189
UNK_T x8_hurtbox
Definition types.h:187
ItemDynamics * x14_dynamics
Definition types.h:190
Definition types.h:610
enum_t x14
Definition types.h:614
UnkFlagStruct x1C
Definition types.h:616
HSD_JObj * x4
Definition types.h:612
s32 x18
Definition types.h:615
HSD_GObj * x0
Definition types.h:611
Vec3 x8_vec
Definition types.h:613
Definition types.h:24
Definition types.h:24
u8 b2
Definition types.h:27
u8 b7
Definition types.h:32
u8 b01
Definition types.h:26
u8 b4
Definition types.h:29
u8 b6
Definition types.h:31
u8 b5
Definition types.h:30
u8 b3
Definition types.h:28
Definition types.h:11
Definition types.h:203
Definition common_structs.h:82
Definition types.h:72
HSD_JObj * bones[100]
Definition types.h:74
Definition types.dox:1
Definition itCommonItems.h:15
Definition types.h:1807
Definition types.h:30
Definition aobj.h:57
Definition gobj.h:25
Definition jobj.h:108
Definition jobj.h:131
Definition mobj.h:135
Definition types.h:725
M2C_UNK xBC
Definition types.h:735
u32 x148
Definition types.h:740
ECB ecb_arr[11]
Definition types.h:731
int xB8
Definition types.h:734
u32 x14C
Definition types.h:741
int xB4
Definition types.h:733
UnkFlagStruct x154
Definition types.h:743
u32 x144
Definition types.h:739
Vec3 xC0_vec3_arr[11]
Definition types.h:738
int xB0
Definition types.h:732
u32 x150
Definition types.h:742
Definition types.h:788
HSD_ObjAllocUnk6 x4
Definition types.h:790
u32 x0
Definition types.h:789
u64 x18
Definition types.h:792
s32 x14
Definition types.h:791
Definition types.h:796
u16 x8
Definition types.h:799
u16 xA
Definition types.h:800
u8 x0
Definition types.h:797
u16 xC
Definition types.h:801
u32 x4
Definition types.h:798
Definition types.h:779
u16 x8
Definition types.h:783
u8 * x4
Definition types.h:782
u16 xA
Definition types.h:784
u8 x0
Definition types.h:780
u16 * xC
Definition types.h:785
Definition types.h:804
void * x4
Definition types.h:806
void * xC
Definition types.h:808
s32 x0
Definition types.h:805
HitCapsule * x8
Definition types.h:807
Definition types.h:750
s32 x28
Definition types.h:761
s32 x34
Definition types.h:764
s32 x0
Definition types.h:751
s32 x50
Definition types.h:771
s32 x58
Definition types.h:773
s32 x24
Definition types.h:760
s32 x60
Definition types.h:775
s32 x14
Definition types.h:756
s32 x40
Definition types.h:767
s32 x3C
Definition types.h:766
s32 x8
Definition types.h:753
s32 x20
Definition types.h:759
s32 x30
Definition types.h:763
s32 x2C
Definition types.h:762
s32 x5C
Definition types.h:774
s32 x44
Definition types.h:768
s32 x38
Definition types.h:765
s32 x4
Definition types.h:752
s32 x1C
Definition types.h:758
s32 x10
Definition types.h:755
s32 x4C
Definition types.h:770
s32 x48
Definition types.h:769
s32 x54
Definition types.h:772
s32 xC
Definition types.h:754
s32 x64
Definition types.h:776
u32 x18
Definition types.h:757
Definition types.h:45
Definition types.h:115
Definition types.h:85
Vec2 x30_unk
Definition types.h:106
f32 x50
Definition types.h:109
s32 x6C
Definition types.h:120
s32 x8
Definition types.h:98
s32 x90
Definition types.h:133
ECB x20
Definition types.h:105
u8 x1_4
Definition types.h:91
ECB x40
Definition types.h:108
enum_t destroy_sfx
SFX that plays when this item is destroyed.
Definition types.h:126
u8 x3
Definition types.h:95
u8 x1_8
Definition types.h:94
s32 x7C
Definition types.h:128
u8 x1_5
Definition types.h:92
f32 x18
Definition types.h:102
s32 x9C
Definition types.h:136
s32 x98
Definition types.h:135
s32 x88
Definition types.h:131
f32 x54
Definition types.h:110
s32 x68
Definition types.h:119
f32 x10_fall_speed
Definition types.h:100
u8 x1_3
Definition types.h:90
u8 x1_1
Definition types.h:89
s32 x94
Definition types.h:134
u8 x0_78
Definition types.h:87
f32 xC_spin_speed
Definition types.h:99
s32 x74
Definition types.h:122
s32 x84
Definition types.h:130
f32 x5c
Definition types.h:112
f32 x58
Definition types.h:111
f32 x14_fall_speed_max
Definition types.h:101
u8 x0_hold_kind
Definition types.h:88
Vec2 x38_grab_range
Definition types.h:107
f32 x1C_damage_mul
Definition types.h:103
u8 x0_is_heavy
Definition types.h:86
s32 x80
Definition types.h:129
s32 x8C
Definition types.h:132
u8 x1_67_cam_kind
Definition types.h:93
enum_t destroy_gfx
GFX to play on destroy.
Definition types.h:117
s32 x70
Definition types.h:121
f32 x60_scale
Definition types.h:113
f32 x4_throw_speed_mul
Definition types.h:96
Definition types.h:643
s32 x140
Definition types.h:706
f32 x54_float
Definition types.h:665
u8 filler_1a[0xE8 - 0xE4]
Definition types.h:689
s32 x138
Definition types.h:704
u32 x28
Definition types.h:654
f32 x68_float
Definition types.h:670
f32 xC8
Definition types.h:682
u32 x34
Definition types.h:657
u32 x2C
Definition types.h:655
f32 x80_float[13]
Definition types.h:676
f32 x150
Definition types.h:710
f32 x74_float
Definition types.h:673
f32 xBC
Definition types.h:679
s32 x13C
Definition types.h:705
u32 x24
Definition types.h:653
s32 x134
Definition types.h:701
f32 x14C
Definition types.h:709
s32 x0
Definition types.h:644
u32 x10
Definition types.h:648
u32 x1C
Definition types.h:651
u32 x20
Definition types.h:652
f32 x78_float
Definition types.h:674
f32 xD0
Definition types.h:684
u32 x4
Definition types.h:645
f32 x7C_float
Definition types.h:675
u32 x18
Definition types.h:650
s32 x50_float
Definition types.h:664
f32 x15C
Definition types.h:713
f32 x70_float
Definition types.h:672
f32 x144
Definition types.h:707
f32 xCC
Definition types.h:683
u32 x48_float
Definition types.h:662
s32 x128
Definition types.h:698
u32 x38_float
Definition types.h:658
s32 x14
Definition types.h:649
f32 xF8
Definition types.h:695
s32 xB4
Definition types.h:677
f32 x154
Definition types.h:711
f32 xB8
Definition types.h:678
s32 x3C_float
Definition types.h:659
u8 filler_1a_2[0xF0 - 0xEC]
Definition types.h:692
f32 xD4
Definition types.h:685
f32 unk_degrees
Definition types.h:688
s32 x64_float
Definition types.h:669
f32 xC4
Definition types.h:681
f32 xC0
Definition types.h:680
s32 x40_float
Definition types.h:660
s32 x130
Definition types.h:700
f32 x4C_float
Definition types.h:663
f32 x60_float
Definition types.h:668
u8 filler_1b[0x124 - 0xFC]
Definition types.h:696
f32 x6C_float
Definition types.h:671
f32 x58_float
Definition types.h:666
s32 xDC
Definition types.h:687
f32 x5C_float
Definition types.h:667
s32 x44_float
Definition types.h:661
s32 x124
Definition types.h:697
u32 x8
Definition types.h:646
s32 x148
Definition types.h:708
f32 xF4
Definition types.h:694
u32 xC
Definition types.h:647
s32 x12C
Definition types.h:699
uint xD8
Definition types.h:686
u32 x30
Definition types.h:656
f32 x158
Definition types.h:712
u8 xE8
Definition types.h:690
f32 xF0
Definition types.h:693
Definition types.h:140
BoneDynamicsDesc * dyn_descs
Definition types.h:147
int count
Definition types.h:144
Definition types.h:25
Definition types.h:639
GXColor x0_unk
Definition types.h:640
Definition types.h:170
s32 x8_bone_attach_id
Definition types.h:178
u8 xC_bit_field
Definition types.h:181
HSD_Joint * x0_joint
Definition types.h:172
u32 x4_bone_count
Definition types.h:175
Definition types.h:165
struct ItemStateDesc x0_itemStateDesc[8]
Definition types.h:166
Definition types.h:151
UNK_T x8_parameters
Definition types.h:159
HSD_AnimJoint * x0_anim_joint
Definition types.h:153
UNK_T xC_script
Definition types.h:162
HSD_MatAnimJoint * x4_matanim_joint
Definition types.h:156
Definition types.h:11
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:716
s32 x10
Definition types.h:721
s32 x14
Definition types.h:722
void ** pokeball_items
Definition types.h:720
void ** adventure_items
Definition types.h:719
ItemCommonData * item_common
Definition types.h:717
void ** common_items
Definition types.h:718
Definition types.h:204
f32 xC68
Definition types.h:375
u8 xB68
Definition types.h:319
f32 xB64
Definition types.h:318
HSD_GObjPredicate collided
Definition types.h:438
f32 init_facing_dir
Definition types.h:241
itPKFlush_ItemVars pkflush
Definition types.h:584
itChicorita_ItemVars chicorita
Definition types.h:547
Vec3 xB6C
Definition types.h:324
f32 xC3C
Definition types.h:365
HSD_GObj * atk_victim
The entity that collided with this item's hitbox?
Definition types.h:419
itMasterHandLaser_ItemVars masterhandlaser
Definition types.h:595
itSamusGrapple_ItemVars samusgrapple
Definition types.h:588
s32 xD80
Definition types.h:502
Vec3 x64_vec_unk2
Definition types.h:262
u32 xBC8
Definition types.h:352
u32 xDA4_word
Definition types.h:512
s32 x18
Definition types.h:221
Vec3 pos
Definition types.h:256
f32 xD44_lifeTimer
Definition types.h:475
u32 xDC4
Definition types.h:528
itKirbyHammer_ItemVars kirbyhammer
Definition types.h:571
HSD_GObj * x51C
Definition types.h:288
itCoin_ItemVars coin
Definition types.h:548
HitCapsule hit
Definition types.h:307
u16 xD8C_attack_instance
Definition types.h:505
HSD_GObj * xCF4_fighterGObjUnk
Definition types.h:405
ItemKind kind
Definition types.h:216
u8 xBC7
Definition types.h:351
it_279D_ItemVars it_279D
Definition types.h:562
s32 xC30
Definition types.h:361
itFoxBlaster_ItemVars foxblaster
Definition types.h:553
Article * xC4_article_data
Definition types.h:275
f32 x5D0_animFrameSpeed
Definition types.h:305
enum_t sfx_unk1
Definition types.h:488
enum_t spawn_kind
Definition types.h:213
ItemLogicTable * xB8_itemLogicTable
Definition types.h:272
itLGunBeam_ItemVars lgunbeam
Definition types.h:574
s32 xC94
Definition types.h:384
enum_t sfx_unk2
Definition types.h:491
union Item::@223 xDD4_itemVar
u8 b1
Definition types.h:532
f32 scl
Definition types.h:247
s32 ecb_lock
Definition types.h:282
enum_t destroy_type
Definition types.h:485
f32 xD10
Definition types.h:429
ItemStateDesc * xD0_itemStateDesc
Definition types.h:278
UnkFlagStruct xDD0_flag
Definition types.h:540
f32 xC98
Definition types.h:385
Vec3 xCE0
Definition types.h:401
u32 xD58
Definition types.h:481
u8 x5C8
Definition types.h:300
UnkFlagStruct xDAA_flag
Definition types.h:519
itLGunRay_ItemVars lgunray
Definition types.h:575
HSD_GObjEvent exited_hitlag
Definition types.h:454
Vec3 xCD4
Definition types.h:400
HSD_GObj * entity
Definition types.h:208
it_27CF_ItemVars it_27CF
Definition types.h:565
ECB xBDC
Definition types.h:355
f32 x5CC_currentAnimFrame
Definition types.h:304
itFoxIllusion_ItemVars foxillusion
Definition types.h:554
itFoods_ItemVars foods
Definition types.h:552
Vec3 xB84
Definition types.h:331
it_266F_ItemVars it_266F
Definition types.h:561
Vec2 xBD4_grabRange
Definition types.h:354
f32 xB78
Definition types.h:328
HSD_GObj * xC64_reflectGObj
Definition types.h:374
HSD_GObjEvent on_accessory
Definition types.h:442
Vec2 xD94
Definition types.h:508
u8 xBC6
Definition types.h:350
Vec3 xC58
Definition types.h:373
s32 xC48
Definition types.h:368
s32 xD84
Definition types.h:503
HSD_Joint * xC8_joint
Definition types.h:276
it_2E5A_ItemVars it_2E5A
Definition types.h:566
u32 xDAC_itcmd_var0
Definition types.h:522
void * x0
Definition types.h:205
s32 xD78
Definition types.h:496
s32 xC34_damageDealt
Definition types.h:363
Vec2 xC80
Definition types.h:380
CameraBox * x520_cameraBox
Definition types.h:289
u32 xDB4_itcmd_var2
Definition types.h:524
int xD4C
Definition types.h:478
UnkFlagStruct xDA8_flag
Definition types.h:515
s32 x1C
Definition types.h:222
enum_t destroy_sfx
SFX that plays when this item is destroyed.
Definition types.h:500
u8 xB6B
Definition types.h:322
enum_t xD0C
Definition types.h:427
FtCmdState x524_cmd
Definition types.h:290
u8 xBC5
Definition types.h:349
f32 xD48_halfLifeTimer
Definition types.h:476
u8 b0
Definition types.h:531
struct Item::@214 x5D4_hitboxes[4]
enum_t msid
Definition types.h:232
ECB xC0C
Definition types.h:358
itLinkArrow_ItemVars linkarrow
Definition types.h:576
itGShell_ItemVars zgshell
Definition types.h:557
u8 xD0B
Definition types.h:424
f32 xC40
Definition types.h:366
u8 b4567
Definition types.h:535
it_2F28_ItemVars it_2F28
Definition types.h:569
u16 xDA8_short
Definition types.h:516
f32 xCD0
Definition types.h:399
u8 xB6A
Definition types.h:321
u32 xB90
Definition types.h:334
itFreeze_ItemVars freeze
Definition types.h:556
s32 xD70
Definition types.h:494
union Struct2070 xD90
Definition types.h:507
itHeart_ItemVars heart
Definition types.h:559
u8 x5CA
Definition types.h:302
u32 xAC4_ignoreItemID
Definition types.h:310
s32 xC50
Definition types.h:371
s32 x8
Definition types.h:210
HSD_GObj * xCF0_itemGObj
Definition types.h:403
u8 xDAA_byte
Definition types.h:520
HSD_JObj * xB7C
Definition types.h:329
u8 xAC8_hurtboxNum
Definition types.h:311
s32 xCA8
Definition types.h:389
Vec2 xC78
Definition types.h:379
s32 xC38
Definition types.h:364
f32 xCC0
Definition types.h:395
it_27CE_ItemVars it_27CE
Definition types.h:564
itLGun_ItemVars lgun
Definition types.h:573
u8 b2
Definition types.h:533
itSword_ItemVars sword
Definition types.h:590
f32 xC6C
Definition types.h:376
UnkFlagStruct xDCE_flag
Definition types.h:538
Vec3 x58_vec_unk
Definition types.h:259
s32 xCA0
Definition types.h:387
UnkFlagStruct xDD2_flag
Definition types.h:542
s32 xC74
Definition types.h:378
itPKThunder_ItemVars pkthunder
Definition types.h:586
UnkFlagStruct xDCF_flag
Definition types.h:539
HSD_GObj * xCEC_fighterGObj
Definition types.h:402
Vec3 x40_vel
Definition types.h:253
it_2E6A_ItemVars_1 it_2E6A_1
Definition types.h:567
u32 xD50_landNum
Definition types.h:479
s32 xCB4
Definition types.h:392
Vec2 xD9C
Definition types.h:509
DynamicBoneTable * xBBC_dynamicBoneTable
Definition types.h:346
s32 xD5C
Definition types.h:482
u8 xD09
Definition types.h:422
itFFlower_ItemVars fflower
Definition types.h:550
s32 xD88_attackID
Definition types.h:504
itGShell_ItemVars zrshell
Definition types.h:557
HSD_GObj * toucher
The entity that was detected by this item's inert hitbox.
Definition types.h:409
s32 xCC4
Definition types.h:396
Vec3 xAC_unk
Definition types.h:271
CollData x378_itemColl
Definition types.h:281
f32 xCCC_incDamageDirection
Definition types.h:398
itWhiteBea_ItemVars whitebea
Definition types.h:594
UnkFlagStruct xDA4_flag
Definition types.h:511
s32 xCB0_source_ply
Definition types.h:391
itLinkBow_ItemVars linkbow
Definition types.h:578
struct Item::@215 xB6C_vars[2]
Vec3 x88
Definition types.h:268
HSD_GObjEvent physics_updated
Definition types.h:435
itNokoNoko_ItemVars nokonoko
Definition types.h:581
Vec3 x7C
Definition types.h:267
s32 xD74
Definition types.h:495
u32 xB80
Definition types.h:330
ECB xBEC
Definition types.h:356
s16 xD8E
Definition types.h:506
f32 facing_dir
Definition types.h:238
u8 xD08
Definition types.h:421
itCapsule_ItemVars capsule
Definition types.h:546
s32 xD6C
Definition types.h:493
Vec3 x70_nudge
Definition types.h:265
UnkFlagStruct xDD1_flag
Definition types.h:541
itLinkHookshot_ItemVars linkhookshot
Definition types.h:579
f32 x3C
Definition types.h:250
f32 xCBC_hitlagFrames
Definition types.h:394
u8 x23
Definition types.h:229
ItemStateTable * xBC_itemStateContainer
Definition types.h:273
itGShell_ItemVars rshell
Definition types.h:557
HSD_GObjPredicate animated
Definition types.h:432
u8 x20_team_id
Definition types.h:225
itGShell_ItemVars gshell
Definition types.h:557
f32 spin_spd
Definition types.h:244
itLinkBomb_ItemVars linkbomb
Definition types.h:577
enum_t anim_id
Definition types.h:235
itStar_ItemVars star
Definition types.h:589
GroundOrAir ground_or_air
Definition types.h:274
itFFlowerFlame_ItemVars fflowerflame
Definition types.h:551
ECB xBFC
Definition types.h:357
s32 xC2C
Definition types.h:360
s32 xCAC_angle
Definition types.h:390
s32 xD54_throwNum
Definition types.h:480
it_2E6A_ItemVars_2 it_2E6A_2
Definition types.h:568
u32 xDB0_itcmd_var1
Definition types.h:523
itOctarock_ItemVars octarock
Definition types.h:582
f32 xD3C_spinSpeed
Definition types.h:473
HSD_GObjPredicate touched
Runs when an entity is detected by this item's inert hibox.
Definition types.h:446
HurtCapsule xACC_itemHurtbox[2]
Definition types.h:313
s32 xC88
Definition types.h:381
f32 xC70
Definition types.h:377
s32 x138
Definition types.h:308
ColorOverlay x548_colorOverlay
Definition types.h:299
f32 xCC8_knockback
Definition types.h:397
u8 xBC4
Definition types.h:348
flag32 xDC8_word
Definition types.h:529
HSD_GObjEvent entered_hitlag
Runs after applying hitlag in damage.
Definition types.h:451
Vec3 x94
Definition types.h:269
Vec3 xA0
Definition types.h:270
HSD_GObj * owner
Item's current owner.
Definition types.h:286
s32 xC4C
Definition types.h:369
HSD_GObjInteraction grabbed_for_victim
When grabbing a fighter, run this function on them.
Definition types.h:471
itPikachutJoltGround_ItemVars pikachujoltground
Definition types.h:583
itMato_ItemVars mato
Definition types.h:580
HSD_GObjEvent grab_dealt
When grabbing a fighter, run this function on self.
Definition types.h:463
itHeiho_ItemVars heiho
Definition types.h:560
f32 xC54
Definition types.h:372
CameraBoxFlags xDCD_flag
Definition types.h:537
HSD_GObj * xCFC
Definition types.h:411
f32 xC44
Definition types.h:367
struct Item::@222 xDCC_flag
itTomato_ItemVars tomato
Definition types.h:592
itHassam_ItemVars hassam
Definition types.h:558
enum_t hold_kind
Definition types.h:219
itFoxLaser_ItemVars foxlaser
Definition types.h:555
f32 xCB8_outDamageDirection
Definition types.h:393
s32 x374_dynamicBonesNum
Definition types.h:280
itBombHei_ItemVars bombhei
Definition types.h:545
u8 x5C9
Definition types.h:301
HSD_GObj * xC90_absorbGObj
Definition types.h:383
u32 xDBC_itcmd_var4
Definition types.h:526
u32 xDB8_itcmd_var3
Definition types.h:525
UnkFlagStruct xDD3_flag
Definition types.h:543
u8 x5CB
Definition types.h:303
itWhispyApple_ItemVars whispyapple
Definition types.h:593
it_27B5_ItemVars it_27B5
Definition types.h:563
itPokemon_ItemVars pokemon
Definition types.h:587
u8 xB69
Definition types.h:320
u8 xD0A
Definition types.h:423
s32 xCA4
Definition types.h:388
itPKFlushExplode_ItemVars pkflushexplode
Definition types.h:585
Vec2 xBCC_unk
Definition types.h:353
f32 xD40
Definition types.h:474
itEgg_ItemVars egg
Definition types.h:549
itKinoko_ItemVars kinoko
Definition types.h:570
u8 x21
Definition types.h:227
UNK_T xBC0
Definition types.h:347
s32 xC9C
Definition types.h:386
flag32 xDC0
Definition types.h:527
u8 _[0xFCC - 0xDD4]
Definition types.h:596
itKlap_ItemVars klap
Definition types.h:572
u8 x22
Definition types.h:228
itTincle_ItemVars tincle
Definition types.h:591
Item_DynamicBones xD4_dynamicBones[24]
Definition types.h:279
u16 xC8C
Definition types.h:382
HSD_GObjPredicate jumped_on
Runs when the item is jumped on.
Definition types.h:459
HSD_GObj * grab_victim
The entity that got grabbed by this item.
Definition types.h:415
ItemAttr * xCC_item_attr
Definition types.h:277
ECB xC1C
Definition types.h:359
u8 b3
Definition types.h:534
Definition types.dox:41
UnkFlagStruct x47_flag
Definition types.dox:75
Vec3 vel
Definition types.dox:66
s32 x40
Definition types.dox:71
Vec3 prev_pos
Definition types.dox:63
s16 x3C_damage
Definition types.dox:69
s32 x10
Definition types.dox:57
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
s16 x3E
Definition types.dox:70
ItemKind kind
Definition types.dox:50
Definition types.h:9
Definition types.h:13
Definition types.h:36
u32 x1D
Definition types.h:64
u32 x14
Definition types.h:56
u32 xB
Definition types.h:50
u32 xF
Definition types.h:54
u32 x3
Definition types.h:42
u32 x2
Definition types.h:41
struct flag32::@211::@213 flags
u32 x1C
Definition types.h:63
u32 x16
Definition types.h:58
u32 x1
Definition types.h:40
u32 xE
Definition types.h:53
u32 x15
Definition types.h:57
u32 x7
Definition types.h:46
u32 word
Definition types.h:68
u32 x9
Definition types.h:48
u32 x1E
Definition types.h:65
u32 x5
Definition types.h:44
u32 x0
Definition types.h:39
u32 xC
Definition types.h:51
u32 x13
Definition types.h:55
u32 xD
Definition types.h:52
u32 x1A
Definition types.h:61
u32 x19
Definition types.h:60
u32 x6
Definition types.h:45
u32 x17
Definition types.h:59
u32 x1F
Definition types.h:66
u32 x1B
Definition types.h:62
u32 xA
Definition types.h:49
u32 x4
Definition types.h:43
u32 x8
Definition types.h:47
Definition itCommonItems.h:74
Definition itCommonItems.h:22
Definition itCommonItems.h:472
Definition itCommonItems.h:351
Eggs spawned on Yoshi stages / by Chansey.
Definition itCommonItems.h:195
Definition itCommonItems.h:374
Definition itCommonItems.h:360
Definition itCommonItems.h:238
Definition itCharItems.h:15
Definition itCharItems.h:134
Definition itCharItems.h:114
Definition itCommonItems.h:254
Definition itCommonItems.h:293
Definition itCommonItems.h:379
Definition itCommonItems.h:84
Definition itCommonItems.h:202
Definition itCommonItems.h:394
Definition itCharItems.h:145
Definition itCommonItems.h:458
Definition itCommonItems.h:176
Definition itCommonItems.h:163
Definition itCommonItems.h:154
Definition itCharItems.h:254
Definition itCharItems.h:226
Definition itCharItems.h:309
Definition itCharItems.h:171
Definition itCommonItems.h:726
Definition itCommonItems.h:278
Definition itCommonItems.h:401
Definition itCommonItems.h:721
Definition itPKFlash.h:16
Definition itPKFlash.h:8
Definition itPKThunder.h:18
Definition itCommonItems.h:259
Definition itCommonItems.h:310
Definition itCommonItems.h:264
Definition itCommonItems.h:32
Definition itCommonItems.h:41
Definition itCommonItems.h:288
Definition itCommonItems.h:127
Definition itCommonItems.h:250
Definition itCommonItems.h:716
Definition types.h:193
u16 x0
Definition types.h:194
Vec3 x1C[2]
Definition types.h:201
s32 x14
Definition types.h:199
u8 * x4
Definition types.h:195
u8 * xC
Definition types.h:197
s32 x10
Definition types.h:198
UnkFlagStruct x18
Definition types.h:200
u16 x8
Definition types.h:196
Definition itCommonItems.h:495
Definition itCommonItems.h:549
Definition itCommonItems.h:576
Definition itCommonItems.h:581
Definition itCommonItems.h:613
Definition itCommonItems.h:694
Definition itCommonItems.h:706
Definition itCommonItems.h:595
Definition types.h:811
s32 unk8
Definition types.h:814
s32 unk10
Definition types.h:816
s32 unk4
Definition types.h:813
s32 unkC
Definition types.h:815
s32 unk18
Definition types.h:818
s32 unk14
Definition types.h:817
s32 unk0
Definition types.h:812
s32 unk1C
Definition types.h:819
Definition types.h:822
Item_GObj * x8
Definition types.h:825
bool x0
Definition types.h:823
ItemKind x4
Definition types.h:824
Definition types.h:828
u8 x0[32]
Definition types.h:829
Definition types.h:605
s32 filler
Definition types.h:606
Article * x0_article[0x9F]
Definition types.h:607
Definition types.h:746
s32 x1C
Definition types.h:747
void(* HSD_GObjInteraction)(HSD_GObj *gobj0, HSD_GObj *gobj1)
Definition forward.h:107
void(* HSD_GObjEvent)(HSD_GObj *gobj)
Definition forward.h:104
bool(* HSD_GObjPredicate)(HSD_GObj *gobj)
Definition forward.h:106
void(* GObj_RenderFunc)(HSD_GObj *gobj, int code)
Definition forward.h:101
Definition types.h:855
Definition common_structs.h:68