From: hgn Date: Sun, 26 Mar 2023 23:47:27 +0000 (+0100) Subject: skate audio fadeout X-Git-Url: https://harrygodden.com/git/?a=commitdiff_plain;h=1cc9e11790a81a4a5e3e4797afca35fc2eaa8c69;hp=919d1227839218c57430fe9cab8f74d594c7bd14;p=carveJwlIkooP6JGAAIwe30JlM.git skate audio fadeout --- diff --git a/player_skate.c b/player_skate.c index c6e5db6..df54c58 100644 --- a/player_skate.c +++ b/player_skate.c @@ -22,6 +22,20 @@ VG_STATIC void player__skate_bind( player_instance *player ) s->anim_grabs = skeleton_get_anim( sk, "grabs" ); } +VG_STATIC void player__skate_kill_audio( player_instance *player ) +{ + struct player_skate *s = &player->_skate; + + audio_lock(); + if( s->aud_main ) + s->aud_main = audio_channel_fadeout( s->aud_main, 0.1f ); + if( s->aud_air ) + s->aud_air = audio_channel_fadeout( s->aud_air, 0.1f ); + if( s->aud_slide ) + s->aud_slide = audio_channel_fadeout( s->aud_slide, 0.1f ); + audio_unlock(); +} + /* * Collision detection routines * @@ -636,6 +650,7 @@ VG_STATIC void skate_apply_trick_model( player_instance *player ) if( (v3_length2(s->state.trick_vel) >= 0.0001f ) && s->state.trick_time > 0.2f) { + player__skate_kill_audio( player ); player__dead_transition( player ); } @@ -967,6 +982,7 @@ VG_STATIC void player__skate_pre_update( player_instance *player ) angles[2] = 0.0f; player->holdout_time = 0.25f; + player__skate_kill_audio( player ); player__walk_transition( player, angles ); return; } @@ -2065,6 +2081,7 @@ begin_collision:; v3_lerp( start_co, player->rb.co, t, player->rb.co ); rb_update_transform( &player->rb ); + player__skate_kill_audio( player ); player__dead_transition( player ); return; }