Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_sakuita_rope.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_SAKUITA_ROPE_H
2#define D_A_OBJ_SAKUITA_ROPE_H
3
4#include "d/d_cc_d.h"
6
8 /* 0x00 */ f32 mGravity;
9 /* 0x04 */ f32 mWindRate;
10 /* 0x08 */ f32 mSpeedRate;
11 /* 0x0C */ f32 mOffsetRate;
12 /* 0x10 */ u8 mStringWeight;
13};
14
15class Sakuita_c {
16public:
18 void create(cXyz*, s16, s8);
19 void execute(cXyz*, s16);
20 void draw();
21 void initBaseMtx();
22 void setBaseMtx();
23 void setPlatePos(cXyz*);
24 void calcAngle();
25 ~Sakuita_c();
26 Sakuita_c();
27
28 /* 0x00 */ J3DModel* mModel;
29 /* 0x04 */ cXyz* field_0x04;
30 /* 0x08 */ cXyz field_0x08;
31 /* 0x14 */ cXyz field_0x14;
32 /* 0x20 */ cXyz field_0x20;
33 /* 0x2C */ f32 field_0x2c;
34 /* 0x30 */ csXyz mRotation;
35 /* 0x36 */ s16 field_0x36;
36 /* 0x38 */ s16 field_0x38;
37 /* 0x3A */ s8 field_0x3a;
38};
39
41public:
43 RopeWork_c();
44
45 /* 0x00 */ cXyz field_0x00;
46 /* 0x0C */ cXyz field_0x0c;
47 /* 0x18 */ int field_0x18;
48};
49
58class daObjItaRope_c : public fopAc_ac_c {
59public:
60 void create_init();
61 void initBaseMtx();
62 void setBaseMtx();
63 void setNormalRopePos();
64
65 inline ~daObjItaRope_c();
66 inline int createHeap();
67 inline int draw();
68 inline int execute();
69 inline int create();
70
71 daObjItaRope_Attr_c const& attr() const { return M_attr; }
72 u8 getJointNum() { return fopAcM_GetParam(this) & 0xff; }
73 int getPathID() { return (fopAcM_GetParam(this) >> 8) & 0xff; }
75
76 f32 getStartRate(const cXyz* pos) {
77 if (field_0x634 != 0) {
78 return field_0x62c * (pos->x - getRopeStartPos()->x);
79 }
80 return field_0x62c * (pos->z - getRopeStartPos()->z);
81 }
82
83 static daObjItaRope_Attr_c const M_attr;
84
85private:
88 /* 0x5AC */ Mtx mMtx;
89 /* 0x5AC */ dCcD_Stts mStts;
90 /* 0x618 */ RopeWork_c* mRopes;
91 /* 0x61C */ Sakuita_c* mSakuitas;
92 /* 0x620 */ cXyz field_0x620;
93 /* 0x62C */ f32 field_0x62c;
94 /* 0x630 */ f32 field_0x630;
95 /* 0x634 */ u8 field_0x634;
96 /* 0x635 */ u8 field_0x635;
97 /* 0x636 */ u8 field_0x636;
98};
99
101
102#endif /* D_A_OBJ_SAKUITA_ROPE_H */
Definition J3DModelData.h:17
Definition J3DModel.h:43
Definition d_a_obj_sakuita_rope.h:40
~RopeWork_c()
Definition d_a_obj_sakuita_rope.cpp:312
RopeWork_c()
Definition d_a_obj_sakuita_rope.cpp:314
int field_0x18
Definition d_a_obj_sakuita_rope.h:47
cXyz field_0x0c
Definition d_a_obj_sakuita_rope.h:46
cXyz field_0x00
Definition d_a_obj_sakuita_rope.h:45
Definition d_a_obj_sakuita_rope.h:15
~Sakuita_c()
Definition d_a_obj_sakuita_rope.cpp:308
cXyz * field_0x04
Definition d_a_obj_sakuita_rope.h:29
void execute(cXyz *, s16)
Definition d_a_obj_sakuita_rope.cpp:83
s8 field_0x3a
Definition d_a_obj_sakuita_rope.h:37
csXyz mRotation
Definition d_a_obj_sakuita_rope.h:34
cXyz field_0x14
Definition d_a_obj_sakuita_rope.h:31
void calcAngle()
Definition d_a_obj_sakuita_rope.cpp:133
cXyz field_0x20
Definition d_a_obj_sakuita_rope.h:32
void create(cXyz *, s16, s8)
Definition d_a_obj_sakuita_rope.cpp:71
s16 field_0x36
Definition d_a_obj_sakuita_rope.h:35
s16 field_0x38
Definition d_a_obj_sakuita_rope.h:36
void draw()
Definition d_a_obj_sakuita_rope.cpp:90
void setBaseMtx()
Definition d_a_obj_sakuita_rope.cpp:98
f32 field_0x2c
Definition d_a_obj_sakuita_rope.h:33
void setPlatePos(cXyz *)
Definition d_a_obj_sakuita_rope.cpp:106
J3DModel * mModel
Definition d_a_obj_sakuita_rope.h:28
Sakuita_c()
Definition d_a_obj_sakuita_rope.cpp:310
int setModelData(J3DModelData *)
Definition d_a_obj_sakuita_rope.cpp:61
void initBaseMtx()
Definition d_a_obj_sakuita_rope.cpp:94
cXyz field_0x08
Definition d_a_obj_sakuita_rope.h:30
Definition c_sxyz.h:10
Definition d_cc_d.h:269
Rope Banner Fence.
Definition d_a_obj_sakuita_rope.h:58
mDoExt_3DlineMat1_c mLineMat
Definition d_a_obj_sakuita_rope.h:86
f32 field_0x62c
Definition d_a_obj_sakuita_rope.h:93
f32 getStartRate(const cXyz *pos)
Definition d_a_obj_sakuita_rope.h:76
u8 field_0x635
Definition d_a_obj_sakuita_rope.h:96
~daObjItaRope_c()
Definition d_a_obj_sakuita_rope.cpp:146
int createHeap()
Definition d_a_obj_sakuita_rope.cpp:271
int execute()
Definition d_a_obj_sakuita_rope.cpp:332
u8 field_0x636
Definition d_a_obj_sakuita_rope.h:97
void setNormalRopePos()
Definition d_a_obj_sakuita_rope.cpp:225
cXyz field_0x620
Definition d_a_obj_sakuita_rope.h:92
void setBaseMtx()
Definition d_a_obj_sakuita_rope.cpp:220
daObjItaRope_Attr_c const & attr() const
Definition d_a_obj_sakuita_rope.h:71
dCcD_Stts mStts
Definition d_a_obj_sakuita_rope.h:89
request_of_phase_process_class mPhase
Definition d_a_obj_sakuita_rope.h:87
void create_init()
Definition d_a_obj_sakuita_rope.cpp:161
Sakuita_c * mSakuitas
Definition d_a_obj_sakuita_rope.h:91
int getPathID()
Definition d_a_obj_sakuita_rope.h:73
RopeWork_c * mRopes
Definition d_a_obj_sakuita_rope.h:90
Mtx mMtx
Definition d_a_obj_sakuita_rope.h:88
int draw()
Definition d_a_obj_sakuita_rope.cpp:316
static daObjItaRope_Attr_c const M_attr
Definition d_a_obj_sakuita_rope.h:67
u8 field_0x634
Definition d_a_obj_sakuita_rope.h:95
cXyz * getRopeStartPos()
Definition d_a_obj_sakuita_rope.h:74
u8 getJointNum()
Definition d_a_obj_sakuita_rope.h:72
void initBaseMtx()
Definition d_a_obj_sakuita_rope.cpp:215
f32 field_0x630
Definition d_a_obj_sakuita_rope.h:94
int create()
Definition d_a_obj_sakuita_rope.cpp:360
Definition f_op_actor.h:230
Definition m_Do_ext.h:561
cXyz * getPos(int i_idx)
Definition m_Do_ext.h:570
STATIC_ASSERT(sizeof(daObjItaRope_c)==0x638)
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
f32 z
Definition mtx.h:14
f32 x
Definition mtx.h:14
Definition c_xyz.h:7
Definition d_a_obj_sakuita_rope.h:7
u8 mStringWeight
Definition d_a_obj_sakuita_rope.h:12
f32 mGravity
Definition d_a_obj_sakuita_rope.h:8
f32 mSpeedRate
Definition d_a_obj_sakuita_rope.h:10
f32 mWindRate
Definition d_a_obj_sakuita_rope.h:9
f32 mOffsetRate
Definition d_a_obj_sakuita_rope.h:11
Definition c_phase.h:17