Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_pumpkin.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_PUMPKIN_H
2#define D_A_OBJ_PUMPKIN_H
3
5#include "d/d_bg_s_acch.h"
6#include "d/d_cc_d.h"
8
10 /* 0x00 */ f32 featured_offset;
11 /* 0x04 */ f32 gravity;
12 /* 0x08 */ f32 scale;
14 /* 0x10 */ f32 weight;
15 /* 0x14 */ f32 height;
16 /* 0x18 */ f32 knee_length;
17 /* 0x1C */ f32 width;
18 /* 0x20 */ f32 fire_rate;
19 /* 0x24 */ f32 launch_angle;
20 /* 0x28 */ f32 floating_offset;
21 /* 0x2C */ s16 hold_on;
23 /* 0x30 */ s16 growth_time_1;
24 /* 0x32 */ s16 growth_time_2;
25};
26
28public:
30
31 static const daObj_Pumpkin_HIOParam m;
32};
33
34#if DEBUG
44
45#define OBJ_PUMPKIN_HIO_CLASS daObj_Pumpkin_HIO_c
46#else
47#define OBJ_PUMPKIN_HIO_CLASS daObj_Pumpkin_Param_c
48#endif
49
59private:
60 /* 0x568 */ OBJ_PUMPKIN_HIO_CLASS* mpHIO;
62 /* 0x574 */ J3DModel* mpModel;
64 /* 0x750 */ dCcD_Stts mStts;
66 /* 0x7CC */ cBgS_GndChk mGndChk;
67 /* 0x808 */ dCcD_Cyl mCyl0;
68 /* 0x944 */ dCcD_Cyl mCyl1;
70 /* 0xA8C */ cM3dGLin mLin;
71 /* 0xAA8 */ dBgS_LinChk mLinChk;
72 /* 0xB18 */ f32 mPumpkinScale;
73 /* 0xB1C */ u8 mType;
74 /* 0xB20 */ cXyz field_0xB20;
75 /* 0xB2C */ cXyz field_0xB2C;
76 /* 0xB38 */ csXyz field_0xB38;
78 /* 0xB44 */ int field_0xB44;
79 /* 0xB48 */ int field_0xB48;
80 /* 0xB4C */ int field_0xB4C;
81 /* 0xB50 */ int field_0xB50;
82 /* 0xB54 */ int field_0xB54;
83 /* 0xB58 */ int field_0xB58;
84 /* 0xB5C */ f32 field_0xB5C;
85 /* 0xB60 */ f32 field_0xB60;
86 /* 0xB64 */ f32 mWaterY;
87 /* 0xB68 */ f32 field_0xB68;
88 /* 0xB6C */ u8 field_0xB6C[0xB70 - 0xB6C];
89 /* 0xB70 */ f32 field_0xB70;
90 /* 0xB74 */ f32 field_0xB74;
91 /* 0xB78 */ s16 field_0xB78;
92 /* 0xB7A */ s16 field_0xB7A;
93 /* 0xB7C */ s16 field_0xB7C;
94 /* 0xB7E */ s16 field_0xB7E;
95 /* 0xB80 */ s16 field_0xB80;
96 /* 0xB82 */ u8 field_0xB82[0xB88 - 0xB82];
97 /* 0xB88 */ u32 mWaterPrtcls[4];
98 /* 0xB98 */ u32 mHamonPrtcl;
99 /* 0xB9C */ u8 field_0xB9C[0xBA0 - 0xB9C];
100 /* 0xBA0 */ u32 mSmokePrtcl1;
101 /* 0xBA4 */ u32 mSmokePrtcl2;
102 /* 0xBA8 */ u8 field_0xBA8;
103 /* 0xBA9 */ u8 field_0xBA9;
104 /* 0xBAA */ u8 field_0xBAA;
105 /* 0xBAB */ u8 field_0xBAB;
106 /* 0xBAC */ u8 field_0xBAC;
107 /* 0xBAD */ u8 field_0xBAD;
108 /* 0xBAE */ u8 field_0xBAE;
109 /* 0xBAF */ u8 field_0xBAF;
110 /* 0xBB0 */ u8 field_0xBB0;
111 /* 0xBB1 */ u8 field_0xBB1;
112 /* 0xBB2 */ u8 field_0xBB2;
113 /* 0xBB3 */ u8 field_0xbb3;
114 /* 0xBB4 */ u8 field_0xbb4;
115
116public:
117 virtual ~daObj_Pumpkin_c();
118 int create();
119 int CreateHeap();
120 int Delete();
121 int Execute();
122 int Draw();
123 static int createHeapCallBack(fopAc_ac_c*);
124 int isDelete();
125 void setEnvTevColor();
126 void setRoomNo();
127 void reset();
128 void setMtx();
129 s16 calcRollAngle(s16, int);
130 int getWallAngle(s16, s16*);
131 void setSmokePrtcl();
132 void setWaterPrtcl();
133 void setHamonPrtcl();
134 void crash();
135
137 cXyz newPos;
138 field_0xbb3 = 1;
141 current.pos = newPos;
142 old.pos = current.pos;
144 }
145
147 u8 prm = fopAcM_GetParam(this) & 0xFF;
148 if (prm == 0xFF) {
149 return -1;
150 }
151
152 return prm;
153 }
154
156 u8 prm = (fopAcM_GetParam(this) & 0xFF00) >> 8;
157 switch (prm) {
158 case 0:
159 return 0;
160 case 1:
161 return 1;
162 case 2:
163 return 2;
164 case 3:
165 return 3;
166 default:
167 return 0;
168 }
169 }
170
172 u8 prm = (fopAcM_GetParam(this) & 0xF0000000) >> 0x1C;
173 if (prm == 0xF) {
174 return 0;
175 }
176
177 return prm;
178 }
179
180 void popup(f32 i_f0, f32 i_deg, cXyz* ip_vec) {
181 if (ip_vec != NULL) {
182 current.pos = *ip_vec;
183 old.pos = current.pos;
184 }
185
186 s16 temp_r30 = cM_deg2s(i_deg);
187 speed.setall(0.0f);
188 speed.y = i_f0 * cM_ssin(temp_r30);
189 speedF = i_f0 * cM_scos(temp_r30);
190 field_0xB50 = 6;
191 field_0xB7C = 0x4000;
192 field_0xBAD = 1;
193 field_0xB74 = 0.0f;
194 }
195};
196
198
199
200#endif /* D_A_OBJ_PUMPKIN_H */
static Mtx mtx[10]
Definition c_lib.cpp:486
s16 cM_deg2s(f32 deg)
Definition c_math.h:27
f32 cM_ssin(s16 x)
Definition c_math.h:23
f32 cM_scos(s16 x)
Definition c_math.h:19
Definition J3DModel.h:43
void setBaseTRMtx(Mtx m)
Definition J3DModel.h:90
Definition JORMContext.h:120
Definition c_bg_s_gnd_chk.h:8
Definition c_m3d_g_lin.h:8
Definition c_sxyz.h:10
Definition d_bg_s_acch.h:15
Definition d_bg_s_lin_chk.h:9
Definition d_bg_s_acch.h:247
Definition d_cc_d.h:461
Definition d_cc_d.h:269
Definition d_a_obj_pumpkin.h:35
daObj_Pumpkin_HIOParam m
Definition d_a_obj_pumpkin.h:42
void genMessage(JORMContext *)
Definition d_a_obj_pumpkin.cpp:108
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_obj_pumpkin.cpp:42
daObj_Pumpkin_HIO_c()
Definition d_a_obj_pumpkin.cpp:38
Definition d_a_obj_pumpkin.h:27
virtual ~daObj_Pumpkin_Param_c()
Definition d_a_obj_pumpkin.h:29
static const daObj_Pumpkin_HIOParam m
Definition d_a_obj_pumpkin.h:19
Ordon Village Pumpkin.
Definition d_a_obj_pumpkin.h:58
cXyz field_0xB2C
Definition d_a_obj_pumpkin.h:75
int isDelete()
Definition d_a_obj_pumpkin.cpp:703
f32 field_0xB68
Definition d_a_obj_pumpkin.h:87
OBJ_PUMPKIN_HIO_CLASS * mpHIO
Definition d_a_obj_pumpkin.h:60
dCcD_Stts mStts
Definition d_a_obj_pumpkin.h:64
u8 field_0xBB2
Definition d_a_obj_pumpkin.h:112
u8 field_0xBAD
Definition d_a_obj_pumpkin.h:107
int Delete()
Definition d_a_obj_pumpkin.cpp:237
u8 field_0xBB0
Definition d_a_obj_pumpkin.h:110
u32 mWaterPrtcls[4]
Definition d_a_obj_pumpkin.h:97
u8 field_0xbb4
Definition d_a_obj_pumpkin.h:114
s16 field_0xB7E
Definition d_a_obj_pumpkin.h:94
void setSmokePrtcl()
Definition d_a_obj_pumpkin.cpp:812
cM3dGLin mLin
Definition d_a_obj_pumpkin.h:70
u8 field_0xBAA
Definition d_a_obj_pumpkin.h:104
s16 field_0xB7A
Definition d_a_obj_pumpkin.h:92
s16 calcRollAngle(s16, int)
Definition d_a_obj_pumpkin.cpp:755
virtual ~daObj_Pumpkin_c()
Definition d_a_obj_pumpkin.cpp:165
int Draw()
Definition d_a_obj_pumpkin.cpp:670
dBgS_AcchCir mAcchCir
Definition d_a_obj_pumpkin.h:65
int getWallAngle(s16, s16 *)
Definition d_a_obj_pumpkin.cpp:783
u8 getType()
Definition d_a_obj_pumpkin.h:155
J3DModel * mpModel
Definition d_a_obj_pumpkin.h:62
dCcD_Cyl mCyl1
Definition d_a_obj_pumpkin.h:68
f32 field_0xB70
Definition d_a_obj_pumpkin.h:89
u32 mSmokePrtcl2
Definition d_a_obj_pumpkin.h:101
u8 field_0xB6C[0xB70 - 0xB6C]
Definition d_a_obj_pumpkin.h:88
u8 field_0xB82[0xB88 - 0xB82]
Definition d_a_obj_pumpkin.h:96
dCcD_Cyl mCyl0
Definition d_a_obj_pumpkin.h:67
void setMtx(MtxP mtx)
Definition d_a_obj_pumpkin.h:136
void setRoomNo()
Definition d_a_obj_pumpkin.cpp:723
int Execute()
Definition d_a_obj_pumpkin.cpp:243
u8 field_0xB9C[0xBA0 - 0xB9C]
Definition d_a_obj_pumpkin.h:99
u8 mType
Definition d_a_obj_pumpkin.h:73
u8 field_0xBAB
Definition d_a_obj_pumpkin.h:105
void setWaterPrtcl()
Definition d_a_obj_pumpkin.cpp:818
void setMtx()
Definition d_a_obj_pumpkin.cpp:743
u8 field_0xBA8
Definition d_a_obj_pumpkin.h:102
u32 mHamonPrtcl
Definition d_a_obj_pumpkin.h:98
int create()
Definition d_a_obj_pumpkin.cpp:177
void setHamonPrtcl()
Definition d_a_obj_pumpkin.cpp:832
cBgS_GndChk mGndChk
Definition d_a_obj_pumpkin.h:66
u8 field_0xbb3
Definition d_a_obj_pumpkin.h:113
daPy_boomerangMove_c mBoomerangMove
Definition d_a_obj_pumpkin.h:69
int field_0xB4C
Definition d_a_obj_pumpkin.h:80
f32 mWaterY
Definition d_a_obj_pumpkin.h:86
void setEnvTevColor()
Definition d_a_obj_pumpkin.cpp:718
fpc_ProcID mItemProcId
Definition d_a_obj_pumpkin.h:77
void reset()
Definition d_a_obj_pumpkin.cpp:729
cXyz field_0xB20
Definition d_a_obj_pumpkin.h:74
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_obj_pumpkin.cpp:698
u8 field_0xBAE
Definition d_a_obj_pumpkin.h:108
csXyz field_0xB38
Definition d_a_obj_pumpkin.h:76
f32 field_0xB74
Definition d_a_obj_pumpkin.h:90
u32 mSmokePrtcl1
Definition d_a_obj_pumpkin.h:100
f32 field_0xB5C
Definition d_a_obj_pumpkin.h:84
u8 field_0xBAF
Definition d_a_obj_pumpkin.h:109
s16 field_0xB7C
Definition d_a_obj_pumpkin.h:93
u8 field_0xBA9
Definition d_a_obj_pumpkin.h:103
u8 field_0xBB1
Definition d_a_obj_pumpkin.h:111
f32 field_0xB60
Definition d_a_obj_pumpkin.h:85
f32 mPumpkinScale
Definition d_a_obj_pumpkin.h:72
int field_0xB54
Definition d_a_obj_pumpkin.h:82
dBgS_LinChk mLinChk
Definition d_a_obj_pumpkin.h:71
u8 getProcType()
Definition d_a_obj_pumpkin.h:171
request_of_phase_process_class mPhaseReq
Definition d_a_obj_pumpkin.h:61
int getItemTableNo()
Definition d_a_obj_pumpkin.h:146
dBgS_ObjAcch mObjAcch
Definition d_a_obj_pumpkin.h:63
int field_0xB44
Definition d_a_obj_pumpkin.h:78
int field_0xB50
Definition d_a_obj_pumpkin.h:81
void crash()
Definition d_a_obj_pumpkin.cpp:837
s16 field_0xB80
Definition d_a_obj_pumpkin.h:95
int CreateHeap()
Definition d_a_obj_pumpkin.cpp:222
void popup(f32 i_f0, f32 i_deg, cXyz *ip_vec)
Definition d_a_obj_pumpkin.h:180
s16 field_0xB78
Definition d_a_obj_pumpkin.h:91
int field_0xB48
Definition d_a_obj_pumpkin.h:79
int field_0xB58
Definition d_a_obj_pumpkin.h:83
u8 field_0xBAC
Definition d_a_obj_pumpkin.h:106
Definition d_a_player.h:33
Definition f_op_actor.h:230
actor_place old
Definition f_op_actor.h:250
cXyz speed
Definition f_op_actor.h:254
actor_place current
Definition f_op_actor.h:251
f32 speedF
Definition f_op_actor.h:263
Definition m_Do_hostIO.h:27
static void copy(const Mtx m)
Definition m_Do_mtx.h:346
static void multVecZero(Vec *v)
Definition m_Do_mtx.h:262
STATIC_ASSERT(sizeof(daObj_Pumpkin_c)==0xbbc)
f32(* MtxP)[4]
Definition mtx.h:38
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned char u8
Definition types.h:8
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:192
unsigned int fpc_ProcID
Definition f_pc_base.h:10
Definition JORReflexible.h:10
f32 y
Definition mtx.h:14
cXyz pos
Definition f_op_actor.h:205
Definition c_xyz.h:7
void setall(f32 f)
Definition c_xyz.h:113
Definition d_a_obj_pumpkin.h:9
s16 growth_time_1
Definition d_a_obj_pumpkin.h:23
f32 featured_offset
Definition d_a_obj_pumpkin.h:10
s16 hold_on
Definition d_a_obj_pumpkin.h:21
s16 pull_sound_delay
Definition d_a_obj_pumpkin.h:22
s16 growth_time_2
Definition d_a_obj_pumpkin.h:24
f32 fire_rate
Definition d_a_obj_pumpkin.h:18
f32 weight
Definition d_a_obj_pumpkin.h:14
f32 floating_offset
Definition d_a_obj_pumpkin.h:20
f32 scale
Definition d_a_obj_pumpkin.h:12
f32 width
Definition d_a_obj_pumpkin.h:17
f32 launch_angle
Definition d_a_obj_pumpkin.h:19
f32 real_shadow_size
Definition d_a_obj_pumpkin.h:13
f32 height
Definition d_a_obj_pumpkin.h:15
f32 gravity
Definition d_a_obj_pumpkin.h:11
f32 knee_length
Definition d_a_obj_pumpkin.h:16
Definition c_phase.h:17