audio_player_set_position( &audio_player0, phys->rb.co );
audio_player_set_position( &audio_player1, phys->rb.co );
audio_player_set_position( &audio_player2, phys->rb.co );
+ audio_player_set_position( &audio_player4, phys->rb.co );
audio_player_set_position( &audio_player_gate, world.render_gate_pos );
audio_player_set_vol( &audio_player_gate, 5.0f );
audio_player_set_vol( &audio_player1, 0.0f );
audio_player_set_vol( &audio_player2, 0.0f );
audio_player_set_vol( &audio_player3, 0.0f );
+ audio_player_set_vol( &audio_player4, 0.0f );
int walk_phase = 0;
if( vg_fractf(player.walk_timer) > 0.5f )
audio_player_set_flags( &audio_player_extra, AUDIO_FLAG_SPACIAL_3D );
audio_player_set_position( &audio_player_extra, phys->rb.co );
audio_player_set_vol( &audio_player_extra, 6.0f );
- audio_player_playclip( &audio_player_extra,
- &audio_footsteps[rand()%4] );
+
+ if( player.surface_prop == k_surface_prop_concrete )
+ {
+ audio_player_playclip(
+ &audio_player_extra,
+ &audio_footsteps[rand()%vg_list_size(audio_footsteps)]
+ );
+ }
+ else if( player.surface_prop == k_surface_prop_grass )
+ {
+ audio_player_playclip(
+ &audio_player_extra,
+ &audio_footsteps_grass[rand()%vg_list_size(audio_footsteps_grass)]
+ );
+ }
+ else if( player.surface_prop == k_surface_prop_wood )
+ {
+ audio_player_playclip(
+ &audio_player_extra,
+ &audio_footsteps_wood[rand()%vg_list_size(audio_footsteps_wood)]
+ );
+ }
}
player.step_phase = walk_phase;
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 ),
- vol0 = (1.0f-air)*attn*(1.0f-slide),
- vol1 = air *attn,
- vol2 = (1.0f-air)*attn*slide;
+ grind = phys->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),
+ vol4 = grind*2.0f;
audio_player_set_vol( &audio_player0, vol0*vg.time_rate );
audio_player_set_vol( &audio_player1, vol1*vg.time_rate );
audio_player_set_vol( &audio_player2, vol2*vg.time_rate );
+ audio_player_set_vol( &audio_player4, vol4*vg.time_rate );
float reverb_amt = vol0 * audio_occlusion_current * 0.5f;
+
audio_player_set_pan( &audio_player3, 0.0f );
audio_player_set_vol( &audio_player3, reverb_amt*vg.time_rate );
}