X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_audio.h;h=bfd93c4af0446f0174f53f3e9882d6542c960317;hb=98b9bcf0e10bc02cf679d03fa269613e140ba878;hp=3c86e3bde847df75fbccdea7e9701e95e909e29e;hpb=75703291fbf045008a3b1ebb20fc46a2617b6b3b;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_audio.h b/player_audio.h index 3c86e3b..bfd93c4 100644 --- a/player_audio.h +++ b/player_audio.h @@ -12,12 +12,13 @@ */ VG_STATIC void player_audio(void) { +#if 0 struct player_phys *phys = &player.phys; static int _air = 0; int l2 = _air; - _air = phys->in_air; + _air = player_skate.activity == k_skate_activity_air; static double last_revert = -2000.0; @@ -27,7 +28,8 @@ VG_STATIC void player_audio(void) audio_lock(); double revert_delta = vg.time - last_revert; - if( phys->on_board && (!_air && l2) && (revert_delta > 0.7) && + if( (phys->controller == k_player_controller_skate) && + (!_air && l2) && (revert_delta > 0.7) && (player.air_time > 0.5f) ) { audio_player_set_position( &audio_player_extra, phys->rb.co ); @@ -47,13 +49,14 @@ VG_STATIC void player_audio(void) } static float air = 0.0f; - air = vg_lerpf( air, phys->in_air? 1.0f: 0.0f, 5.0f*vg.time_delta ); + air = vg_lerpf( air, player_skate.activity == k_skate_activity_air, + 5.0f*vg.time_delta ); /* Spacial info */ v3f ears = { 1.0f,0.0f,0.0f }; v3f delta; - float *cam = camera_pos, + float *cam = main_camera.transform[3], *pos = phys->rb.co; audio_player_set_position( &audio_player0, phys->rb.co ); @@ -63,16 +66,16 @@ VG_STATIC void player_audio(void) audio_player_set_position( &audio_player_gate, world.render_gate_pos ); audio_player_set_vol( &audio_player_gate, 5.0f ); - v3_sub( phys->rb.co, camera_pos, delta ); + v3_sub( phys->rb.co, main_camera.transform[3], delta ); v3_normalize( delta ); - m3x3_mulv( camera_mtx, ears, ears ); + m3x3_mulv( main_camera.transform, ears, ears ); /* TODO, Make function */ v3_copy( ears, vg_audio.listener_ears ); - v3_copy( camera_pos, vg_audio.listener_pos ); + v3_copy( main_camera.transform[3], vg_audio.listener_pos ); /* Tunnel / occlusion */ - audio_sample_occlusion( camera_pos ); + audio_sample_occlusion( main_camera.transform[3] ); int sprite_avail = -1; for( int i=0; ion_board ) + if( freecam || player.is_dead || + !(phys->controller != k_player_controller_skate)) { audio_player_set_vol( &audio_player0, 0.0f ); audio_player_set_vol( &audio_player1, 0.0f ); @@ -124,7 +128,8 @@ VG_STATIC void player_audio(void) else walk_phase = 0; - if( (player.step_phase != walk_phase) && !phys->in_air ) + if( (player.step_phase != walk_phase) && + !(player_walk.activity == k_walk_activity_air) ) { audio_player_set_flags( &audio_player_extra, AUDIO_FLAG_SPACIAL_3D ); audio_player_set_position( &audio_player_extra, phys->rb.co ); @@ -161,7 +166,7 @@ VG_STATIC void player_audio(void) float speed = vg_minf(v3_length( phys->rb.v )*0.1f,1.0f), attn = speed, slide = vg_clampf( fabsf(phys->slip), 0.0f, 1.0f ), - grind = phys->grind, + grind = player_skate.activity == k_skate_activity_grind, vol0 = (1.0f-air)*attn*(1.0f-slide)*(1.0f-grind), vol1 = air *attn*(1.0f-grind), vol2 = (1.0f-air)*attn*slide*(1.0f-grind), @@ -183,11 +188,11 @@ VG_STATIC void player_audio(void) #endif audio_unlock(); - if( player.phys.in_air ) + if( player_skate.activity == k_skate_activity_air ) player.air_time += vg.time_delta; else player.air_time = 0.0f; - +#endif } #endif /* PLAYER_AUDIO_H */