Loading [MathJax]/extensions/tex2jax.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
d_bomb.h
Go to the documentation of this file.
1#ifndef D_D_BOMB_H
2#define D_D_BOMB_H
3
5
6class dBomb_c : public fopAc_ac_c {
7public:
29
30 bool checkStateCarry();
31 static bool checkFlowerBombWait(fopAc_ac_c*);
32 static bool checkWaterBomb(fopAc_ac_c*);
33 static bool checkInsectBombMove(fopAc_ac_c*);
34
35 virtual BOOL checkExplodeNow() { return FALSE; }
36 virtual void deleteBombAndEffect() {}
37 virtual void setCargoBombExplode() {}
38
39 bool checkStateExplode() { return fopAcM_GetParam(this) == 0; }
40
41 static bool checkBombActor(fopAc_ac_c* i_actor) {
42 return fopAcM_GetName(i_actor) == PROC_NBOMB;
43 }
44
46 return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 8, i_pos, -1, NULL, NULL, -1, NULL, NULL);
47 }
48
50 return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 0, i_pos, -1, NULL, NULL, -1, NULL, NULL);
51 }
52
54 return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 9, i_pos, -1, NULL, NULL, -1, NULL, NULL);
55 }
56
57 static fopAc_ac_c* createFlowerBomb(cXyz* i_pos, csXyz* i_angle, int param_2) {
58 return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 4, i_pos, param_2, i_angle, NULL, -1,
59 NULL, NULL);
60 }
61
63 return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 10, i_pos, -1, NULL, NULL, -1,
64 NULL, NULL);
65 }
66
67 static fopAc_ac_c* createEnemyBombBoomerang(cXyz* i_pos, csXyz* i_angle, int i_roomNo) {
68 return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 12, i_pos, i_roomNo, i_angle, NULL, -1,
69 NULL, NULL);
70 }
71
73 return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 18, i_pos, -1, NULL, NULL, -1, NULL,
74 NULL);
75 }
76
77 static fopAc_ac_c* createEnemyWaterBomb(cXyz* i_pos, csXyz* i_angle, int i_roomNo) {
78 return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 14, i_pos, i_roomNo, i_angle, NULL, -1,
79 NULL, NULL);
80 }
81
82 static fopAc_ac_c* createEnemyWaterBombHookshot(cXyz* i_pos, csXyz* i_angle, int i_roomNo) {
83 return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 16, i_pos, i_roomNo, i_angle, NULL, -1,
84 NULL, NULL);
85 }
86};
87
88#endif /* D_D_BOMB_H */
Definition d_bomb.h:6
bool checkStateCarry()
Definition d_bomb.cpp:9
static bool checkWaterBomb(fopAc_ac_c *)
Definition d_bomb.cpp:18
dBomb_PRM
Definition d_bomb.h:8
@ PRM_BOMB_CARGO_CARRY
Definition d_bomb.h:26
@ PRM_INSECT_BOMB_PLAYER
Definition d_bomb.h:19
@ PRM_ENEMY_BOMB_BOOMERANG
Definition d_bomb.h:21
@ PRM_NORMAL_BOMB_EXPLODE
Definition d_bomb.h:9
@ PRM_WATER_BOMB_EXPLODE
Definition d_bomb.h:27
@ PRM_ENEMY_WATER_BOMB_HOOKSHOT
Definition d_bomb.h:25
@ PRM_NORMAL_BOMB_PLAYER
Definition d_bomb.h:17
@ PRM_ENEMY_BOMB
Definition d_bomb.h:20
@ PRM_FLOWER_BOMB
Definition d_bomb.h:13
@ PRM_INSECT_BOMB_MOVE
Definition d_bomb.h:16
@ PRM_UNK_15
Definition d_bomb.h:24
@ PRM_WATER_BOMB_PLAYER
Definition d_bomb.h:18
@ PRM_BOMB_BOOMERANG_MOVE
Definition d_bomb.h:14
@ PRM_BOMB_HOOKSHOT
Definition d_bomb.h:11
@ PRM_BOMB_WAIT
Definition d_bomb.h:12
@ PRM_ENEMY_WATER_BOMB
Definition d_bomb.h:23
@ PRM_ENEMY_BOMB_HOOKSHOT
Definition d_bomb.h:22
@ PRM_BOMB_CARRY
Definition d_bomb.h:10
@ PRM_ENEMY_BOMB_BOOMERANG_MOVE
Definition d_bomb.h:15
static fopAc_ac_c * createNormalBombExplode(cXyz *i_pos)
Definition d_bomb.h:49
virtual void setCargoBombExplode()
Definition d_bomb.h:37
bool checkStateExplode()
Definition d_bomb.h:39
static fopAc_ac_c * createWaterBombExplode(cXyz *i_pos)
Definition d_bomb.h:72
static fopAc_ac_c * createEnemyBombBoomerang(cXyz *i_pos, csXyz *i_angle, int i_roomNo)
Definition d_bomb.h:67
static bool checkFlowerBombWait(fopAc_ac_c *)
Definition d_bomb.cpp:14
static bool checkInsectBombMove(fopAc_ac_c *)
Definition d_bomb.cpp:22
virtual BOOL checkExplodeNow()
Definition d_bomb.h:35
static fopAc_ac_c * createNormalBombPlayer(cXyz *i_pos)
Definition d_bomb.h:45
static bool checkBombActor(fopAc_ac_c *i_actor)
Definition d_bomb.h:41
static fopAc_ac_c * createEnemyWaterBombHookshot(cXyz *i_pos, csXyz *i_angle, int i_roomNo)
Definition d_bomb.h:82
static fopAc_ac_c * createFlowerBomb(cXyz *i_pos, csXyz *i_angle, int param_2)
Definition d_bomb.h:57
static fopAc_ac_c * createWaterBombPlayer(cXyz *i_pos)
Definition d_bomb.h:53
static fopAc_ac_c * createInsectBombPlayer(cXyz *i_pos)
Definition d_bomb.h:62
virtual void deleteBombAndEffect()
Definition d_bomb.h:36
static fopAc_ac_c * createEnemyWaterBomb(cXyz *i_pos, csXyz *i_angle, int i_roomNo)
Definition d_bomb.h:77
@ PROC_NBOMB
Definition d_procname.h:550
fopAc_ac_c * fopAcM_fastCreate(s16 i_procName, u32 i_parameters, const cXyz *i_pos, int i_roomNo, const csXyz *i_angle, const cXyz *i_scale, s8 i_subtype, createFunc i_createFunc, void *i_createFuncData)
Definition f_op_actor_mng.cpp:181
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:183
s16 fopAcM_GetName(void *i_actor)
Definition f_op_actor_mng.h:147
Definition d_a_hozelda.cpp:20
Definition d_a_hozelda.cpp:161
Definition d_a_hozelda.cpp:74
int BOOL
Definition types.h:30