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