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 /* 80D21FA8 */ ~vball_s() {}
31 /* 80D2214C */ vball_s() {}
32
33 /* 0x000 */ J3DModel* mpModel;
34 /* 0x004 */ cXyz field_0x4;
35 /* 0x010 */ cXyz field_0x10;
36 /* 0x01C */ cXyz field_0x1c;
37 /* 0x028 */ cXyz field_0x28;
38 /* 0x034 */ csXyz field_0x34;
39 /* 0x03C */ cXyz field_0x3c;
40 /* 0x048 */ f32 field_0x48;
41 /* 0x04C */ f32 field_0x4c;
42 /* 0x050 */ f32 field_0x50;
43 /* 0x054 */ dBgS_ObjAcch mAcch;
44 /* 0x22C */ dCcD_Sph mSphCc;
45 /* 0x364 */ cXyz field_0x364;
46 /* 0x370 */ u32 field_0x370;
47 /* 0x374 */ s16 field_0x374;
48 /* 0x376 */ u8 field_0x376;
49 /* 0x378 */ csXyz field_0x378;
50 /* 0x37E */ u8 field_0x37E[0x0390 - 0x037E];
52 };
53
55 public:
56 /* 0x00 */ f32 mGravity;
57 /* 0x04 */ f32 mMaxFallSpeed;
58 /* 0x08 */ f32 mBallSpeedH;
60 /* 0x10 */ f32 mBallSetRandom;
61 /* 0x14 */ f32 mNormalScale;
62 /* 0x18 */ f32 mScaleRandValue;
63 /* 0x1C */ f32 mNormalInterval;
64 /* 0x20 */ f32 mRandInterval;
65 /* 0x24 */ f32 mNormalWaitTime;
66 /* 0x28 */ f32 mRandWaitTime;
70 /* 0x38 */ f32 mRandEruptTime;
71 /* 0x3C */ f32 mSearchBallFreq;
78 };
79
81
82 /* 80D21B18 */ volc_param_c* getData();
83 /* 80D21BA0 */ void initBaseMtx();
84 /* 80D21BC0 */ void setBaseMtx();
85 /* 80D21C40 */ int Create();
86 /* 80D21D80 */ int CreateHeap();
87 /* 80D21E28 */ int create();
88 /* 80D22424 */ int execute();
89 /* 80D22484 */ void action();
90 /* 80D22570 */ void initActionPlayerWait();
91 /* 80D2257C */ void initActionWarning();
92 /* 80D225A4 */ void initActionSwWait();
93 /* 80D225B0 */ void actionPlayerWait();
94 /* 80D2267C */ void actionSwWait();
95 /* 80D22724 */ void actionStop();
96 /* 80D227E4 */ void actionWarning();
97 /* 80D22944 */ void actionEruption();
98 /* 80D22C6C */ void initActionEnd();
99 /* 80D22CD4 */ void actionEnd();
100 /* 80D22E24 */ void setEruptEffect(int);
101 /* 80D22ED4 */ void setFallEffect(int);
102 /* 80D22FCC */ void endFallEffect(int);
103 /* 80D23034 */ bool createSearchBall();
104 /* 80D23188 */ bool createNormalBall();
105 /* 80D23438 */ int executeBall();
106 /* 80D23868 */ void startQuake();
107 /* 80D23904 */ int draw();
108 /* 80D23A0C */ int _delete();
109
110 /* 80D23B24 */ virtual ~daObjVolcBall_c() {}
111 /* 80D22DDC */ virtual BOOL eventStart();
112
113 u8 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); }
114 u8 getSwBit2() { return fopAcM_GetParamBit(this, 8, 8); }
115 u8 checkBigVolc() { return fopAcM_GetParamBit(this, 0x1F, 1); }
116 u8 getEvNo() { return fopAcM_GetParamBit(this, 0x10, 8); }
117
119
120private:
122 /* 0x0584 */ dBgS_AcchCir mAcchCir;
123 /* 0x05C4 */ dCcD_Stts mCcStts;
124 /* 0x0600 */ u8 mIsBigVolc;
125 /* 0x0601 */ u8 mMode;
127 /* 0x0603 */ u8 field_0x603;
128 /* 0x0604 */ u32 mTime;
130 /* 0x060C */ vball_s mBall[9];
131 /* 0x28EC */ Mtx field_0x28ec;
132 /* 0x291C */ f32 field_0x291c;
133 /* 0x2920 */ u32 mBigVolcActorID;
134 /* 0x2924 */ u8 field_0x2924;
135 /* 0x2925 */ u8 field_0x2925;
136 /* 0x2926 */ u8 field_0x2926;
137};
138
140
141#endif /* D_A_OBJ_VOLCBALL_H */
T cLib_calcTimer(T *value)
Definition c_lib.h:74
Definition d_cc_d.h:432
Definition d_event_lib.h:24
Definition d_particle.h:74
Definition d_a_obj_volcball.h:54
u8 mSearchBallCreateTime
Definition d_a_obj_volcball.h:76
f32 mNormalEruptTime
Definition d_a_obj_volcball.h:69
f32 mSearchBallRandScale
Definition d_a_obj_volcball.h:73
f32 mNormalScale
Definition d_a_obj_volcball.h:61
f32 mRandWaitTime
Definition d_a_obj_volcball.h:66
f32 mSearchBallShadowIntensity
Definition d_a_obj_volcball.h:75
f32 mMaxFallSpeed
Definition d_a_obj_volcball.h:57
f32 mBallSetRandom
Definition d_a_obj_volcball.h:60
f32 mBallSetShortRange
Definition d_a_obj_volcball.h:59
f32 mSearchBallBaseScale
Definition d_a_obj_volcball.h:72
f32 mRandEruptTime
Definition d_a_obj_volcball.h:70
f32 mRandWarningTime
Definition d_a_obj_volcball.h:68
f32 mNormalWaitTime
Definition d_a_obj_volcball.h:65
f32 mNormalWarningTime
Definition d_a_obj_volcball.h:67
u8 mPlayerSearchTime
Definition d_a_obj_volcball.h:77
f32 mNormalInterval
Definition d_a_obj_volcball.h:63
f32 mSearchBallSetHeight
Definition d_a_obj_volcball.h:74
f32 mSearchBallFreq
Definition d_a_obj_volcball.h:71
f32 mScaleRandValue
Definition d_a_obj_volcball.h:62
f32 mBallSpeedH
Definition d_a_obj_volcball.h:58
f32 mRandInterval
Definition d_a_obj_volcball.h:64
f32 mGravity
Definition d_a_obj_volcball.h:56
Volcano Ball.
Definition d_a_obj_volcball.h:18
u32 mBigVolcActorID
Definition d_a_obj_volcball.h:133
daObjVolcBall_c()
Definition d_a_obj_volcball.h:80
void actionPlayerWait()
Definition d_a_obj_volcball.cpp:216
int draw()
Definition d_a_obj_volcball.cpp:613
vball_s mBall[9]
Definition d_a_obj_volcball.h:130
void initActionWarning()
Definition d_a_obj_volcball.cpp:205
void setFallEffect(int)
Definition d_a_obj_volcball.cpp:418
void initActionSwWait()
Definition d_a_obj_volcball.cpp:211
volc_param_c * getData()
Definition d_a_obj_volcball.cpp:49
u32 mTime
Definition d_a_obj_volcball.h:128
int _delete()
Definition d_a_obj_volcball.cpp:642
dBgS_AcchCir mAcchCir
Definition d_a_obj_volcball.h:122
virtual ~daObjVolcBall_c()
Definition d_a_obj_volcball.h:110
void actionEruption()
Definition d_a_obj_volcball.cpp:279
int CreateHeap()
Definition d_a_obj_volcball.cpp:134
bool createNormalBall()
Definition d_a_obj_volcball.cpp:480
u8 getSwBit()
Definition d_a_obj_volcball.h:113
int create()
Definition d_a_obj_volcball.cpp:148
void actionEnd()
Definition d_a_obj_volcball.cpp:362
u8 field_0x603
Definition d_a_obj_volcball.h:127
void action()
Definition d_a_obj_volcball.cpp:189
u8 checkBigVolc()
Definition d_a_obj_volcball.h:115
void actionWarning()
Definition d_a_obj_volcball.cpp:252
f32 field_0x291c
Definition d_a_obj_volcball.h:132
int executeBall()
Definition d_a_obj_volcball.cpp:540
u32 mSearchBallCreateTimer
Definition d_a_obj_volcball.h:129
u8 getSwBit2()
Definition d_a_obj_volcball.h:114
void setBaseMtx()
Definition d_a_obj_volcball.cpp:75
int Create()
Definition d_a_obj_volcball.cpp:103
u8 mNormalBallCreateTimer
Definition d_a_obj_volcball.h:126
request_of_phase_process_class mPhase
Definition d_a_obj_volcball.h:121
u8 mMode
Definition d_a_obj_volcball.h:125
void initBaseMtx()
Definition d_a_obj_volcball.cpp:70
bool createSearchBall()
Definition d_a_obj_volcball.cpp:449
u8 getEvNo()
Definition d_a_obj_volcball.h:116
u8 field_0x2926
Definition d_a_obj_volcball.h:136
void startQuake()
Definition d_a_obj_volcball.cpp:604
dCcD_Stts mCcStts
Definition d_a_obj_volcball.h:123
void initActionEnd()
Definition d_a_obj_volcball.cpp:349
int execute()
Definition d_a_obj_volcball.cpp:175
u8 field_0x2925
Definition d_a_obj_volcball.h:135
void endFallEffect(int)
Definition d_a_obj_volcball.cpp:440
virtual BOOL eventStart()
Definition d_a_obj_volcball.cpp:393
u8 field_0x2924
Definition d_a_obj_volcball.h:134
void actionSwWait()
Definition d_a_obj_volcball.cpp:230
u8 mIsBigVolc
Definition d_a_obj_volcball.h:124
void initActionPlayerWait()
Definition d_a_obj_volcball.cpp:200
void setAction(u8 i_action)
Definition d_a_obj_volcball.h:118
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:238
void setEruptEffect(int)
Definition d_a_obj_volcball.cpp:404
Mtx field_0x28ec
Definition d_a_obj_volcball.h:131
STATIC_ASSERT(sizeof(daObjVolcBall_c)==0x2928)
u32 fopAcM_GetParamBit(void *ac, u8 shift, u8 bit)
Definition f_op_actor_mng.h:228
f32 Mtx[3][4]
Definition mtx.h:15
Definition d_a_ep.cpp:155
Definition d_a_hozelda.cpp:20
Definition d_a_ep.cpp:66
Definition d_a_npc_fguard.cpp:98
Definition d_a_npc_fguard.cpp:94
Definition d_a_npc_fguard.cpp:70
Definition d_a_obj_volcball.h:29
f32 field_0x4c
Definition d_a_obj_volcball.h:41
dBgS_ObjAcch mAcch
Definition d_a_obj_volcball.h:43
cXyz field_0x364
Definition d_a_obj_volcball.h:45
~vball_s()
Definition d_a_obj_volcball.h:30
cXyz field_0x28
Definition d_a_obj_volcball.h:37
f32 field_0x48
Definition d_a_obj_volcball.h:40
csXyz field_0x34
Definition d_a_obj_volcball.h:38
cXyz field_0x1c
Definition d_a_obj_volcball.h:36
u32 field_0x370
Definition d_a_obj_volcball.h:46
dCcD_Sph mSphCc
Definition d_a_obj_volcball.h:44
csXyz field_0x378
Definition d_a_obj_volcball.h:49
dPa_followEcallBack field_0x390[4]
Definition d_a_obj_volcball.h:51
vball_s()
Definition d_a_obj_volcball.h:31
cXyz field_0x3c
Definition d_a_obj_volcball.h:39
f32 field_0x50
Definition d_a_obj_volcball.h:42
cXyz field_0x4
Definition d_a_obj_volcball.h:34
u8 field_0x37E[0x0390 - 0x037E]
Definition d_a_obj_volcball.h:50
J3DModel * mpModel
Definition d_a_obj_volcball.h:33
cXyz field_0x10
Definition d_a_obj_volcball.h:35
u8 field_0x376
Definition d_a_obj_volcball.h:48
s16 field_0x374
Definition d_a_obj_volcball.h:47
Definition d_a_ep.cpp:19
Definition d_a_hozelda.cpp:14
int BOOL
Definition types.h:27
unsigned long u32
Definition types.h:10
float f32
Definition types.h:22
signed short s16
Definition types.h:5
unsigned char u8
Definition types.h:8