SSBM Decomp
Loading...
Searching...
No Matches
itCharItems.h
Go to the documentation of this file.
1
3#ifndef MELEE_IT_ITCHARITEMS_H
4#define MELEE_IT_ITCHARITEMS_H
5
6#include "it/forward.h"
7
8#include "lb/types.h"
9
10#include <dolphin/mtx/types.h>
11#include <baselib/jobj.h>
12
13typedef struct {
14 /* x0 */ s32 xDD4; // gets iterated from 0 to 14 in function (it_802AE200)
15 // that transforms the item model (possibly frame number
16 // of animation?)
17 /* x4 */ s32 xDD8; // {0-4} Used to index into array (it_803F6E28) that has
18 // floats to translate item model by
19 // 1->4 when blaster shooting starting (at cmd_var3 = 1)
20 // 3->0 when blaster getting put away (at cmd_var3 = 2)
21 /* x8 */ s32 xDDC; // {-1, 0, 1} Value gets added to xDD8 to iterate it
22 // during blaster collision callback
23 // -1: when cmd_var3 = 2 (when gun is getting put away,
24 // ____but not yet invisible)
25 // 0: when xDD8 <= 0 or xDD8 >= 5
26 // 1: when cmd_var3 = 1 (when gun shooting sfx starts)
27 /* xC */ s32 xDE0; // 0 when never shot yet; 1 when has been shot (in this
28 // spawn instance of the blaster - not put away)
29 /* x10 */ s32 xDE4; // group 1; gets set to 0 in func (it_802ADF10) that
30 // sets item joint locations from corresponding fighter
31 // joint locations
32 /* x14 */ s32 xDE8; // group 1
33 /* x18 */ s32 xDEC; // group 1
34 /* x1C */ s32 xDF0; // group 1
35 /* x20 */ s32 xDF4; // group 1
36 /* x24 */ s32 xDF8; // group 1
37 /* x28 */ s32 xDFC; // group 2; gets set to 0 in func (it_802ADF10) that
38 // sets item joint locations from corresponding fighter
39 // joint locations
40 /* x2C */ s32 xE00; // group 2
41 /* x30 */ s32 xE04; // group 2
42 /* x34 */ s32 xE08; // group 2
43 /* x38 */ s32 xE0C; // group 2
44 /* x3C */ s32 xE10; // group 2
45 /* x40 */ Vec3 xE14; // group 3; gets set as the vector from fighter's
46 // current position to the joint holding the blaster
47 // on the frame blaster its shot
48 /* x4C */ Vec3 xE20; // group 3
49 /* x58 */ Vec3 xE2C; // group 3
50 /* x64 */ Vec3 xE38; // group 3
51 /* x70 */ Vec3 xE44; // group 3
52 /* x7C */ Vec3 xE50; // group 3
53 /* x88 */ f32 angle; // xE5C group 4; gets set to an angle value in func
54 // (it_802ADF10) that sets item joint locations from
55 // corresponding fighter joint locations
56 /* x8C */ f32 xE60; // group 4
57 /* x90 */ f32 xE64; // group 4
58 /* x94 */ f32 xE68; // group 4
59 /* x98 */ f32 xE6C; // group 4
60 /* x9C */ f32 xE70; // group 4
61 /* x100 */ s32 gfx_spawn_var; // xE74 Signals to spawn shoot gfx from
62 // blaster when set to '1', which is done
63 // from subaction funcs on frame of shot
64 /* x104 */ s32 set_sfx_var2; // xE78 Sets blaster destroy sfx func when
65 // Flag 1 = 2
66 // ---------------
67 // Blaster/Throw Subaction cmd Flags
68 // .
69 // Flag 0 is ??? (multipurpose?)
70 // 0: ?
71 // 1: ?
72 // .
73 // Flag 1 is for if blaster is present?
74 // 0: Default (invisible)
75 // ___Initial value for blaster actions and
76 // ___set on 1st frame of throw actions
77 // 1: Present (visible)
78 // ___Set 1st frame of SpecialAirNStart
79 // ___action and upon blaster spawn in
80 // ___throw actions
81 // 2: Put away (invisible again)
82 // ___Set frame of putting away blaster in
83 // ___all blaster and throw actions
84 // .
85 // Flag 2 is for spawning laser shots
86 // 0: Default (don't spawn)
87 // 1: Spawn
88 // ___Set on shoot frame, then immediately
89 // ___reset to 0 after triggering those
90 // ___functions
91 // .
92 // Flag 3 is for blaster action
93 // 0: Default
94 // 1: Starting to shoot
95 // 2: Being put away
96 /* x108 */ HSD_GObj* owner; // xE7C
98
99typedef struct FoxBlasterAttr {
100 /* +0 */ float x0;
101 /* +4 */ float x4;
102 /* +8 */ float x8;
103 /* +C */ float xC;
104 /* +10 */ float x10;
105 /* +14 */ float x14;
106 /* +18 */ float x18; // [1]
107 /* +1C */ float x1C;
108 /* +20 */ float x20; // [2]
109 /* +24 */ float x24;
111
112typedef struct {
113 /* +0 ip+DD4 */ float scale;
114 /* +4 ip+DD8 */ float angle;
115 /* +8 ip+DDC */ float speed;
116 /* +C ip+DE0 */ Vec3 pos;
118
119typedef struct FoxLaserAttr {
120 /* +0 */ float lifetime; // [35]
121 /* +4 */ float scale; // [3]
122 /* +8 */ float x8;
123 /* +C */ float xC;
124 /* +10 */ float x10;
125 /* +14 */ float x14;
126 /* +18 */ float x18;
127 /* +1C */ float x1C;
128 /* +20 */ float x20;
129 /* +24 */ float x24; // [1]
131
132typedef struct {
133 /* +0 ip+DD4 */ HSD_Joint* xDD4;
134 /* +4 ip+DD8 */ float xDD8;
135 /* +8 ip+DDC */ HSD_JObj* xDDC;
137
138typedef struct FoxIllusionAttr {
139 float x0; // [5]
140 float x4; // [2]
142
143typedef struct {
146
147typedef struct ItemLink // user_data struct of GObj class 7
148{
149 struct ItemLink* prev;
150 struct ItemLink* next;
153 Vec3 x20_vec; // Previous position?
166
167} ItemLink;
168
196
223
234
235typedef struct itLinkBombAttributes {
236 /* x0 */ u32 lifetime;
237 /* x4 */ f32 x4;
238 /* x8 */ f32 x8;
239 /* xC */ u32 xC;
240 /* x10 */ s32 x10;
241 /* x14 */ f32 x14;
242 /* x18 */ f32 x18;
243 /* x1C */ f32 x1C;
244 /* x20 */ f32 x20;
245 /* x24 */ f32 x24;
246 /* x28 */ f32 x28;
247 /* x2C */ f32 x2C;
248 /* x30 */ f32 x30;
249 /* x28 */ f32 vel[3];
251
291
306
307typedef struct {
311
312#endif
unsigned long u32
An unsigned 32-bit integer.
Definition platform.h:26
float f32
A 32-bit floating-point number.
Definition platform.h:62
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:203
Definition itCharItems.h:99
float x4
Definition itCharItems.h:101
float x24
Definition itCharItems.h:109
float x1C
Definition itCharItems.h:107
float x10
Definition itCharItems.h:104
float x8
Definition itCharItems.h:102
float x0
Definition itCharItems.h:100
float x14
Definition itCharItems.h:105
float xC
Definition itCharItems.h:103
float x18
Definition itCharItems.h:106
float x20
Definition itCharItems.h:108
Definition itCharItems.h:138
float x4
Definition itCharItems.h:140
float x0
Definition itCharItems.h:139
Definition itCharItems.h:119
float x8
Definition itCharItems.h:122
float x14
Definition itCharItems.h:125
float x18
Definition itCharItems.h:126
float scale
Definition itCharItems.h:121
float x24
Definition itCharItems.h:129
float lifetime
Definition itCharItems.h:120
float x10
Definition itCharItems.h:124
float x1C
Definition itCharItems.h:127
float x20
Definition itCharItems.h:128
float xC
Definition itCharItems.h:123
Definition gobj.h:25
Definition jobj.h:108
Definition jobj.h:130
Definition types.h:13
Definition itCharItems.h:13
Vec3 xE50
Definition itCharItems.h:52
s32 xE10
Definition itCharItems.h:44
HSD_GObj * owner
Definition itCharItems.h:96
s32 xDDC
Definition itCharItems.h:21
s32 xE08
Definition itCharItems.h:42
f32 angle
Definition itCharItems.h:53
s32 xDD4
Definition itCharItems.h:14
s32 xE0C
Definition itCharItems.h:43
Vec3 xE2C
Definition itCharItems.h:49
s32 xDE0
Definition itCharItems.h:27
Vec3 xE20
Definition itCharItems.h:48
f32 xE68
Definition itCharItems.h:58
s32 xDD8
Definition itCharItems.h:17
s32 xDF0
Definition itCharItems.h:34
s32 xDF8
Definition itCharItems.h:36
s32 xE00
Definition itCharItems.h:40
s32 set_sfx_var2
Definition itCharItems.h:64
s32 xDEC
Definition itCharItems.h:33
s32 xE04
Definition itCharItems.h:41
f32 xE70
Definition itCharItems.h:60
s32 xDE4
Definition itCharItems.h:29
Vec3 xE14
Definition itCharItems.h:45
f32 xE60
Definition itCharItems.h:56
f32 xE64
Definition itCharItems.h:57
Vec3 xE44
Definition itCharItems.h:51
Vec3 xE38
Definition itCharItems.h:50
s32 xDF4
Definition itCharItems.h:35
s32 gfx_spawn_var
Definition itCharItems.h:61
s32 xDE8
Definition itCharItems.h:32
s32 xDFC
Definition itCharItems.h:37
f32 xE6C
Definition itCharItems.h:59
Definition itCharItems.h:132
float xDD8
Definition itCharItems.h:134
HSD_Joint * xDD4
Definition itCharItems.h:133
HSD_JObj * xDDC
Definition itCharItems.h:135
Definition itCharItems.h:112
float scale
Definition itCharItems.h:113
float speed
Definition itCharItems.h:115
Vec3 pos
Definition itCharItems.h:116
float angle
Definition itCharItems.h:114
Definition itCharItems.h:143
u32 x0
Definition itCharItems.h:144
Definition itCharItems.h:292
f32 x0
Definition itCharItems.h:293
f32 x18
Definition itCharItems.h:299
f32 x10
Definition itCharItems.h:297
f32 x4
Definition itCharItems.h:294
f32 x20
Definition itCharItems.h:301
f32 xC
Definition itCharItems.h:296
f32 x8
Definition itCharItems.h:295
f32 x1C
Definition itCharItems.h:300
HSD_Joint * x28
Definition itCharItems.h:303
f32 x14
Definition itCharItems.h:298
f32 x2C
Definition itCharItems.h:304
HSD_Joint * x24
Definition itCharItems.h:302
Definition itCharItems.h:252
s32 xB0
Definition itCharItems.h:275
f32 x94
Definition itCharItems.h:268
s32 xF0
Definition itCharItems.h:289
Vec3 x3C
Definition itCharItems.h:262
f32 xD8
Definition itCharItems.h:283
Quaternion x74
Definition itCharItems.h:266
f32 xA8
Definition itCharItems.h:273
f32 x8
Definition itCharItems.h:255
Vec3 x18
Definition itCharItems.h:259
f32 xD4
Definition itCharItems.h:282
Quaternion x64
Definition itCharItems.h:265
f32 xC0
Definition itCharItems.h:277
HSD_GObj * xE0
Definition itCharItems.h:285
Quaternion x84
Definition itCharItems.h:267
u32 xA4
Definition itCharItems.h:272
f32 xDC
Definition itCharItems.h:284
f32 xE8
Definition itCharItems.h:287
f32 xAC
Definition itCharItems.h:274
Quaternion x54
Definition itCharItems.h:264
f32 xC8
Definition itCharItems.h:279
u32 x9C
Definition itCharItems.h:270
Vec3 x24
Definition itCharItems.h:260
f32 x4
Definition itCharItems.h:254
f32 x0
Definition itCharItems.h:253
f32 xC
Definition itCharItems.h:256
Vec3 x30
Definition itCharItems.h:261
void * xD0
Definition itCharItems.h:281
HSD_GObj * xC4
Definition itCharItems.h:278
Vec3 x48
Definition itCharItems.h:263
f32 xCC
Definition itCharItems.h:280
s32 xE4
Definition itCharItems.h:286
f32 xEC
Definition itCharItems.h:288
f32 x98
Definition itCharItems.h:269
f32 x10
Definition itCharItems.h:257
f32 x14
Definition itCharItems.h:258
s32 xA0
Definition itCharItems.h:271
Definition itCharItems.h:235
f32 x28
Definition itCharItems.h:246
f32 x18
Definition itCharItems.h:242
f32 x1C
Definition itCharItems.h:243
u32 xC
Definition itCharItems.h:239
f32 vel[3]
Definition itCharItems.h:249
f32 x4
Definition itCharItems.h:237
f32 x20
Definition itCharItems.h:244
u32 lifetime
Definition itCharItems.h:236
f32 x14
Definition itCharItems.h:241
f32 x30
Definition itCharItems.h:248
s32 x10
Definition itCharItems.h:240
f32 x2C
Definition itCharItems.h:247
f32 x24
Definition itCharItems.h:245
f32 x8
Definition itCharItems.h:238
Definition itCharItems.h:224
f32 x4
Definition itCharItems.h:229
u8 x2
Definition itCharItems.h:227
u8 x1
Definition itCharItems.h:226
f32 x8
Definition itCharItems.h:230
UnkFlagStruct x0
Definition itCharItems.h:225
f32 xC
Definition itCharItems.h:231
Item_GObj * x10
Definition itCharItems.h:232
u8 x3
Definition itCharItems.h:228
Definition itCharItems.h:307
f32 x0
Definition itCharItems.h:308
HSD_GObj * x4
Definition itCharItems.h:309
Definition itCharItems.h:197
f32 x48
Definition itCharItems.h:216
f32 x50
Definition itCharItems.h:218
s32 xC
Definition itCharItems.h:201
f32 x40
Definition itCharItems.h:214
HSD_Joint * x54
Definition itCharItems.h:219
f32 x14
Definition itCharItems.h:203
f32 x38
Definition itCharItems.h:212
HSD_Joint * x58
Definition itCharItems.h:220
f32 x30
Definition itCharItems.h:210
f32 x28
Definition itCharItems.h:208
f32 x18
Definition itCharItems.h:204
f32 x3C
Definition itCharItems.h:213
s32 x2C
Definition itCharItems.h:209
f32 x10
Definition itCharItems.h:202
f32 x44
Definition itCharItems.h:215
HSD_Joint * x5C
Definition itCharItems.h:221
f32 x4C
Definition itCharItems.h:217
f32 x4
Definition itCharItems.h:199
f32 x1C
Definition itCharItems.h:205
f32 x8
Definition itCharItems.h:200
f32 x20
Definition itCharItems.h:206
f32 x24
Definition itCharItems.h:207
f32 x34
Definition itCharItems.h:211
f32 x0
Definition itCharItems.h:198
Definition itCharItems.h:169
ItemLink * x4
Definition itCharItems.h:171
f32 x40
Definition itCharItems.h:186
f32 x28
Definition itCharItems.h:180
u8 x14
Definition itCharItems.h:175
f32 x38
Definition itCharItems.h:184
f32 x18
Definition itCharItems.h:176
ItemLink * x0
Definition itCharItems.h:170
f32 x54
Definition itCharItems.h:191
f32 x20
Definition itCharItems.h:178
f32 x34
Definition itCharItems.h:183
f32 x60
Definition itCharItems.h:194
f32 x50
Definition itCharItems.h:190
f32 x58
Definition itCharItems.h:192
f32 x2C
Definition itCharItems.h:181
f32 x3C
Definition itCharItems.h:185
f32 x30
Definition itCharItems.h:182
HSD_JObj * xC
Definition itCharItems.h:173
f32 x48
Definition itCharItems.h:188
HSD_GObj * x8
Definition itCharItems.h:172
f32 x4C
Definition itCharItems.h:189
f32 x1C
Definition itCharItems.h:177
f32 x44
Definition itCharItems.h:187
f32 x5C
Definition itCharItems.h:193
f32 x24
Definition itCharItems.h:179
Definition common_structs.h:68