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
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;
53 };
54
55 /* 8059C9F8 */ void setAction(daObjYobikusa_c::Mode_e);
56 /* 8059CA2C */ void callInit();
57 /* 8059CA54 */ void callExecute();
58 /* 8059CA80 */ void initSwingWind();
59 /* 8059CA8C */ void executeSwingWind();
60 /* 8059CC54 */ void initPushDown();
61 /* 8059CC60 */ void executePushDown();
62 /* 8059CD44 */ void initPickLeaf();
63 /* 8059CD80 */ void executePickLeaf();
64 /* 8059CE7C */ void create_init();
65 /* 8059D120 */ void initBaseMtx();
66 /* 8059D198 */ void getJointAngle(csXyz*, int);
67 /* 8059D1BC */ f32 getJointScale(int);
68 /* 8059D320 */ void initCcCylinder();
69 /* 8059D380 */ void setCcCylinder();
70 /* 8059D3B4 */ bool toPickLeaf();
71 /* 8059D454 */ bool setNewLeaf();
72 /* 8059D738 */ 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 subtype & 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 */
T cLib_calcTimer(T *value)
Definition c_lib.h:74
cPhs__Step
Definition c_phase.h:8
Hawk Grass.
Definition d_a_obj_yobikusa.h:15
void(daObjYobikusa_c::* actionFunc)()
Definition d_a_obj_yobikusa.h:28
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:206
static actionFuncEntry ActionTable[3]
Definition d_a_obj_yobikusa.h:41
bool toPickLeaf()
Definition d_a_obj_yobikusa.cpp:280
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:161
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:66
u8 getPathID()
Definition d_a_obj_yobikusa.h:84
void executePickLeaf()
Definition d_a_obj_yobikusa.cpp:142
void setCcCylinder()
Definition d_a_obj_yobikusa.cpp:275
int draw()
Definition d_a_obj_yobikusa.cpp:361
void callExecute()
Definition d_a_obj_yobikusa.cpp:60
void callInit()
Definition d_a_obj_yobikusa.cpp:55
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:111
void initBaseMtx()
Definition d_a_obj_yobikusa.cpp:191
int createHeap()
Definition d_a_obj_yobikusa.cpp:312
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:438
void initPickLeaf()
Definition d_a_obj_yobikusa.cpp:135
void setAction(daObjYobikusa_c::Mode_e)
Definition d_a_obj_yobikusa.cpp:49
J3DModel * mpModelTypeA
Definition d_a_obj_yobikusa.h:89
void getJointAngle(csXyz *, int)
Definition d_a_obj_yobikusa.cpp:200
~daObjYobikusa_c()
Definition d_a_obj_yobikusa.cpp:428
void initCcCylinder()
Definition d_a_obj_yobikusa.cpp:266
int execute()
Definition d_a_obj_yobikusa.cpp:384
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:297
void executePushDown()
Definition d_a_obj_yobikusa.cpp:116
f32 mPickLeafAmplitude
Definition d_a_obj_yobikusa.h:101
static attributes const M_attr
Definition d_a_obj_yobikusa.h:70
f32 mJointScale
Definition d_a_obj_yobikusa.h:99
actionFuncEntry * mActionEntry
Definition d_a_obj_yobikusa.h:93
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:75
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
STATIC_ASSERT(sizeof(daObjYobikusa_c)==0x770)
u32 fopAcM_GetParam(const void *pActor)
Definition f_op_actor_mng.h:224
f32 Mtx[3][4]
Definition mtx.h:15
Definition d_a_ep.cpp:155
Definition d_a_ep.cpp:134
Definition d_a_ep.cpp:66
Definition d_a_npc_fguard.cpp:86
Definition d_a_npc_fguard.cpp:70
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 d_a_ep.cpp:19
s8 subtype
Definition f_op_actor.h:208
Definition d_a_hozelda.cpp:14
signed char s8
Definition types.h:4
float f32
Definition types.h:22
signed short s16
Definition types.h:5
unsigned char u8
Definition types.h:8