Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_scannon.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_SCANNON_H
2#define D_A_OBJ_SCANNON_H
3
5
15public:
16 struct demoTable_s {
17 /* 0x0 */ void (daSCannon_c::*(*demo_proc_table)[2])();
18 /* 0x4 */ char** cut_table;
19 /* 0x8 */ int cut_num;
20 };
21
28
35
37 virtual ~daSCannon_c();
38 int create();
39 int execute();
40 int draw();
41 int Delete();
42 void setModelMtx();
43 void setPtlModelMtx();
44 int createHeap();
45 void middleExe();
46 void orderEvtInit();
47 void exeModeWait();
48 void exeModeOrderEvt();
49 void exeModeActionEvt();
50 void exeModeEnd();
51 void demoExe();
52 void demoModeInit(int);
53 void demoInitLinkIn();
54 void demoExeLinkIn();
55 void demoInitSet();
56 void demoExeSet();
57 void demoInitMove();
58 void demoExeMove();
59 void demoInitFire();
60 void demoExeFire();
61 void demoInitFinish();
62 void demoExeFinish();
64 void demoExeWarpEndWait();
66 void demoExeWarpEndMove();
67 void changeScene();
68 void init();
69 void initEmtRt(u16, int, u16 const*, JPABaseEmitter**);
70 void exeEmtRt(u16, int, JPABaseEmitter**);
71 void initEmtLine();
72 void exeEmtLine();
73 void delEmtAll();
74 void setCannonRepair();
75
76 int getSw1() { return fopAcM_GetParamBit(this, 0, 8); }
77 int getSw2() { return fopAcM_GetParamBit(this, 8, 8); }
78
79 static const demoTable_s s_demoTable[];
80 static void (daSCannon_c::*s_exeProc[])();
81 static void (daSCannon_c::*s_demoExeProc_WarpEnd[][2])();
82 static void (daSCannon_c::*s_demoExeProc_FireTks[][2])();
83 static void (daSCannon_c::*s_demoExeProc_FireFirst[][2])();
84 static void (daSCannon_c::*s_demoExeProc_FireSecond[][2])();
85
86private:
89 /* 0x584 */ mDoExt_bckAnm mBck;
91 /* 0x5B0 */ Mtx mBgMtx;
92 /* 0x5E0 */ dBgW* mpBgW;
93 /* 0x5E4 */ J3DModel* mpModels[2];
94 /* 0x5EC */ J3DModel* mpPtlModel;
96 /* 0x5F4 */ mDoExt_btkAnm* mpPtlBtk;
97 /* 0x5F8 */ f32 mGroundY;
98 /* 0x5FC */ u32 mShadowKey;
99 /* 0x600 */ int mTimer;
100 /* 0x604 */ int mStaffId;
101 /* 0x608 */ int mDemoFinishTimer;
102 /* 0x60C */ int mLayerNo;
103 /* 0x610 */ s16 mEvtIdx;
104 /* 0x612 */ u16 mHeadJointNo;
105 /* 0x614 */ u16 mCrashJointNo;
106 /* 0x616 */ u8 mMode;
107 /* 0x617 */ u8 mIsRepaired;
108 /* 0x618 */ u8 mDemoType;
109 /* 0x619 */ u8 field_0x619;
110 /* 0x61A */ u8 mIsPortal;
111 /* 0x61B */ u8 mDrawShadow;
112 /* 0x61C */ JPABaseEmitter* mpEmtApp[3];
113 /* 0x628 */ JPABaseEmitter* mpEmtSmk[3];
115};
116
117STATIC_ASSERT(sizeof(daSCannon_c) == 0x638);
118
119
120#endif /* D_A_OBJ_SCANNON_H */
Definition J3DModel.h:43
Definition JPAEmitter.h:101
Definition c_bg_s_poly_info.h:7
Definition d_bg_w.h:257
Sky Cannon (City in the Sky)
Definition d_a_obj_scannon.h:14
int getSw2()
Definition d_a_obj_scannon.h:77
mDoExt_bckAnm mBck
Definition d_a_obj_scannon.h:89
void demoExeLinkIn()
Definition d_a_obj_scannon.cpp:551
void demoExeMove()
Definition d_a_obj_scannon.cpp:583
cBgS_PolyInfo mGroundPoly
Definition d_a_obj_scannon.h:90
request_of_phase_process_class mPtlPhase
Definition d_a_obj_scannon.h:88
u32 mShadowKey
Definition d_a_obj_scannon.h:98
void demoInitWarpEndMove()
Definition d_a_obj_scannon.cpp:681
JPABaseEmitter * mpEmtLine
Definition d_a_obj_scannon.h:114
void demoInitLinkIn()
Definition d_a_obj_scannon.cpp:549
u8 mDemoType
Definition d_a_obj_scannon.h:108
u8 mMode
Definition d_a_obj_scannon.h:106
void initEmtLine()
Definition d_a_obj_scannon.cpp:770
void initEmtRt(u16, int, u16 const *, JPABaseEmitter **)
Definition d_a_obj_scannon.cpp:743
static void(daSCannon_c::* s_demoExeProc_FireSecond[][2])()
Definition d_a_obj_scannon.h:472
static void(daSCannon_c::* s_demoExeProc_WarpEnd[][2])()
Definition d_a_obj_scannon.h:457
void init()
Definition d_a_obj_scannon.cpp:715
s16 mEvtIdx
Definition d_a_obj_scannon.h:103
J3DModel * mpPtlModel
Definition d_a_obj_scannon.h:94
static void(daSCannon_c::* s_exeProc[])()
Definition d_a_obj_scannon.h:428
static void(daSCannon_c::* s_demoExeProc_FireTks[][2])()
Definition d_a_obj_scannon.h:462
void demoInitWarpEndWait()
Definition d_a_obj_scannon.cpp:648
void demoInitFinish()
Definition d_a_obj_scannon.cpp:605
void demoExeSet()
Definition d_a_obj_scannon.cpp:573
void setCannonRepair()
Definition d_a_obj_scannon.cpp:807
void demoExeWarpEndWait()
Definition d_a_obj_scannon.cpp:665
u16 mHeadJointNo
Definition d_a_obj_scannon.h:104
void demoInitSet()
Definition d_a_obj_scannon.cpp:566
void setModelMtx()
Definition d_a_obj_scannon.cpp:240
static const demoTable_s s_demoTable[]
Definition d_a_obj_scannon.h:517
int draw()
Definition d_a_obj_scannon.cpp:183
mDoExt_btkAnm * mpCrashBtk
Definition d_a_obj_scannon.h:95
void exeEmtLine()
Definition d_a_obj_scannon.cpp:783
void exeModeOrderEvt()
Definition d_a_obj_scannon.cpp:408
void delEmtAll()
Definition d_a_obj_scannon.cpp:799
JPABaseEmitter * mpEmtSmk[3]
Definition d_a_obj_scannon.h:113
int execute()
Definition d_a_obj_scannon.cpp:178
void demoModeInit(int)
Definition d_a_obj_scannon.cpp:539
u16 mCrashJointNo
Definition d_a_obj_scannon.h:105
void demoExeWarpEndMove()
Definition d_a_obj_scannon.cpp:685
void demoExeFire()
Definition d_a_obj_scannon.cpp:598
static void(daSCannon_c::* s_demoExeProc_FireFirst[][2])()
Definition d_a_obj_scannon.h:468
void exeModeEnd()
Definition d_a_obj_scannon.cpp:515
int createHeap()
Definition d_a_obj_scannon.cpp:255
u8 mDrawShadow
Definition d_a_obj_scannon.h:111
int Delete()
Definition d_a_obj_scannon.cpp:227
f32 mGroundY
Definition d_a_obj_scannon.h:97
void exeModeActionEvt()
Definition d_a_obj_scannon.cpp:479
mDoExt_btkAnm * mpPtlBtk
Definition d_a_obj_scannon.h:96
daSCannon_exeMode
Definition d_a_obj_scannon.h:22
@ MODE_END
Definition d_a_obj_scannon.h:26
@ MODE_ACTION_EVT
Definition d_a_obj_scannon.h:25
@ MODE_WAIT
Definition d_a_obj_scannon.h:23
@ MODE_ORDER_EVT
Definition d_a_obj_scannon.h:24
void setPtlModelMtx()
Definition d_a_obj_scannon.cpp:246
request_of_phase_process_class mZevPhase
Definition d_a_obj_scannon.h:87
void exeModeWait()
Definition d_a_obj_scannon.cpp:376
int mTimer
Definition d_a_obj_scannon.h:99
JPABaseEmitter * mpEmtApp[3]
Definition d_a_obj_scannon.h:112
void changeScene()
Definition d_a_obj_scannon.cpp:695
void demoInitMove()
Definition d_a_obj_scannon.cpp:581
daSCannon_demoType
Definition d_a_obj_scannon.h:29
@ DEMOTYPE_FIRE_TKS
Definition d_a_obj_scannon.h:32
@ DEMOTYPE_FIRE_SECOND
Definition d_a_obj_scannon.h:33
@ DEMOTYPE_WARP_END
Definition d_a_obj_scannon.h:30
@ DEMOTYPE_FIRE_FIRST
Definition d_a_obj_scannon.h:31
int mDemoFinishTimer
Definition d_a_obj_scannon.h:101
u8 mIsRepaired
Definition d_a_obj_scannon.h:107
u8 mIsPortal
Definition d_a_obj_scannon.h:110
void exeEmtRt(u16, int, JPABaseEmitter **)
Definition d_a_obj_scannon.cpp:759
int create()
Definition d_a_obj_scannon.cpp:85
u8 field_0x619
Definition d_a_obj_scannon.h:109
int getSw1()
Definition d_a_obj_scannon.h:76
int mStaffId
Definition d_a_obj_scannon.h:100
void demoInitFire()
Definition d_a_obj_scannon.cpp:594
void middleExe()
Definition d_a_obj_scannon.cpp:339
dBgW * mpBgW
Definition d_a_obj_scannon.h:92
int mLayerNo
Definition d_a_obj_scannon.h:102
void orderEvtInit()
Definition d_a_obj_scannon.cpp:353
J3DModel * mpModels[2]
Definition d_a_obj_scannon.h:93
void demoExeFinish()
Definition d_a_obj_scannon.cpp:631
virtual ~daSCannon_c()
Definition d_a_obj_scannon.cpp:54
Mtx mBgMtx
Definition d_a_obj_scannon.h:91
daSCannon_c()
Definition d_a_obj_scannon.cpp:43
void demoExe()
Definition d_a_obj_scannon.cpp:524
Definition f_op_actor.h:230
Definition m_Do_ext.h:151
Definition m_Do_ext.h:65
STATIC_ASSERT(sizeof(daSCannon_c)==0x638)
f32 Mtx[3][4]
Definition mtx.h:25
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_GetParamBit(void *ac, u8 shift, u8 bit)
Definition f_op_actor_mng.h:196
Definition d_a_obj_scannon.h:16
int cut_num
Definition d_a_obj_scannon.h:19
char ** cut_table
Definition d_a_obj_scannon.h:18
void(daSCannon_c::*(* demo_proc_table()
Definition c_phase.h:17