.post_animate = player__walk_post_animate,
.pose = player__walk_pose,
.network_animator_exchange = player__walk_animator_exchange,
+ .sfx_oneshot = player__walk_sfx_oneshot,
.animator_data = &player_walk.animator,
.animator_size = sizeof(player_walk.animator),
v3_zero( localplayer.rb.w );
world_instance *world = world_current_instance();
-
- if( world->water.enabled ){
- if( localplayer.rb.co[1]+0.4f < world->water.height ){
- player__networked_sfx( k_player_subsystem_walk, 32,
- k_player_walk_soundeffect_splash,
- localplayer.rb.co, 1.0f );
- vg_info( "player fell of due to walking into walker\n" );
- player__dead_transition( k_player_die_type_generic );
- return;
- }
- }
+ if( !world_water_player_safe( world, 0.4f ) ) return;
enum walk_activity prev_state = w->state.activity;
bitpack_qf32( ctx, 16, -100.0f, 100.0f, &animator->board_yaw );
}
-void player__walk_sfx_oneshot( u8 id, v3f pos, f32 volume ){
+void player__walk_sfx_oneshot( u8 id, v3f pos, f32 volume )
+{
audio_lock();
if( id == k_player_walk_soundeffect_splash ){