Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_yobikusa.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_YOBIKUSA_H
2#define D_A_OBJ_YOBIKUSA_H
3
4#include "d/d_cc_d.h"
6
16public:
17 enum Mode_e {
21 };
22
26 };
27
28 typedef void (daObjYobikusa_c::*actionFunc)();
33
34 typedef struct attributes {
35 /* 0x00 */ f32 field_0x00;
36 /* 0x04 */ f32 field_0x04;
37 /* 0x08 */ f32 field_0x08;
38 /* 0x0C */ f32 field_0x0c;
39 /* 0x10 */ f32 field_0x10;
40 /* 0x14 */ f32 field_0x14;
41 /* 0x18 */ f32 field_0x18;
42 /* 0x1C */ f32 field_0x1c;
43 /* 0x20 */ f32 field_0x20;
44 /* 0x24 */ f32 mJointScaleStep;
46 /* 0x2C */ f32 field_0x2c; // Unused?
49 /* 0x38 */ s16 field_0x38; // Unused?
50 /* 0x3A */ s16 field_0x3a;
54
56 void callInit();
57 void callExecute();
58 void initSwingWind();
59 void executeSwingWind();
60 void initPushDown();
61 void executePushDown();
62 void initPickLeaf();
63 void executePickLeaf();
64 void create_init();
65 void initBaseMtx();
66 void getJointAngle(csXyz*, int);
67 f32 getJointScale(int);
68 void initCcCylinder();
69 void setCcCylinder();
70 bool toPickLeaf();
71 bool setNewLeaf();
72 int execute();
73
74 inline int createHeap();
75 inline int draw();
76 inline cPhs__Step create();
77 inline ~daObjYobikusa_c();
78
79 static attributes const M_attr;
81
82 const attributes* attr() const { return &M_attr; }
83 int getType() { return argument & 0x7F; }
84 u8 getPathID() { return fopAcM_GetParam(this); }
85 bool isPlayerCorrect() { return (s8)(u8)(fopAcM_GetParam(this) >> 8) > 0; }
86
87private:
88 /* 0x568 */ J3DModel* mpActiveModel;
89 /* 0x56C */ J3DModel* mpModelTypeA;
90 /* 0x570 */ J3DModel* mpModelTypeB;
91 /* 0x574 */ Mtx mMtx;
94 /* 0x5B0 */ int mMode;
95 /* 0x5B4 */ dCcD_Stts mStts;
96 /* 0x5F0 */ dCcD_Cyl mCcCyl;
98 /* 0x73C */ f32 mGroundH;
99 /* 0x740 */ f32 mJointScale;
102 /* 0x74C */ csXyz mLeafAngles[3];
103 /* 0x760 */ char* mResName;
104 /* 0x764 */ s16 field_0x764;
105 /* 0x766 */ s16 field_0x766;
106 /* 0x768 */ s16 mNewLeafTick;
107 /* 0x76A */ s16 mPickLeafTick;
109}; // Size: 0x770
110
112
113#endif /* D_A_OBJ_YOBIKUSA_H */
cPhs__Step
Definition c_phase.h:8
Definition J3DModel.h:43
Definition c_bg_s_poly_info.h:7
Definition c_sxyz.h:10
Definition d_cc_d.h:461
Definition d_cc_d.h:269
Hawk Grass.
Definition d_a_obj_yobikusa.h:15
s16 field_0x766
Definition d_a_obj_yobikusa.h:105
s16 field_0x764
Definition d_a_obj_yobikusa.h:104
f32 getJointScale(int)
Definition d_a_obj_yobikusa.cpp:166
static actionFuncEntry ActionTable[3]
Definition d_a_obj_yobikusa.h:19
struct daObjYobikusa_c::attributes attributes
bool toPickLeaf()
Definition d_a_obj_yobikusa.cpp:232
Mode_e
Definition d_a_obj_yobikusa.h:17
@ MODE_PICK_LEAF
Definition d_a_obj_yobikusa.h:20
@ MODE_SWING_WIND
Definition d_a_obj_yobikusa.h:18
@ MODE_PUSH_DOWN
Definition d_a_obj_yobikusa.h:19
char * mResName
Definition d_a_obj_yobikusa.h:103
void create_init()
Definition d_a_obj_yobikusa.cpp:125
request_of_phase_process_class mPhase
Definition d_a_obj_yobikusa.h:92
f32 mNewLeafAmplitude
Definition d_a_obj_yobikusa.h:100
void initSwingWind()
Definition d_a_obj_yobikusa.cpp:38
u8 getPathID()
Definition d_a_obj_yobikusa.h:84
void executePickLeaf()
Definition d_a_obj_yobikusa.cpp:107
void setCcCylinder()
Definition d_a_obj_yobikusa.cpp:228
int draw()
Definition d_a_obj_yobikusa.cpp:311
void callExecute()
Definition d_a_obj_yobikusa.cpp:34
void callInit()
Definition d_a_obj_yobikusa.cpp:30
dCcD_Cyl mCcCyl
Definition d_a_obj_yobikusa.h:96
int mMode
Definition d_a_obj_yobikusa.h:94
int getType()
Definition d_a_obj_yobikusa.h:83
s16 mPickLeafTick
Definition d_a_obj_yobikusa.h:107
J3DModel * mpModelTypeB
Definition d_a_obj_yobikusa.h:90
const attributes * attr() const
Definition d_a_obj_yobikusa.h:82
s16 mPlayerDeltaAngle
Definition d_a_obj_yobikusa.h:108
void initPushDown()
Definition d_a_obj_yobikusa.cpp:80
void initBaseMtx()
Definition d_a_obj_yobikusa.cpp:154
int createHeap()
Definition d_a_obj_yobikusa.cpp:263
bool isPlayerCorrect()
Definition d_a_obj_yobikusa.h:85
Mtx mMtx
Definition d_a_obj_yobikusa.h:91
cPhs__Step create()
Definition d_a_obj_yobikusa.cpp:381
void initPickLeaf()
Definition d_a_obj_yobikusa.cpp:101
void setAction(daObjYobikusa_c::Mode_e)
Definition d_a_obj_yobikusa.cpp:25
J3DModel * mpModelTypeA
Definition d_a_obj_yobikusa.h:89
void getJointAngle(csXyz *, int)
Definition d_a_obj_yobikusa.cpp:162
~daObjYobikusa_c()
Definition d_a_obj_yobikusa.cpp:372
void initCcCylinder()
Definition d_a_obj_yobikusa.cpp:221
int execute()
Definition d_a_obj_yobikusa.cpp:330
cBgS_PolyInfo mPolyInfo
Definition d_a_obj_yobikusa.h:97
f32 mGroundH
Definition d_a_obj_yobikusa.h:98
dCcD_Stts mStts
Definition d_a_obj_yobikusa.h:95
s16 mNewLeafTick
Definition d_a_obj_yobikusa.h:106
bool setNewLeaf()
Definition d_a_obj_yobikusa.cpp:248
void executePushDown()
Definition d_a_obj_yobikusa.cpp:84
f32 mPickLeafAmplitude
Definition d_a_obj_yobikusa.h:101
struct daObjYobikusa_c::actionFuncEntry actionFuncEntry
static attributes const M_attr
Definition d_a_obj_yobikusa.h:42
f32 mJointScale
Definition d_a_obj_yobikusa.h:99
actionFuncEntry * mActionEntry
Definition d_a_obj_yobikusa.h:93
void(daObjYobikusa_c::*) actionFunc()
Definition d_a_obj_yobikusa.h:28
csXyz mLeafAngles[3]
Definition d_a_obj_yobikusa.h:102
J3DModel * mpActiveModel
Definition d_a_obj_yobikusa.h:88
void executeSwingWind()
Definition d_a_obj_yobikusa.cpp:46
CallType_e
Definition d_a_obj_yobikusa.h:23
@ CALL_TYPE_FLY
Definition d_a_obj_yobikusa.h:24
@ CALL_TYPE_HORSE
Definition d_a_obj_yobikusa.h:25
Definition f_op_actor.h:230
s8 argument
Definition f_op_actor.h:244
STATIC_ASSERT(sizeof(daObjYobikusa_c)==0x770)
f32 Mtx[3][4]
Definition mtx.h:25
signed char s8
Definition types.h:7
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
Definition d_a_obj_yobikusa.h:29
actionFunc execFn
Definition d_a_obj_yobikusa.h:31
actionFunc initFn
Definition d_a_obj_yobikusa.h:30
Definition d_a_obj_yobikusa.h:34
s16 field_0x38
Definition d_a_obj_yobikusa.h:49
f32 mNewLeafInitialAmplitude
Definition d_a_obj_yobikusa.h:45
f32 mPickLeafInitialAmplitude
Definition d_a_obj_yobikusa.h:47
s16 mNewLeafTickSpeed
Definition d_a_obj_yobikusa.h:51
f32 field_0x1c
Definition d_a_obj_yobikusa.h:42
f32 field_0x04
Definition d_a_obj_yobikusa.h:36
f32 field_0x18
Definition d_a_obj_yobikusa.h:41
f32 field_0x00
Definition d_a_obj_yobikusa.h:35
s16 mPickLeafTickSpeed
Definition d_a_obj_yobikusa.h:52
f32 mPickLeafAmplitudeDecay
Definition d_a_obj_yobikusa.h:48
s16 field_0x3a
Definition d_a_obj_yobikusa.h:50
f32 field_0x20
Definition d_a_obj_yobikusa.h:43
f32 field_0x10
Definition d_a_obj_yobikusa.h:39
f32 field_0x2c
Definition d_a_obj_yobikusa.h:46
f32 field_0x0c
Definition d_a_obj_yobikusa.h:38
f32 field_0x08
Definition d_a_obj_yobikusa.h:37
f32 field_0x14
Definition d_a_obj_yobikusa.h:40
f32 mJointScaleStep
Definition d_a_obj_yobikusa.h:44
Definition c_phase.h:17