Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
Functions | Variables
water_bomb.inc.c File Reference

Functions

void bhv_water_bomb_spawner_update (void)
 Update function for bhvWaterBombSpawner. More...
 
static void water_bomb_spawn_explode_particles (s8 offsetY, s8 forwardVelRange, s8 velYBase)
 Spawn particles when the water bomb explodes. More...
 
static void water_bomb_act_init (void)
 Enter the drop action with -40 y vel. More...
 
static void water_bomb_act_drop (void)
 Explode on impact, and otherwise bounce a few times on the ground and then explode. More...
 
static void water_bomb_act_explode (void)
 Spawn particles, then despawn. More...
 
static void water_bomb_act_shot_from_cannon (void)
 Despawn after 100 frames. More...
 
void bhv_water_bomb_update (void)
 Update function for bhvWaterBomb. More...
 
void bhv_water_bomb_shadow_update (void)
 Update function for bhvWaterBombShadow. More...
 

Variables

static struct ObjectHitbox sWaterBombHitbox
 Behaviors for bhvWaterBombSpawner, bhvWaterBomb, and bhvWaterBombShadow. More...
 
static struct SpawnParticlesInfo sWaterBombExplodeParticles
 
static struct SpawnParticlesInfo sWaterBombCannonParticle
 

Function Documentation

◆ bhv_water_bomb_shadow_update()

void bhv_water_bomb_shadow_update ( void  )

Update function for bhvWaterBombShadow.

Despawn when the parent water bomb does.

◆ bhv_water_bomb_spawner_update()

void bhv_water_bomb_spawner_update ( void  )

Update function for bhvWaterBombSpawner.

Spawn water bombs targeting mario when he comes in range.

◆ bhv_water_bomb_update()

void bhv_water_bomb_update ( void  )

Update function for bhvWaterBomb.

◆ water_bomb_act_drop()

static void water_bomb_act_drop ( void  )
static

Explode on impact, and otherwise bounce a few times on the ground and then explode.

◆ water_bomb_act_explode()

static void water_bomb_act_explode ( void  )
static

Spawn particles, then despawn.

This action informs the water bomb shadow to despawn as well.

◆ water_bomb_act_init()

static void water_bomb_act_init ( void  )
static

Enter the drop action with -40 y vel.

◆ water_bomb_act_shot_from_cannon()

static void water_bomb_act_shot_from_cannon ( void  )
static

Despawn after 100 frames.

◆ water_bomb_spawn_explode_particles()

static void water_bomb_spawn_explode_particles ( s8  offsetY,
s8  forwardVelRange,
s8  velYBase 
)
static

Spawn particles when the water bomb explodes.

Variable Documentation

◆ sWaterBombCannonParticle

struct SpawnParticlesInfo sWaterBombCannonParticle
static
Initial value:
= {
0,
1,
236,
20,
5,
0,
0,
-2,
0,
20.0f,
5.0f,
}
#define MODEL_BUBBLE
Definition: model_ids.h:496

◆ sWaterBombExplodeParticles

struct SpawnParticlesInfo sWaterBombExplodeParticles
static
Initial value:
= {
0,
5,
20,
20,
60,
10,
10,
-2,
0,
35.0f,
10.0f,
}
#define MODEL_BUBBLE
Definition: model_ids.h:496

◆ sWaterBombHitbox

struct ObjectHitbox sWaterBombHitbox
static
Initial value:
= {
25,
1,
99,
0,
80,
50,
60,
50,
}
#define INTERACT_MR_BLIZZARD
Definition: interaction.h:27

Behaviors for bhvWaterBombSpawner, bhvWaterBomb, and bhvWaterBombShadow.

The spawner spawns the water bombs that fall on mario from above. These ones start in the WATER_BOMB_ACT_INIT action. Water bombs can also be shot by cannons. These ones stay in the WATER_BOMB_ACT_SHOT_FROM_CANNON action. The water bomb shadow is only spawned by water bomb spawners. Hitbox for water bombs that are spawned by a water bomb spawner. The water bombs that are shot from cannons are intangible.