Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_canoe.h
Go to the documentation of this file.
1#ifndef D_A_CANOE_H
2#define D_A_CANOE_H
3
5#include "d/d_cc_d.h"
6#include "d/d_bg_s_acch.h"
8
17class daCanoe_c : public fopAc_ac_c {
18public:
19 int createHeap();
20 int create();
21 ~daCanoe_c();
22 void setRoomInfo();
23 void setMatrix();
24 void setCollision();
25 void posMove();
27 void setFrontBackPos();
28 void frontBackBgCheck();
29 void setPaddleEffect();
31 int execute();
32 int draw();
33
34 J3DModel* getModel() { return mpModel; }
36 bool checkTandem() { return fopAcM_GetParam(this) == 2; }
37 bool checkJumpRideFlg() { return mJumpRideFlg; }
38 void incShapeOffsetY(f32 offset) { mShapeOffsetY += offset; }
39 void incShapeAngleZ(s16 incZ) { shape_angle.z += incZ; }
40 void onRodID(fpc_ProcID i_rodID) { mRodID = i_rodID; }
45
46 void setAimSpeed(f32 i_speed) { mAimSpeed = i_speed; }
47 void setAimAngle(s16 i_angle) {
48 mAimAngle = i_angle;
49 mIsForceAimAngle = TRUE;
50 }
51
52 void setPosAndAngle(cXyz const* i_pos, s16 i_angle) {
53 mForcePos = *i_pos;
54 mForceAngle = i_angle;
55 mIsForcePosAngle = TRUE;
56 }
57
59 field_0x1454 = 64;
60 field_0x1456 = 15;
61 }
62
64 field_0x1454 = -64;
65 field_0x1456 = 15;
66 }
67
68private:
70 /* 0x0570 */ J3DModel* mpModel;
71 /* 0x0574 */ J3DModel* mpPaddleModel;
72 /* 0x0578 */ J3DModel* mpMaskModel;
73 /* 0x057C */ dCcD_Stts mCcStts;
74 /* 0x05B8 */ dBgS_AcchCir mAcchCir[3][3];
75 /* 0x07F8 */ dBgS_LinkAcch mAcch[3];
76 /* 0x0D80 */ dCcD_Cyl mCcCyl[5];
79 /* 0x143C */ const char* mArcName;
80 /* 0x1440 */ u8 mPaddleWaterType;
81 /* 0x1441 */ u8 field_0x1441;
82 /* 0x1442 */ u8 mIsForceAimAngle;
83 /* 0x1443 */ u8 mJumpRideFlg;
84 /* 0x1444 */ u8 field_0x1444;
85 /* 0x1445 */ s8 mReverb;
86 /* 0x1446 */ u8 mIsForcePosAngle;
87 /* 0x1447 */ u8 mIsSliderHit;
88 /* 0x1448 */ s16 field_0x1448;
89 /* 0x144A */ s16 mForceAngle;
90 /* 0x144C */ s16 mAimAngle;
91 /* 0x144E */ s16 field_0x144e;
92 /* 0x1450 */ s16 field_0x1450;
93 /* 0x1452 */ s16 field_0x1452;
94 /* 0x1454 */ s16 field_0x1454;
95 /* 0x1456 */ s16 field_0x1456;
96 /* 0x1458 */ s16 field_0x1458;
97 /* 0x145A */ s16 field_0x145a;
99 /* 0x145E */ u16 mHitCount;
100 /* 0x1460 */ s16 field_0x1460;
101 /* 0x1464 */ fpc_ProcID mRodID;
102 /* 0x1468 */ f32 mAimSpeed;
103 /* 0x146C */ f32 mShapeOffsetY;
104 /* 0x1470 */ f32 field_0x1470;
105 /* 0x1474 */ u32 mShadowId;
106 /* 0x1478 */ u32 field_0x1478;
107 /* 0x147C */ u8 field_0x147c[0x1480 - 0x147C];
108 /* 0x1480 */ u32 field_0x1480;
109 /* 0x1484 */ u8 field_0x1484[0x1488 - 0x1484];
110 /* 0x1488 */ u32 field_0x1488[2];
111 /* 0x1490 */ u32 field_0x1490;
112 /* 0x1494 */ cXyz mFrontPos;
113 /* 0x14A0 */ cXyz mBackPos;
114 /* 0x14AC */ cXyz mOldFrontPos;
115 /* 0x14B8 */ cXyz mOldBackPos;
116 /* 0x14C4 */ cXyz mWaterSpeed;
117 /* 0x14D0 */ cXyz mForcePos;
118};
119
120STATIC_ASSERT(sizeof(daCanoe_c) == 0x14dc);
121
122#endif /* D_A_CANOE_H */
@ Z2SE_AL_CANOE_FALL_DW
Definition Z2SeMgr.h:680
Definition J3DModel.h:43
Mtx & getBaseTRMtx()
Definition J3DModel.h:89
Definition Z2SoundObject.h:38
virtual Z2SoundHandlePool * startSound(JAISoundID soundID, u32 mapinfo, s8 reverb)
Definition Z2SoundObject.cpp:280
Definition c_bg_s_poly_info.h:7
Definition d_bg_s_acch.h:15
Definition d_bg_s_acch.h:240
Definition d_bg_s_lin_chk.h:20
Definition d_cc_d.h:461
Definition d_cc_d.h:269
Canoe.
Definition d_a_canoe.h:17
u8 field_0x1441
Definition d_a_canoe.h:81
s16 field_0x145a
Definition d_a_canoe.h:97
J3DModel * mpPaddleModel
Definition d_a_canoe.h:71
void setMatrix()
Definition d_a_canoe.cpp:201
void setAimSpeed(f32 i_speed)
Definition d_a_canoe.h:46
u8 mIsSliderHit
Definition d_a_canoe.h:87
fpc_ProcID mRodID
Definition d_a_canoe.h:101
u32 field_0x1478
Definition d_a_canoe.h:106
~daCanoe_c()
Definition d_a_canoe.cpp:173
s16 field_0x1460
Definition d_a_canoe.h:100
s16 field_0x144e
Definition d_a_canoe.h:91
void setPaddleOffsetRight()
Definition d_a_canoe.h:58
cXyz mOldFrontPos
Definition d_a_canoe.h:114
f32 field_0x1470
Definition d_a_canoe.h:104
dCcD_Cyl mCcCyl[5]
Definition d_a_canoe.h:76
void startInitPaddleWater()
Definition d_a_canoe.h:43
void checkGomikabe(cBgS_PolyInfo &)
Definition d_a_canoe.cpp:327
int execute()
Definition d_a_canoe.cpp:614
int create()
Definition d_a_canoe.cpp:89
s16 mAimAngle
Definition d_a_canoe.h:90
void onRodID(fpc_ProcID i_rodID)
Definition d_a_canoe.h:40
void posMove()
Definition d_a_canoe.cpp:298
J3DModel * mpModel
Definition d_a_canoe.h:70
u32 field_0x1488[2]
Definition d_a_canoe.h:110
u8 mIsForceAimAngle
Definition d_a_canoe.h:82
void setFrontBackPos()
Definition d_a_canoe.cpp:333
dBgS_AcchCir mAcchCir[3][3]
Definition d_a_canoe.h:74
Z2SoundObjSimple mSound
Definition d_a_canoe.h:78
void setPosAndAngle(cXyz const *i_pos, s16 i_angle)
Definition d_a_canoe.h:52
int createHeap()
Definition d_a_canoe.cpp:32
void setPaddleOffsetLeft()
Definition d_a_canoe.h:63
s16 mHitInvulnerabilityTimer
Definition d_a_canoe.h:98
s16 field_0x1458
Definition d_a_canoe.h:96
u16 mHitCount
Definition d_a_canoe.h:99
u8 mPaddleWaterType
Definition d_a_canoe.h:80
f32 mAimSpeed
Definition d_a_canoe.h:102
u8 field_0x1444
Definition d_a_canoe.h:84
cXyz mBackPos
Definition d_a_canoe.h:113
void incShapeOffsetY(f32 offset)
Definition d_a_canoe.h:38
u32 field_0x1490
Definition d_a_canoe.h:111
void setAimAngle(s16 i_angle)
Definition d_a_canoe.h:47
bool checkTandem()
Definition d_a_canoe.h:36
u32 field_0x1480
Definition d_a_canoe.h:108
u8 mIsForcePosAngle
Definition d_a_canoe.h:86
request_of_phase_process_class mPhaseReq
Definition d_a_canoe.h:69
u32 mShadowId
Definition d_a_canoe.h:105
void setCollision()
Definition d_a_canoe.cpp:266
J3DModel * mpMaskModel
Definition d_a_canoe.h:72
bool checkPaddleChangeWater()
Definition d_a_canoe.h:42
u8 mJumpRideFlg
Definition d_a_canoe.h:83
s16 field_0x1448
Definition d_a_canoe.h:88
void frontBackBgCheck()
Definition d_a_canoe.cpp:340
s16 mForceAngle
Definition d_a_canoe.h:89
fpc_ProcID getRodID()
Definition d_a_canoe.h:44
J3DModel * getModel()
Definition d_a_canoe.h:34
s8 mReverb
Definition d_a_canoe.h:85
cXyz mOldBackPos
Definition d_a_canoe.h:115
u8 field_0x1484[0x1488 - 0x1484]
Definition d_a_canoe.h:109
void setPaddleEffect()
Definition d_a_canoe.cpp:533
void incShapeAngleZ(s16 incZ)
Definition d_a_canoe.h:39
dBgS_LinkLinChk mLineChk
Definition d_a_canoe.h:77
const char * mArcName
Definition d_a_canoe.h:79
cXyz mFrontPos
Definition d_a_canoe.h:112
bool checkJumpRideFlg()
Definition d_a_canoe.h:37
u8 field_0x147c[0x1480 - 0x147C]
Definition d_a_canoe.h:107
void setWaterFallDownSe()
Definition d_a_canoe.h:41
MtxP getModelMtx()
Definition d_a_canoe.h:35
void setCanoeSliderEffect()
Definition d_a_canoe.cpp:584
dBgS_LinkAcch mAcch[3]
Definition d_a_canoe.h:75
cXyz mWaterSpeed
Definition d_a_canoe.h:116
s16 field_0x1452
Definition d_a_canoe.h:93
void setRoomInfo()
Definition d_a_canoe.cpp:184
int draw()
Definition d_a_canoe.cpp:868
s16 field_0x1456
Definition d_a_canoe.h:95
s16 field_0x1450
Definition d_a_canoe.h:92
f32 mShapeOffsetY
Definition d_a_canoe.h:103
dCcD_Stts mCcStts
Definition d_a_canoe.h:73
cXyz mForcePos
Definition d_a_canoe.h:117
s16 field_0x1454
Definition d_a_canoe.h:94
Definition f_op_actor.h:230
csXyz shape_angle
Definition f_op_actor.h:252
STATIC_ASSERT(sizeof(daCanoe_c)==0x14dc)
f32(* MtxP)[4]
Definition mtx.h:38
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:192
unsigned int fpc_ProcID
Definition f_pc_base.h:10
s16 z
Definition c_sxyz.h:7
Definition c_xyz.h:7
Definition c_phase.h:17