Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_volcball.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_VOLCBALL_H
2#define D_A_OBJ_VOLCBALL_H
3
5#include "d/d_event_lib.h"
6#include "d/d_cc_d.h"
7#include "d/d_bg_s_acch.h"
8#include "d/d_particle.h"
9
19public:
20 enum mode_e {
23 /* 2 */ MODE_STOP,
24 /* 3 */ MODE_QUAKE,
25 /* 4 */ MODE_ERUPT,
26 /* 5 */ MODE_END,
27 };
28
29 struct vball_s {
30 /* 0x000 */ J3DModel* mpModel;
31 /* 0x004 */ cXyz field_0x4;
32 /* 0x010 */ cXyz field_0x10;
33 /* 0x01C */ cXyz field_0x1c;
34 /* 0x028 */ cXyz field_0x28;
35 /* 0x034 */ csXyz field_0x34;
36 /* 0x03C */ cXyz field_0x3c;
37 /* 0x048 */ f32 field_0x48;
38 /* 0x04C */ f32 field_0x4c;
39 /* 0x050 */ f32 field_0x50;
40 /* 0x054 */ dBgS_ObjAcch mAcch;
41 /* 0x22C */ dCcD_Sph mSphCc;
42 /* 0x364 */ cXyz field_0x364;
43 /* 0x370 */ u32 field_0x370;
44 /* 0x374 */ s16 field_0x374;
45 /* 0x376 */ u8 field_0x376;
46 /* 0x378 */ csXyz field_0x378;
47 /* 0x37E */ u8 field_0x37E[0x0390 - 0x037E];
49 };
50
52 public:
53 /* 0x00 */ f32 mGravity;
54 /* 0x04 */ f32 mMaxFallSpeed;
55 /* 0x08 */ f32 mBallSpeedH;
57 /* 0x10 */ f32 mBallSetRandom;
58 /* 0x14 */ f32 mNormalScale;
59 /* 0x18 */ f32 mScaleRandValue;
60 /* 0x1C */ f32 mNormalInterval;
61 /* 0x20 */ f32 mRandInterval;
62 /* 0x24 */ f32 mNormalWaitTime;
63 /* 0x28 */ f32 mRandWaitTime;
67 /* 0x38 */ f32 mRandEruptTime;
68 /* 0x3C */ f32 mSearchBallFreq;
75 };
76
78
79 volc_param_c* getData();
80 void initBaseMtx();
81 void setBaseMtx();
82 int Create();
83 int CreateHeap();
84 int create();
85 int execute();
86 void action();
88 void initActionWarning();
89 void initActionSwWait();
90 void actionPlayerWait();
91 void actionSwWait();
92 void actionStop();
93 void actionWarning();
94 void actionEruption();
95 void initActionEnd();
96 void actionEnd();
97 void setEruptEffect(int);
98 void setFallEffect(int);
99 void endFallEffect(int);
100 bool createSearchBall();
101 bool createNormalBall();
102 int executeBall();
103 void startQuake();
104 int draw();
105 int _delete();
106
107 virtual bool eventStart();
108
109 u8 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); }
110 u8 getSwBit2() { return fopAcM_GetParamBit(this, 8, 8); }
111 u8 checkBigVolc() { return fopAcM_GetParamBit(this, 0x1F, 1); }
112 u8 getEvNo() { return fopAcM_GetParamBit(this, 0x10, 8); }
113
114 void setAction(u8 i_action) { mMode = i_action; }
115
116private:
118 /* 0x0584 */ dBgS_AcchCir mAcchCir;
119 /* 0x05C4 */ dCcD_Stts mCcStts;
120 /* 0x0600 */ u8 mIsBigVolc;
121 /* 0x0601 */ u8 mMode;
123 /* 0x0603 */ u8 field_0x603;
124 /* 0x0604 */ u32 mTime;
126 /* 0x060C */ vball_s mBall[9];
127 /* 0x28EC */ Mtx field_0x28ec;
128 /* 0x291C */ f32 field_0x291c;
129 /* 0x2920 */ u32 mBigVolcActorID;
130 /* 0x2924 */ u8 field_0x2924;
131 /* 0x2925 */ u8 field_0x2925;
132 /* 0x2926 */ u8 field_0x2926;
133};
134
136
137#endif /* D_A_OBJ_VOLCBALL_H */
Definition J3DModel.h:43
Definition c_sxyz.h:10
Definition d_bg_s_acch.h:15
Definition d_bg_s_acch.h:247
Definition d_cc_d.h:473
Definition d_cc_d.h:269
Definition d_event_lib.h:24
Definition d_particle.h:139
Definition d_a_obj_volcball.h:51
u8 mSearchBallCreateTime
Definition d_a_obj_volcball.h:73
f32 mNormalEruptTime
Definition d_a_obj_volcball.h:66
f32 mSearchBallRandScale
Definition d_a_obj_volcball.h:70
f32 mNormalScale
Definition d_a_obj_volcball.h:58
f32 mRandWaitTime
Definition d_a_obj_volcball.h:63
f32 mSearchBallShadowIntensity
Definition d_a_obj_volcball.h:72
f32 mMaxFallSpeed
Definition d_a_obj_volcball.h:54
f32 mBallSetRandom
Definition d_a_obj_volcball.h:57
f32 mBallSetShortRange
Definition d_a_obj_volcball.h:56
f32 mSearchBallBaseScale
Definition d_a_obj_volcball.h:69
f32 mRandEruptTime
Definition d_a_obj_volcball.h:67
f32 mRandWarningTime
Definition d_a_obj_volcball.h:65
f32 mNormalWaitTime
Definition d_a_obj_volcball.h:62
f32 mNormalWarningTime
Definition d_a_obj_volcball.h:64
u8 mPlayerSearchTime
Definition d_a_obj_volcball.h:74
f32 mNormalInterval
Definition d_a_obj_volcball.h:60
f32 mSearchBallSetHeight
Definition d_a_obj_volcball.h:71
f32 mSearchBallFreq
Definition d_a_obj_volcball.h:68
f32 mScaleRandValue
Definition d_a_obj_volcball.h:59
f32 mBallSpeedH
Definition d_a_obj_volcball.h:55
f32 mRandInterval
Definition d_a_obj_volcball.h:61
f32 mGravity
Definition d_a_obj_volcball.h:53
Volcano Ball.
Definition d_a_obj_volcball.h:18
u32 mBigVolcActorID
Definition d_a_obj_volcball.h:129
daObjVolcBall_c()
Definition d_a_obj_volcball.h:77
void actionPlayerWait()
Definition d_a_obj_volcball.cpp:182
int draw()
Definition d_a_obj_volcball.cpp:549
vball_s mBall[9]
Definition d_a_obj_volcball.h:126
void initActionWarning()
Definition d_a_obj_volcball.cpp:173
void setFallEffect(int)
Definition d_a_obj_volcball.cpp:361
void initActionSwWait()
Definition d_a_obj_volcball.cpp:178
volc_param_c * getData()
Definition d_a_obj_volcball.cpp:29
u32 mTime
Definition d_a_obj_volcball.h:124
int _delete()
Definition d_a_obj_volcball.cpp:577
dBgS_AcchCir mAcchCir
Definition d_a_obj_volcball.h:118
void actionEruption()
Definition d_a_obj_volcball.cpp:237
int CreateHeap()
Definition d_a_obj_volcball.cpp:107
bool createNormalBall()
Definition d_a_obj_volcball.cpp:419
virtual bool eventStart()
Definition d_a_obj_volcball.cpp:340
u8 getSwBit()
Definition d_a_obj_volcball.h:109
int create()
Definition d_a_obj_volcball.cpp:120
void actionEnd()
Definition d_a_obj_volcball.cpp:310
u8 field_0x603
Definition d_a_obj_volcball.h:123
void action()
Definition d_a_obj_volcball.cpp:159
u8 checkBigVolc()
Definition d_a_obj_volcball.h:111
void actionWarning()
Definition d_a_obj_volcball.cpp:213
f32 field_0x291c
Definition d_a_obj_volcball.h:128
int executeBall()
Definition d_a_obj_volcball.cpp:478
u32 mSearchBallCreateTimer
Definition d_a_obj_volcball.h:125
u8 getSwBit2()
Definition d_a_obj_volcball.h:110
void setBaseMtx()
Definition d_a_obj_volcball.cpp:51
int Create()
Definition d_a_obj_volcball.cpp:77
u8 mNormalBallCreateTimer
Definition d_a_obj_volcball.h:122
request_of_phase_process_class mPhase
Definition d_a_obj_volcball.h:117
u8 mMode
Definition d_a_obj_volcball.h:121
void initBaseMtx()
Definition d_a_obj_volcball.cpp:47
bool createSearchBall()
Definition d_a_obj_volcball.cpp:389
u8 getEvNo()
Definition d_a_obj_volcball.h:112
u8 field_0x2926
Definition d_a_obj_volcball.h:132
void startQuake()
Definition d_a_obj_volcball.cpp:541
dCcD_Stts mCcStts
Definition d_a_obj_volcball.h:119
void initActionEnd()
Definition d_a_obj_volcball.cpp:298
int execute()
Definition d_a_obj_volcball.cpp:146
u8 field_0x2925
Definition d_a_obj_volcball.h:131
void endFallEffect(int)
Definition d_a_obj_volcball.cpp:381
u8 field_0x2924
Definition d_a_obj_volcball.h:130
void actionSwWait()
Definition d_a_obj_volcball.cpp:194
u8 mIsBigVolc
Definition d_a_obj_volcball.h:120
void initActionPlayerWait()
Definition d_a_obj_volcball.cpp:169
void setAction(u8 i_action)
Definition d_a_obj_volcball.h:114
mode_e
Definition d_a_obj_volcball.h:20
@ MODE_PLAYER_WAIT
Definition d_a_obj_volcball.h:21
@ MODE_ERUPT
Definition d_a_obj_volcball.h:25
@ MODE_STOP
Definition d_a_obj_volcball.h:23
@ MODE_QUAKE
Definition d_a_obj_volcball.h:24
@ MODE_SWITCH_WAIT
Definition d_a_obj_volcball.h:22
@ MODE_END
Definition d_a_obj_volcball.h:26
void actionStop()
Definition d_a_obj_volcball.cpp:201
void setEruptEffect(int)
Definition d_a_obj_volcball.cpp:349
Mtx field_0x28ec
Definition d_a_obj_volcball.h:127
Definition f_op_actor.h:230
STATIC_ASSERT(sizeof(daObjVolcBall_c)==0x2928)
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 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 d_a_obj_volcball.h:29
f32 field_0x4c
Definition d_a_obj_volcball.h:38
dBgS_ObjAcch mAcch
Definition d_a_obj_volcball.h:40
cXyz field_0x364
Definition d_a_obj_volcball.h:42
cXyz field_0x28
Definition d_a_obj_volcball.h:34
f32 field_0x48
Definition d_a_obj_volcball.h:37
csXyz field_0x34
Definition d_a_obj_volcball.h:35
cXyz field_0x1c
Definition d_a_obj_volcball.h:33
u32 field_0x370
Definition d_a_obj_volcball.h:43
dCcD_Sph mSphCc
Definition d_a_obj_volcball.h:41
csXyz field_0x378
Definition d_a_obj_volcball.h:46
dPa_followEcallBack field_0x390[4]
Definition d_a_obj_volcball.h:48
cXyz field_0x3c
Definition d_a_obj_volcball.h:36
f32 field_0x50
Definition d_a_obj_volcball.h:39
cXyz field_0x4
Definition d_a_obj_volcball.h:31
u8 field_0x37E[0x0390 - 0x037E]
Definition d_a_obj_volcball.h:47
J3DModel * mpModel
Definition d_a_obj_volcball.h:30
cXyz field_0x10
Definition d_a_obj_volcball.h:32
u8 field_0x376
Definition d_a_obj_volcball.h:45
s16 field_0x374
Definition d_a_obj_volcball.h:44
Definition c_phase.h:17