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 J3DModel.h:43
Definition JPAEmitter.h:101
Definition d_bg_w.h:257
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:460
int create()
Definition d_a_obj_scannon_crs.cpp:65
int getWarpId()
Definition d_a_obj_scannon_crs.h:49
int Delete()
Definition d_a_obj_scannon_crs.cpp:109
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:267
void exeModeWait(daMidna_c *)
Definition d_a_obj_scannon_crs.cpp:160
void initEmtRt(u16, int, u16 const *, JPABaseEmitter **)
Definition d_a_obj_scannon_crs.cpp:444
int draw()
Definition d_a_obj_scannon_crs.cpp:118
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:132
daSCannonCrs_c()
Definition d_a_obj_scannon_crs.cpp:41
int mWarpQuakeTimer
Definition d_a_obj_scannon_crs.h:64
void setModelMtx()
Definition d_a_obj_scannon_crs.cpp:382
s16 mEvtIdx
Definition d_a_obj_scannon_crs.h:68
void demoExe()
Definition d_a_obj_scannon_crs.cpp:278
int mVoiceTimer
Definition d_a_obj_scannon_crs.h:65
void callMidnaBeamEmt()
Definition d_a_obj_scannon_crs.cpp:471
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:269
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:245
void exeModeWarpEvt(daMidna_c *)
Definition d_a_obj_scannon_crs.cpp:258
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:431
int createHeap()
Definition d_a_obj_scannon_crs.cpp:390
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:196
cXyz mPortalWaitPos
Definition d_a_obj_scannon_crs.h:55
void middleExe(daMidna_c *)
Definition d_a_obj_scannon_crs.cpp:142
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:361
virtual ~daSCannonCrs_c()
Definition d_a_obj_scannon_crs.cpp:47
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:204
u16 mCenterJointNo
Definition d_a_obj_scannon_crs.h:67
Definition f_op_actor.h:230
actor_place home
Definition f_op_actor.h:249
Definition m_Do_ext.h:151
Definition m_Do_ext.h:65
STATIC_ASSERT(sizeof(daSCannonCrs_c)==0x674)
f32 Mtx[3][4]
Definition mtx.h:25
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_GetParamBit(void *ac, u8 shift, u8 bit)
Definition f_op_actor_mng.h:196
s16 x
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:206
Definition c_xyz.h:7
Definition c_phase.h:17