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