Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_volcbom.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_VOLCBOM_H
2#define D_A_OBJ_VOLCBOM_H
3
4#include "d/d_bg_s_acch.h"
6#include "d/d_cc_d.h"
7#include "d/d_msg_flow.h"
9
19public:
20 typedef void (daObjVolcBom_c::*modeFunc)();
21 typedef void (daObjVolcBom_c::*actionFunc)();
22
29
38
39 void initBaseMtx();
40 void setBaseMtx();
41 int Create();
42 int CreateHeap();
43 int create1st();
44 int Execute(Mtx**);
45 void mode_proc_call();
47 void modeWaitAppear();
48 void init_modeFall();
49 void modeFall();
52 void init_modeWait();
53 void modeWait();
54 void clrDzb();
55 void setDzb();
56 void appear();
57 void disappear();
58 void setSmoke();
59 bool checkTalkDistance();
60 void calcMidnaWaitPos();
61 void setSrcEffect();
62 void setBindEffect();
63 void followBindEffect();
64 void endBindEffect();
65 void followSrcEffect();
66 void endSrcEffect();
67 void event_proc_call();
68 void orderZHintEvent();
69 void actionWait();
70 void actionOrderEvent();
72 void actionTalkEvent();
73 void actionWarpEvent();
74 void actionDead();
75 void demoProc();
76 void calcObjPos();
77 int Draw();
78 int Delete();
79
80 void startFall() { field_0x95f = 1; }
81 void startSearch() { field_0x960 = 1; }
83 u8 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); }
84 u8 getArg0() { return fopAcM_GetParamBit(this, 16, 8); }
85 u16 getMsgID() { return mMsgID; }
86
87private:
89 /* 0x5A8 */ J3DModel* mModel1;
90 /* 0x5AC */ mDoExt_btkAnm* mBtk1;
91 /* 0x5B0 */ mDoExt_brkAnm* mBrk1;
92 /* 0x5B4 */ mDoExt_bckAnm* mBck1;
93 /* 0x5B8 */ J3DModel* mModel2;
94 /* 0x5BC */ mDoExt_btkAnm* mBtk2;
95 /* 0x5C0 */ mDoExt_brkAnm* mBrk2;
97 /* 0x5C8 */ u8 mSmokeTimer;
98 /* 0x5C9 */ bool field_0x5c9;
99 /* 0x5CA */ u8 mAction;
100 /* 0x5CB */ bool field_0x5cb;
101 /* 0x5CC */ dBgS_ObjAcch mAcch;
103 /* 0x7E4 */ dCcD_Stts mStts;
104 /* 0x820 */ dCcD_Cyl mCyl;
105 /* 0x95C */ u8 mDemoTimer;
106 /* 0x95D */ u8 mWaitAppearState;
107 /* 0x95E */ bool field_0x95e;
108 /* 0x95F */ u8 field_0x95f;
109 /* 0x960 */ bool field_0x960;
110 /* 0x961 */ u8 mMode;
111 /* 0x962 */ bool misAppearing;
112 /* 0x963 */ bool mIsMsgIDInit;
113 /* 0x964 */ u16 mMsgID;
114 /* 0x968 */ cXyz mLightPosWorld;
115 /* 0x974 */ u32 mShadowID;
116 /* 0x978 */ f32 field_0x978;
117 /* 0x97C */ f32 mBaseScale;
118 /* 0x980 */ cXyz mWarpSEPos;
119 /* 0x98C */ cXyz mWaitSEPos;
120 /* 0x998 */ cXyz mMidnaWaitPos;
121 /* 0x9A4 */ dMsgFlow_c mMsgFlow;
122 /* 0x9F0 */ s16 mEventId;
123 /* 0x9F4 */ int mStaffId;
127 /* 0xA18 */ u16 mEffectJntNo;
128 /* 0xA1A */ bool field_0xa1a;
129 /* 0xA1B */ u8 mNaviTimer;
130};
131
133
134#if DEBUG
136public:
138 void genMessage(JORMContext* ctx);
139
140 /* 0x04 */ u8 field_0x04;
141 /* 0x08 */ f32 field_0x08;
142 /* 0x0C */ u8 field_0x0c[0x14 - 0x0c];
143 /* 0x14 */ u8 field_0x14;
144 /* 0x15 */ u8 field_0x15;
145 /* 0x18 */ f32 field_0x18;
146 /* 0x1C */ f32 field_0x1c;
147 /* 0x20 */ f32 field_0x20;
148 /* 0x24 */ f32 field_0x24;
149 /* 0x28 */ u8 field_0x28[0x34 - 0x28];
150 /* 0x34 */ u8 field_0x34;
151};
152#endif
153
154
155#endif /* D_A_OBJ_VOLCBOM_H */
Definition J3DModel.h:43
Definition JORMContext.h:120
Definition JPAEmitter.h:101
Definition d_bg_s_acch.h:15
Definition d_bg_s_movebg_actor.h:11
Definition d_bg_s_acch.h:247
Definition d_cc_d.h:461
Definition d_cc_d.h:269
Definition d_msg_flow.h:49
Definition d_a_obj_volcbom.h:135
u8 field_0x15
Definition d_a_obj_volcbom.h:144
f32 field_0x24
Definition d_a_obj_volcbom.h:148
f32 field_0x08
Definition d_a_obj_volcbom.h:141
u8 field_0x28[0x34 - 0x28]
Definition d_a_obj_volcbom.h:149
u8 field_0x14
Definition d_a_obj_volcbom.h:143
f32 field_0x1c
Definition d_a_obj_volcbom.h:146
f32 field_0x20
Definition d_a_obj_volcbom.h:147
f32 field_0x18
Definition d_a_obj_volcbom.h:145
u8 field_0x0c[0x14 - 0x0c]
Definition d_a_obj_volcbom.h:142
daObjVolcBom_HIO_c()
Definition d_a_obj_volcbom.cpp:19
u8 field_0x04
Definition d_a_obj_volcbom.h:140
u8 field_0x34
Definition d_a_obj_volcbom.h:150
void genMessage(JORMContext *ctx)
Definition d_a_obj_volcbom.cpp:23
Volcano Bomb?
Definition d_a_obj_volcbom.h:18
u8 mNaviTimer
Definition d_a_obj_volcbom.h:129
void modeWait()
Definition d_a_obj_volcbom.cpp:414
void setBindEffect()
Definition d_a_obj_volcbom.cpp:492
void clrDzb()
Definition d_a_obj_volcbom.cpp:422
void followSrcEffect()
Definition d_a_obj_volcbom.cpp:520
u8 field_0x95f
Definition d_a_obj_volcbom.h:108
void demoProc()
Definition d_a_obj_volcbom.cpp:680
void modeFall()
Definition d_a_obj_volcbom.cpp:358
void mode_proc_call()
Definition d_a_obj_volcbom.cpp:251
cXyz mMidnaWaitPos
Definition d_a_obj_volcbom.h:120
void startFall()
Definition d_a_obj_volcbom.h:80
void actionWarpEvent()
Definition d_a_obj_volcbom.cpp:671
void actionDead()
Definition d_a_obj_volcbom.cpp:678
cXyz mWarpSEPos
Definition d_a_obj_volcbom.h:118
void endBindEffect()
Definition d_a_obj_volcbom.cpp:510
bool field_0x95e
Definition d_a_obj_volcbom.h:107
JPABaseEmitter * mBindEmitters[4]
Definition d_a_obj_volcbom.h:126
J3DModel * mModel1
Definition d_a_obj_volcbom.h:89
f32 mBaseScale
Definition d_a_obj_volcbom.h:117
void actionTalkEvent()
Definition d_a_obj_volcbom.cpp:659
void setSrcEffect()
Definition d_a_obj_volcbom.cpp:474
J3DModel * mModel2
Definition d_a_obj_volcbom.h:93
u8 mMode
Definition d_a_obj_volcbom.h:110
void init_modeWaitAppear()
Definition d_a_obj_volcbom.cpp:280
mDoExt_brkAnm * mBrk2
Definition d_a_obj_volcbom.h:95
int Execute(Mtx **)
Definition d_a_obj_volcbom.cpp:223
int Draw()
Definition d_a_obj_volcbom.cpp:783
void actionOrderATalkEvent()
Definition d_a_obj_volcbom.cpp:631
void actionWait()
Definition d_a_obj_volcbom.cpp:591
void orderZHintEvent()
Definition d_a_obj_volcbom.cpp:573
u16 mEffectJntNo
Definition d_a_obj_volcbom.h:127
dCcD_Stts mStts
Definition d_a_obj_volcbom.h:103
JPABaseEmitter * mStartEmitters[3]
Definition d_a_obj_volcbom.h:124
dBgS_ObjAcch mAcch
Definition d_a_obj_volcbom.h:101
void appear()
Definition d_a_obj_volcbom.cpp:434
void event_proc_call()
Definition d_a_obj_volcbom.cpp:552
void(daObjVolcBom_c::*) actionFunc()
Definition d_a_obj_volcbom.h:21
int Delete()
Definition d_a_obj_volcbom.cpp:837
u8 mAction
Definition d_a_obj_volcbom.h:99
void calcObjPos()
Definition d_a_obj_volcbom.cpp:773
cXyz mWaitSEPos
Definition d_a_obj_volcbom.h:119
void setAction(u8 action)
Definition d_a_obj_volcbom.h:82
u16 mMsgID
Definition d_a_obj_volcbom.h:113
JPABaseEmitter * mSmokeEmitter
Definition d_a_obj_volcbom.h:96
dBgS_AcchCir mAcchCir
Definition d_a_obj_volcbom.h:102
void init_modeFall()
Definition d_a_obj_volcbom.cpp:336
int create1st()
Definition d_a_obj_volcbom.cpp:194
request_of_phase_process_class mPhase
Definition d_a_obj_volcbom.h:88
mDoExt_btkAnm * mBtk1
Definition d_a_obj_volcbom.h:90
cXyz mLightPosWorld
Definition d_a_obj_volcbom.h:114
bool field_0x960
Definition d_a_obj_volcbom.h:109
void disappear()
Definition d_a_obj_volcbom.cpp:438
u32 mShadowID
Definition d_a_obj_volcbom.h:115
mDoExt_btkAnm * mBtk2
Definition d_a_obj_volcbom.h:94
u16 getMsgID()
Definition d_a_obj_volcbom.h:85
bool checkTalkDistance()
Definition d_a_obj_volcbom.cpp:454
u8 mSmokeTimer
Definition d_a_obj_volcbom.h:97
Action
Definition d_a_obj_volcbom.h:30
@ ACTION_WAIT
Definition d_a_obj_volcbom.h:31
@ ACTION_TALK_EVENT
Definition d_a_obj_volcbom.h:33
@ ACTION_WARP_EVENT
Definition d_a_obj_volcbom.h:34
@ ACTION_ORDER_A_TALK_EVENT
Definition d_a_obj_volcbom.h:35
@ ACTION_DEAD
Definition d_a_obj_volcbom.h:36
@ ACTION_ORDER_EVENT
Definition d_a_obj_volcbom.h:32
s16 mEventId
Definition d_a_obj_volcbom.h:122
void initBaseMtx()
Definition d_a_obj_volcbom.cpp:38
Mode
Definition d_a_obj_volcbom.h:23
@ MODE_WAIT
Definition d_a_obj_volcbom.h:27
@ MODE_FALL
Definition d_a_obj_volcbom.h:25
@ MODE_WAIT_APPEAR
Definition d_a_obj_volcbom.h:24
@ MODE_WAIT_END_FALL_DEMO
Definition d_a_obj_volcbom.h:26
void init_modeWaitEndFallDemo()
Definition d_a_obj_volcbom.cpp:391
bool field_0x5c9
Definition d_a_obj_volcbom.h:98
void followBindEffect()
Definition d_a_obj_volcbom.cpp:502
bool field_0xa1a
Definition d_a_obj_volcbom.h:128
mDoExt_brkAnm * mBrk1
Definition d_a_obj_volcbom.h:91
bool field_0x5cb
Definition d_a_obj_volcbom.h:100
u8 getSwbit()
Definition d_a_obj_volcbom.h:83
bool mIsMsgIDInit
Definition d_a_obj_volcbom.h:112
JPABaseEmitter * mDisappearEmitters[1]
Definition d_a_obj_volcbom.h:125
void setDzb()
Definition d_a_obj_volcbom.cpp:428
u8 mDemoTimer
Definition d_a_obj_volcbom.h:105
void modeWaitEndFallDemo()
Definition d_a_obj_volcbom.cpp:396
void setSmoke()
Definition d_a_obj_volcbom.cpp:442
void modeWaitAppear()
Definition d_a_obj_volcbom.cpp:288
void setBaseMtx()
Definition d_a_obj_volcbom.cpp:44
void init_modeWait()
Definition d_a_obj_volcbom.cpp:406
void startSearch()
Definition d_a_obj_volcbom.h:81
u8 getArg0()
Definition d_a_obj_volcbom.h:84
void(daObjVolcBom_c::*) modeFunc()
Definition d_a_obj_volcbom.h:20
dCcD_Cyl mCyl
Definition d_a_obj_volcbom.h:104
void calcMidnaWaitPos()
Definition d_a_obj_volcbom.cpp:465
void endSrcEffect()
Definition d_a_obj_volcbom.cpp:534
mDoExt_bckAnm * mBck1
Definition d_a_obj_volcbom.h:92
u8 mWaitAppearState
Definition d_a_obj_volcbom.h:106
bool misAppearing
Definition d_a_obj_volcbom.h:111
int mStaffId
Definition d_a_obj_volcbom.h:123
void actionOrderEvent()
Definition d_a_obj_volcbom.cpp:616
f32 field_0x978
Definition d_a_obj_volcbom.h:116
int CreateHeap()
Definition d_a_obj_volcbom.cpp:139
int Create()
Definition d_a_obj_volcbom.cpp:88
dMsgFlow_c mMsgFlow
Definition d_a_obj_volcbom.h:121
Definition m_Do_ext.h:151
Definition m_Do_ext.h:94
Definition m_Do_ext.h:65
Definition m_Do_hostIO.h:27
static void action(b_bh_class *i_this)
Definition d_a_b_bh.cpp:1017
STATIC_ASSERT(sizeof(daObjVolcBom_c)==0xa1c)
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 c_xyz.h:7
Definition c_phase.h:17