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
17class daObj_Kago_c : public fopAc_ac_c {
18public:
20 int CreateHeap();
21 int Delete();
22 int Execute();
23 int Draw();
24 static int createHeapCallBack(fopAc_ac_c*);
25 BOOL isDelete();
26 void setEnvTevColor();
27 void setRoomNo();
28 void reset();
29 void setMtx();
30 int getWallAngle(s16, s16*);
31 void setGoalPosAndAngle();
32 void setSmokePrtcl();
33 void setWaterPrtcl();
34 void setHamonPrtcl();
35
37 int iVar1 = fopAcM_GetParam(this) & 0xFF;
38 u8 rv;
39
40 switch ((argument & 127)) {
41 case 0:
42 switch (iVar1) {
43 case 0:
44 return 0;
45 }
46 break;
47
48 case 1:
49 switch (iVar1) {
50 case 0:
51 return 1;
52
53 case 1:
54 return 2;
55
56 case 2:
57 return 3;
58 }
59 }
60
61 return 4;
62 }
63
64 void setMtx(Mtx param_1) {
65 cXyz sp18;
66 field_0xba2 = 1;
67 mDoMtx_stack_c::copy(param_1);
69 current.pos = sp18;
71 field_0x574->setBaseTRMtx(param_1);
72 }
73
74 void popup(f32 param_1, f32 param_2, cXyz* param_3) {
75 if (param_3 != NULL) {
76 current.pos = *param_3;
78 }
79
80 int iVar1 = cM_deg2s(param_2);
81 speed.setall(0.0f);
82 speed.y = param_1 * cM_ssin(iVar1);
83 speedF = param_1 * cM_scos(iVar1);
84 field_0xb44 = 6;
85 field_0xb70 = 0x4000;
86 field_0xb9e = 1;
87 field_0xb68 = 0.0f;
88 }
89
90private:
91 /* 0x568 */ u8 field_0x568[0x56c - 0x568];
93 /* 0x574 */ J3DModel* field_0x574;
95 /* 0x750 */ dCcD_Stts mStts;
98 /* 0x808 */ dCcD_Cyl field_0x808[2];
99 /* 0xA80 */ cM3dGLin field_0xa80;
101 /* 0xB0C */ f32 field_0xb0c;
102 /* 0xB10 */ u8 mType;
103 /* 0xB14 */ cXyz field_0xb14;
104 /* 0xB20 */ cXyz field_0xb20;
105 /* 0xB2C */ csXyz field_0xb2c;
106 /* 0xB32 */ u8 field_0xb32[0xb44 - 0xb32];
107 /* 0xB44 */ int field_0xb44;
108 /* 0xB48 */ int field_0xb48;
109 /* 0xB4C */ int field_0xb4c;
110 /* 0xB50 */ f32 field_0xb50;
111 /* 0xB54 */ f32 mGroundH;
112 /* 0xB58 */ f32 mWaterY;
113 /* 0xB5C */ u8 field_0xb5c[0xb64 - 0xb5c];
114 /* 0xB64 */ f32 field_0xb64;
115 /* 0xB68 */ f32 field_0xb68;
116 /* 0xB6C */ s16 field_0xb6c;
117 /* 0xB6E */ s16 field_0xb6e;
118 /* 0xB70 */ s16 field_0xb70;
119 /* 0xB72 */ u8 field_0xb72[0xb74 - 0xb72];
120 /* 0xB74 */ s16 field_0xb74;
121 /* 0xB76 */ s16 field_0xb76;
122 /* 0xB78 */ u32 field_0xb78;
123 /* 0xB7C */ u32 mWaterPrtcls[4];
124 /* 0xB8C */ u32 mHamonPrtcl;
125 /* 0xB90 */ u8 field_0xb90[0xb94 - 0xb90];
126 /* 0xB94 */ u32 field_0xb94;
127 /* 0xB98 */ u32 field_0xb98;
128 /* 0xB9C */ u8 field_0xb9c;
129 /* 0xB9D */ u8 field_0xb9d;
130 /* 0xB9E */ u8 field_0xb9e;
131 /* 0xB9F */ u8 field_0xb9f;
132 /* 0xBA0 */ u8 field_0xba0;
133 /* 0xBA1 */ u8 field_0xba1;
134 /* 0xBA2 */ u8 field_0xba2;
135 /* 0xBA3 */ u8 field_0xba3;
136 // vtable
137 virtual ~daObj_Kago_c();
138};
139
140STATIC_ASSERT(sizeof(daObj_Kago_c) == 0xba8);
141
143public:
145
146 struct Data {
147 /* 0x00 */ f32 field_0x00;
148 /* 0x04 */ f32 mGravity;
149 /* 0x08 */ f32 field_0x08;
150 /* 0x0C */ f32 field_0x0c;
151 /* 0x10 */ f32 mWeight;
152 /* 0x14 */ f32 field_0x14;
153 /* 0x18 */ f32 mWallH;
154 /* 0x1C */ f32 mWallR;
155 /* 0x20 */ f32 field_0x20;
156 /* 0x24 */ f32 field_0x24;
157 /* 0x28 */ f32 field_0x28;
158 };
159 static const Data m;
160};
161
162
163#endif /* D_A_OBJ_KAGO_H */
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
cPhs__Step
Definition c_phase.h:8
Definition J3DModel.h:43
void setBaseTRMtx(Mtx m)
Definition J3DModel.h:90
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_kago.h:142
virtual ~daObj_Kago_Param_c()
Definition d_a_obj_kago.h:144
static const Data m
Definition d_a_obj_kago.h:17
Basket.
Definition d_a_obj_kago.h:17
int getWallAngle(s16, s16 *)
Definition d_a_obj_kago.cpp:553
int Execute()
Definition d_a_obj_kago.cpp:153
cPhs__Step create()
Definition d_a_obj_kago.cpp:72
u8 field_0xba0
Definition d_a_obj_kago.h:132
void setHamonPrtcl()
Definition d_a_obj_kago.cpp:618
int Draw()
Definition d_a_obj_kago.cpp:473
f32 field_0xb64
Definition d_a_obj_kago.h:114
void setWaterPrtcl()
Definition d_a_obj_kago.cpp:602
void setGoalPosAndAngle()
Definition d_a_obj_kago.cpp:582
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_obj_kago.cpp:497
f32 field_0xb50
Definition d_a_obj_kago.h:110
J3DModel * field_0x574
Definition d_a_obj_kago.h:93
u32 mWaterPrtcls[4]
Definition d_a_obj_kago.h:123
int field_0xb44
Definition d_a_obj_kago.h:107
u8 field_0x568[0x56c - 0x568]
Definition d_a_obj_kago.h:91
dBgS_LinChk field_0xa9c
Definition d_a_obj_kago.h:100
cXyz field_0xb20
Definition d_a_obj_kago.h:104
int field_0xb4c
Definition d_a_obj_kago.h:109
f32 mWaterY
Definition d_a_obj_kago.h:112
u32 field_0xb98
Definition d_a_obj_kago.h:127
void setMtx()
Definition d_a_obj_kago.cpp:544
u32 field_0xb94
Definition d_a_obj_kago.h:126
void popup(f32 param_1, f32 param_2, cXyz *param_3)
Definition d_a_obj_kago.h:74
csXyz field_0xb2c
Definition d_a_obj_kago.h:105
u8 field_0xb9e
Definition d_a_obj_kago.h:130
u32 field_0xb78
Definition d_a_obj_kago.h:122
s16 field_0xb6c
Definition d_a_obj_kago.h:116
void setEnvTevColor()
Definition d_a_obj_kago.cpp:528
virtual ~daObj_Kago_c()
Definition d_a_obj_kago.cpp:63
request_of_phase_process_class mPhase
Definition d_a_obj_kago.h:92
void setMtx(Mtx param_1)
Definition d_a_obj_kago.h:64
u8 field_0xb90[0xb94 - 0xb90]
Definition d_a_obj_kago.h:125
u8 field_0xb9f
Definition d_a_obj_kago.h:131
u8 field_0xba3
Definition d_a_obj_kago.h:135
u8 field_0xb9c
Definition d_a_obj_kago.h:128
dCcD_Cyl field_0x808[2]
Definition d_a_obj_kago.h:98
s16 field_0xb70
Definition d_a_obj_kago.h:118
f32 mGroundH
Definition d_a_obj_kago.h:111
s16 field_0xb6e
Definition d_a_obj_kago.h:117
u8 field_0xb32[0xb44 - 0xb32]
Definition d_a_obj_kago.h:106
int CreateHeap()
Definition d_a_obj_kago.cpp:127
f32 field_0xb68
Definition d_a_obj_kago.h:115
dBgS_AcchCir mAcchCir
Definition d_a_obj_kago.h:96
cXyz field_0xb14
Definition d_a_obj_kago.h:103
void setSmokePrtcl()
Definition d_a_obj_kago.cpp:594
void reset()
Definition d_a_obj_kago.cpp:539
s16 field_0xb76
Definition d_a_obj_kago.h:121
u8 mType
Definition d_a_obj_kago.h:102
void setRoomNo()
Definition d_a_obj_kago.cpp:533
cM3dGLin field_0xa80
Definition d_a_obj_kago.h:99
s16 field_0xb74
Definition d_a_obj_kago.h:120
int Delete()
Definition d_a_obj_kago.cpp:147
dBgS_ObjAcch mObjAcch
Definition d_a_obj_kago.h:94
cBgS_GndChk field_0x7cc
Definition d_a_obj_kago.h:97
u32 mHamonPrtcl
Definition d_a_obj_kago.h:124
u8 field_0xba2
Definition d_a_obj_kago.h:134
dCcD_Stts mStts
Definition d_a_obj_kago.h:95
u8 field_0xb9d
Definition d_a_obj_kago.h:129
u8 field_0xb5c[0xb64 - 0xb5c]
Definition d_a_obj_kago.h:113
u8 field_0xba1
Definition d_a_obj_kago.h:133
u8 field_0xb72[0xb74 - 0xb72]
Definition d_a_obj_kago.h:119
f32 field_0xb0c
Definition d_a_obj_kago.h:101
u8 getType()
Definition d_a_obj_kago.h:36
BOOL isDelete()
Definition d_a_obj_kago.cpp:502
int field_0xb48
Definition d_a_obj_kago.h:108
Definition f_op_actor.h:230
s8 argument
Definition f_op_actor.h:244
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
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_Kago_c)==0xba8)
f32 Mtx[3][4]
Definition mtx.h:25
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
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:192
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_kago.h:146
f32 field_0x28
Definition d_a_obj_kago.h:157
f32 field_0x24
Definition d_a_obj_kago.h:156
f32 mWallH
Definition d_a_obj_kago.h:153
f32 field_0x0c
Definition d_a_obj_kago.h:150
f32 field_0x00
Definition d_a_obj_kago.h:147
f32 mGravity
Definition d_a_obj_kago.h:148
f32 field_0x20
Definition d_a_obj_kago.h:155
f32 field_0x08
Definition d_a_obj_kago.h:149
f32 field_0x14
Definition d_a_obj_kago.h:152
f32 mWallR
Definition d_a_obj_kago.h:154
f32 mWeight
Definition d_a_obj_kago.h:151
Definition c_phase.h:17