Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_kago.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_KAGO_H
2#define D_A_OBJ_KAGO_H
3
5#include "d/d_bg_s_acch.h"
6#include "d/d_cc_d.h"
8
10 /* 0x00 */ f32 field_0x00;
11 /* 0x04 */ f32 mGravity;
12 /* 0x08 */ f32 field_0x08;
13 /* 0x0C */ f32 field_0x0c;
14 /* 0x10 */ f32 mWeight;
15 /* 0x14 */ f32 field_0x14;
16 /* 0x18 */ f32 mWallH;
17 /* 0x1C */ f32 mWallR;
18 /* 0x20 */ f32 field_0x20;
19 /* 0x24 */ f32 field_0x24;
20 /* 0x28 */ f32 field_0x28;
21};
22
24public:
26
27 static const daObj_Kago_HIOParam m;
28};
29
30#if DEBUG
41
42#define OBJ_KAGO_HIO_CLASS daObj_Kago_HIO_c
43#else
44#define OBJ_KAGO_HIO_CLASS daObj_Kago_Param_c
45#endif
46
55class daObj_Kago_c : public fopAc_ac_c {
56public:
58 int CreateHeap();
59 int Delete();
60 int Execute();
61 int Draw();
62 static int createHeapCallBack(fopAc_ac_c*);
63 BOOL isDelete();
64 void setEnvTevColor();
65 void setRoomNo();
66 void reset();
67 void setMtx();
68 int getWallAngle(s16, s16*);
69 void setGoalPosAndAngle();
70 void setSmokePrtcl();
71 void setWaterPrtcl();
72 void setHamonPrtcl();
73
75 u8 adj_arg = argument & 0x7F;
76 u8 iVar1 = fopAcM_GetParam(this) & 0xFF;
77
78 switch (adj_arg) {
79 case 0:
80 switch (iVar1) {
81 case 0:
82 return 0;
83 }
84 break;
85
86 case 1:
87 switch (iVar1) {
88 case 0:
89 return 1;
90
91 case 1:
92 return 2;
93
94 case 2:
95 return 3;
96 }
97 }
98
99 return 4;
100 }
101
102 void setMtx(Mtx param_1) {
103 cXyz sp18;
104 field_0xba2 = 1;
105 mDoMtx_stack_c::copy(param_1);
107 current.pos = sp18;
108 old.pos = current.pos;
109 field_0x574->setBaseTRMtx(param_1);
110 }
111
112 void popup(f32 param_1, f32 param_2, cXyz* param_3) {
113 if (param_3 != NULL) {
114 current.pos = *param_3;
115 old.pos = current.pos;
116 }
117
118 int iVar1 = cM_deg2s(param_2);
119 speed.setall(0.0f);
120 speed.y = param_1 * cM_ssin(iVar1);
121 speedF = param_1 * cM_scos(iVar1);
122 field_0xb44 = 6;
123 field_0xb70 = 0x4000;
124 field_0xb9e = 1;
125 field_0xb68 = 0.0f;
126 }
127
128private:
129 /* 0x568 */ OBJ_KAGO_HIO_CLASS* mpHIO;
131 /* 0x574 */ J3DModel* field_0x574;
133 /* 0x750 */ dCcD_Stts mStts;
136 /* 0x808 */ dCcD_Cyl field_0x808[2];
139 /* 0xB0C */ f32 field_0xb0c;
140 /* 0xB10 */ u8 mType;
141 /* 0xB14 */ cXyz field_0xb14;
142 /* 0xB20 */ cXyz field_0xb20;
143 /* 0xB2C */ csXyz field_0xb2c;
144 /* 0xB32 */ u8 field_0xb32[0xb44 - 0xb32];
145 /* 0xB44 */ int field_0xb44;
146 /* 0xB48 */ int field_0xb48;
147 /* 0xB4C */ int field_0xb4c;
148 /* 0xB50 */ f32 field_0xb50;
149 /* 0xB54 */ f32 mGroundH;
150 /* 0xB58 */ f32 mWaterY;
151 /* 0xB5C */ u8 field_0xb5c[0xb64 - 0xb5c];
152 /* 0xB64 */ f32 field_0xb64;
153 /* 0xB68 */ f32 field_0xb68;
154 /* 0xB6C */ s16 field_0xb6c;
155 /* 0xB6E */ s16 field_0xb6e;
156 /* 0xB70 */ s16 field_0xb70;
157 /* 0xB72 */ u8 field_0xb72[0xb74 - 0xb72];
158 /* 0xB74 */ s16 field_0xb74;
159 /* 0xB76 */ s16 field_0xb76;
160 /* 0xB78 */ u32 field_0xb78;
161 /* 0xB7C */ u32 mWaterPrtcls[4];
162 /* 0xB8C */ u32 mHamonPrtcl;
163 /* 0xB90 */ u8 field_0xb90[0xb94 - 0xb90];
164 /* 0xB94 */ u32 field_0xb94;
165 /* 0xB98 */ u32 field_0xb98;
166 /* 0xB9C */ u8 field_0xb9c;
167 /* 0xB9D */ u8 field_0xb9d;
168 /* 0xB9E */ u8 field_0xb9e;
169 /* 0xB9F */ u8 field_0xb9f;
170 /* 0xBA0 */ u8 field_0xba0;
171 /* 0xBA1 */ u8 field_0xba1;
172 /* 0xBA2 */ u8 field_0xba2;
173 /* 0xBA3 */ u8 field_0xba3;
174 // vtable
175 virtual ~daObj_Kago_c();
176};
177
178STATIC_ASSERT(sizeof(daObj_Kago_c) == 0xba8);
179
180#endif /* D_A_OBJ_KAGO_H */
s16 cM_deg2s(f32 deg)
Definition c_math.h:34
f32 cM_ssin(s16 x)
Definition c_math.h:30
f32 cM_scos(s16 x)
Definition c_math.h:26
int cPhs_Step
Definition c_phase.h:8
Definition J3DModel.h:43
void setBaseTRMtx(Mtx m)
Definition J3DModel.h:90
Definition JORMContext.h:128
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:249
Definition d_cc_d.h:472
Definition d_cc_d.h:273
Definition d_a_obj_kago.h:31
daObj_Kago_HIOParam m
Definition d_a_obj_kago.h:39
daObj_Kago_HIO_c()
Definition d_a_obj_kago.cpp:67
void genMessage(JORMContext *)
Definition d_a_obj_kago.cpp:75
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_obj_kago.cpp:71
Definition d_a_obj_kago.h:23
static const daObj_Kago_HIOParam m
Definition d_a_obj_kago.h:17
virtual ~daObj_Kago_Param_c()
Definition d_a_obj_kago.h:25
Basket.
Definition d_a_obj_kago.h:55
int getWallAngle(s16, s16 *)
Definition d_a_obj_kago.cpp:582
OBJ_KAGO_HIO_CLASS * mpHIO
Definition d_a_obj_kago.h:129
int Execute()
Definition d_a_obj_kago.cpp:182
u8 field_0xba0
Definition d_a_obj_kago.h:170
void setHamonPrtcl()
Definition d_a_obj_kago.cpp:645
int Draw()
Definition d_a_obj_kago.cpp:502
f32 field_0xb64
Definition d_a_obj_kago.h:152
void setWaterPrtcl()
Definition d_a_obj_kago.cpp:629
void setGoalPosAndAngle()
Definition d_a_obj_kago.cpp:609
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_obj_kago.cpp:526
f32 field_0xb50
Definition d_a_obj_kago.h:148
J3DModel * field_0x574
Definition d_a_obj_kago.h:131
u32 mWaterPrtcls[4]
Definition d_a_obj_kago.h:161
int field_0xb44
Definition d_a_obj_kago.h:145
dBgS_LinChk field_0xa9c
Definition d_a_obj_kago.h:138
cXyz field_0xb20
Definition d_a_obj_kago.h:142
cPhs_Step create()
Definition d_a_obj_kago.cpp:95
int field_0xb4c
Definition d_a_obj_kago.h:147
f32 mWaterY
Definition d_a_obj_kago.h:150
u32 field_0xb98
Definition d_a_obj_kago.h:165
void setMtx()
Definition d_a_obj_kago.cpp:573
u32 field_0xb94
Definition d_a_obj_kago.h:164
void popup(f32 param_1, f32 param_2, cXyz *param_3)
Definition d_a_obj_kago.h:112
csXyz field_0xb2c
Definition d_a_obj_kago.h:143
u8 field_0xb9e
Definition d_a_obj_kago.h:168
u32 field_0xb78
Definition d_a_obj_kago.h:160
s16 field_0xb6c
Definition d_a_obj_kago.h:154
void setEnvTevColor()
Definition d_a_obj_kago.cpp:557
virtual ~daObj_Kago_c()
Definition d_a_obj_kago.cpp:80
request_of_phase_process_class mPhase
Definition d_a_obj_kago.h:130
void setMtx(Mtx param_1)
Definition d_a_obj_kago.h:102
u8 field_0xb90[0xb94 - 0xb90]
Definition d_a_obj_kago.h:163
u8 field_0xb9f
Definition d_a_obj_kago.h:169
u8 field_0xba3
Definition d_a_obj_kago.h:173
u8 field_0xb9c
Definition d_a_obj_kago.h:166
dCcD_Cyl field_0x808[2]
Definition d_a_obj_kago.h:136
s16 field_0xb70
Definition d_a_obj_kago.h:156
f32 mGroundH
Definition d_a_obj_kago.h:149
s16 field_0xb6e
Definition d_a_obj_kago.h:155
u8 field_0xb32[0xb44 - 0xb32]
Definition d_a_obj_kago.h:144
int CreateHeap()
Definition d_a_obj_kago.cpp:156
f32 field_0xb68
Definition d_a_obj_kago.h:153
dBgS_AcchCir mAcchCir
Definition d_a_obj_kago.h:134
cXyz field_0xb14
Definition d_a_obj_kago.h:141
void setSmokePrtcl()
Definition d_a_obj_kago.cpp:621
void reset()
Definition d_a_obj_kago.cpp:568
s16 field_0xb76
Definition d_a_obj_kago.h:159
u8 mType
Definition d_a_obj_kago.h:140
void setRoomNo()
Definition d_a_obj_kago.cpp:562
cM3dGLin field_0xa80
Definition d_a_obj_kago.h:137
s16 field_0xb74
Definition d_a_obj_kago.h:158
int Delete()
Definition d_a_obj_kago.cpp:176
dBgS_ObjAcch mObjAcch
Definition d_a_obj_kago.h:132
cBgS_GndChk field_0x7cc
Definition d_a_obj_kago.h:135
u32 mHamonPrtcl
Definition d_a_obj_kago.h:162
u8 field_0xba2
Definition d_a_obj_kago.h:172
dCcD_Stts mStts
Definition d_a_obj_kago.h:133
u8 field_0xb9d
Definition d_a_obj_kago.h:167
u8 field_0xb5c[0xb64 - 0xb5c]
Definition d_a_obj_kago.h:151
u8 field_0xba1
Definition d_a_obj_kago.h:171
u8 field_0xb72[0xb74 - 0xb72]
Definition d_a_obj_kago.h:157
f32 field_0xb0c
Definition d_a_obj_kago.h:139
u8 getType()
Definition d_a_obj_kago.h:74
BOOL isDelete()
Definition d_a_obj_kago.cpp:531
int field_0xb48
Definition d_a_obj_kago.h:146
Definition f_op_actor.h:243
s8 argument
Definition f_op_actor.h:257
actor_place old
Definition f_op_actor.h:263
cXyz speed
Definition f_op_actor.h:267
actor_place current
Definition f_op_actor.h:264
f32 speedF
Definition f_op_actor.h:276
Definition m_Do_hostIO.h:26
static void copy(const Mtx m)
Definition m_Do_mtx.h:357
static void multVecZero(Vec *v)
Definition m_Do_mtx.h:273
STATIC_ASSERT(sizeof(daObj_Kago_c)==0xba8)
f32 Mtx[3][4]
Definition mtx.h:25
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:204
int BOOL
Definition types.h:33
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
Definition JORReflexible.h:10
f32 y
Definition mtx.h:14
cXyz pos
Definition f_op_actor.h:218
Definition c_xyz.h:7
void setall(f32 f)
Definition c_xyz.h:114
Definition d_a_obj_kago.h:9
f32 field_0x0c
Definition d_a_obj_kago.h:13
f32 field_0x24
Definition d_a_obj_kago.h:19
f32 field_0x28
Definition d_a_obj_kago.h:20
f32 mWallR
Definition d_a_obj_kago.h:17
f32 mWeight
Definition d_a_obj_kago.h:14
f32 mWallH
Definition d_a_obj_kago.h:16
f32 field_0x00
Definition d_a_obj_kago.h:10
f32 field_0x20
Definition d_a_obj_kago.h:18
f32 mGravity
Definition d_a_obj_kago.h:11
f32 field_0x08
Definition d_a_obj_kago.h:12
f32 field_0x14
Definition d_a_obj_kago.h:15
Definition c_phase.h:19