Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_scannon_crs.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_SCANNON_CRS_H
2#define D_A_OBJ_SCANNON_CRS_H
3
5#include "d/actor/d_a_midna.h"
6
16public:
25
27 virtual ~daSCannonCrs_c();
28 int create();
29 int Delete();
30 int draw();
31 int execute();
32 void middleExe(daMidna_c*);
38 void exeModeEnd(daMidna_c*);
39 void demoExe();
40 void init();
41 void setModelMtx();
42 int createHeap();
43 bool chkInTalkRange();
44 void initEmtRt(u16, int, u16 const*, JPABaseEmitter**);
45 void exeEmtRt(u16, int, JPABaseEmitter**);
46 void callMidnaBeamEmt();
47
48 int getTalkRange() { return fopAcM_GetParamBit(this, 0, 8); }
49 int getWarpId() { return fopAcM_GetParamBit(this, 8, 8); }
50 u16 getMsgId() { return home.angle.x; }
51
52 static void (daSCannonCrs_c::*s_exeProc[])(daMidna_c*);
53
54private:
55 /* 0x574 */ cXyz mPortalWaitPos;
56 /* 0x580 */ dMsgFlow_c mMsgFlow;
57 /* 0x5CC */ mDoExt_bckAnm mBck;
58 /* 0x5E8 */ mDoExt_btkAnm mBtk;
59 /* 0x600 */ J3DModel* mpModel;
60 /* 0x604 */ dBgW* mpBgW;
61 /* 0x608 */ Mtx mBgMtx;
62 /* 0x638 */ f32 mTalkRangeSqDist;
63 /* 0x63C */ int mStaffId;
64 /* 0x640 */ int mWarpQuakeTimer;
65 /* 0x644 */ int mVoiceTimer;
66 /* 0x648 */ u16 mEffectJointNo;
67 /* 0x64A */ u16 mCenterJointNo;
68 /* 0x64C */ s16 mEvtIdx;
69 /* 0x64E */ u8 mMode;
70 /* 0x64F */ u8 field_0x64F[0x651 - 0x64F];
71 /* 0x651 */ u8 field_0x651;
72 /* 0x652 */ u8 field_0x652;
73 /* 0x654 */ JPABaseEmitter* mpDisapEmt[4];
74 /* 0x664 */ JPABaseEmitter* mpBeamEmt[4];
75};
76
77STATIC_ASSERT(sizeof(daSCannonCrs_c) == 0x674);
78
79#endif /* D_A_OBJ_SCANNON_CRS_H */
Definition d_bg_w.h:262
Definition d_msg_flow.h:49
Midna.
Definition d_a_midna.h:120
Sky Cannon (Broken)
Definition d_a_obj_scannon_crs.h:15
void exeEmtRt(u16, int, JPABaseEmitter **)
Definition d_a_obj_scannon_crs.cpp:461
int create()
Definition d_a_obj_scannon_crs.cpp:66
int getWarpId()
Definition d_a_obj_scannon_crs.h:49
int Delete()
Definition d_a_obj_scannon_crs.cpp:110
daSCannonCrs_exeMode
Definition d_a_obj_scannon_crs.h:17
@ MODE_TALK_EVT
Definition d_a_obj_scannon_crs.h:21
@ MODE_WARP_EVT
Definition d_a_obj_scannon_crs.h:22
@ MODE_END
Definition d_a_obj_scannon_crs.h:23
@ MODE_PRE_WAIT
Definition d_a_obj_scannon_crs.h:19
@ MODE_WAIT
Definition d_a_obj_scannon_crs.h:18
@ MODE_ORDER_EVT
Definition d_a_obj_scannon_crs.h:20
int mStaffId
Definition d_a_obj_scannon_crs.h:63
void exeModeEnd(daMidna_c *)
Definition d_a_obj_scannon_crs.cpp:268
void exeModeWait(daMidna_c *)
Definition d_a_obj_scannon_crs.cpp:161
void initEmtRt(u16, int, u16 const *, JPABaseEmitter **)
Definition d_a_obj_scannon_crs.cpp:445
int draw()
Definition d_a_obj_scannon_crs.cpp:119
u8 field_0x651
Definition d_a_obj_scannon_crs.h:71
int getTalkRange()
Definition d_a_obj_scannon_crs.h:48
JPABaseEmitter * mpBeamEmt[4]
Definition d_a_obj_scannon_crs.h:74
int execute()
Definition d_a_obj_scannon_crs.cpp:133
daSCannonCrs_c()
Definition d_a_obj_scannon_crs.cpp:42
int mWarpQuakeTimer
Definition d_a_obj_scannon_crs.h:64
void setModelMtx()
Definition d_a_obj_scannon_crs.cpp:383
s16 mEvtIdx
Definition d_a_obj_scannon_crs.h:68
void demoExe()
Definition d_a_obj_scannon_crs.cpp:279
int mVoiceTimer
Definition d_a_obj_scannon_crs.h:65
void callMidnaBeamEmt()
Definition d_a_obj_scannon_crs.cpp:472
u8 field_0x64F[0x651 - 0x64F]
Definition d_a_obj_scannon_crs.h:70
static void(daSCannonCrs_c::* s_exeProc[])(daMidna_c *)
Definition d_a_obj_scannon_crs.h:270
u8 field_0x652
Definition d_a_obj_scannon_crs.h:72
u16 getMsgId()
Definition d_a_obj_scannon_crs.h:50
void exeModeTalkEvt(daMidna_c *)
Definition d_a_obj_scannon_crs.cpp:246
void exeModeWarpEvt(daMidna_c *)
Definition d_a_obj_scannon_crs.cpp:259
f32 mTalkRangeSqDist
Definition d_a_obj_scannon_crs.h:62
u8 mMode
Definition d_a_obj_scannon_crs.h:69
bool chkInTalkRange()
Definition d_a_obj_scannon_crs.cpp:432
int createHeap()
Definition d_a_obj_scannon_crs.cpp:391
dMsgFlow_c mMsgFlow
Definition d_a_obj_scannon_crs.h:56
mDoExt_btkAnm mBtk
Definition d_a_obj_scannon_crs.h:58
void exeModePreWait(daMidna_c *)
Definition d_a_obj_scannon_crs.cpp:197
cXyz mPortalWaitPos
Definition d_a_obj_scannon_crs.h:55
void middleExe(daMidna_c *)
Definition d_a_obj_scannon_crs.cpp:143
Mtx mBgMtx
Definition d_a_obj_scannon_crs.h:61
mDoExt_bckAnm mBck
Definition d_a_obj_scannon_crs.h:57
JPABaseEmitter * mpDisapEmt[4]
Definition d_a_obj_scannon_crs.h:73
u16 mEffectJointNo
Definition d_a_obj_scannon_crs.h:66
void init()
Definition d_a_obj_scannon_crs.cpp:362
virtual ~daSCannonCrs_c()
Definition d_a_obj_scannon_crs.cpp:48
dBgW * mpBgW
Definition d_a_obj_scannon_crs.h:60
J3DModel * mpModel
Definition d_a_obj_scannon_crs.h:59
void exeModeOrderEvt(daMidna_c *)
Definition d_a_obj_scannon_crs.cpp:205
u16 mCenterJointNo
Definition d_a_obj_scannon_crs.h:67
Definition f_op_actor.h:271
actor_place home
Definition f_op_actor.h:290
Definition m_Do_ext.h:149
Definition m_Do_ext.h:63
STATIC_ASSERT(sizeof(daSCannonCrs_c)==0x674)
u32 fopAcM_GetParamBit(void *ac, u8 shift, u8 bit)
Definition f_op_actor_mng.h:176
s16 x
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:247
Definition c_xyz.h:7
Definition c_phase.h:19