sm64pc/src/game/behaviors/explosion.inc.c

27 lines
642 B
C

// explosion.c.inc
void bhv_explosion_init(void) {
create_sound_spawner(SOUND_GENERAL2_BOBOMB_EXPLOSION);
set_environmental_camera_shake(SHAKE_ENV_EXPLOSION);
o->oOpacity = 255;
}
void bhv_explosion_loop(void) {
s32 i;
if (o->oTimer == 9) {
if (find_water_level(o->oPosX, o->oPosZ) > o->oPosY) {
for (i = 0; i < 40; i++)
spawn_object(o, MODEL_WHITE_PARTICLE_SMALL, bhvBobombExplosionBubble);
} else
spawn_object(o, MODEL_SMOKE, bhvBobombBullyDeathSmoke);
o->activeFlags = 0;
}
o->oOpacity -= 14;
obj_scale((f32) o->oTimer / 9.0f + 1.0);
}