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