X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_skate.c;h=75b65fc7df76ec46b12a46a4f553ee628b771904;hb=HEAD;hp=2dedefd47a3e99497e3b7390f6f1f327651be809;hpb=17851df33b64209eeefcc0dc096dadb8a8ff2c1a;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_skate.c b/player_skate.c index 2dedefd..75b65fc 100644 --- a/player_skate.c +++ b/player_skate.c @@ -1095,10 +1095,11 @@ static void skate_apply_pump_model(void){ } else{ /* Collect */ - float doty = v3_dot( localplayer.rb.to_world[1], state->throw_v ); + f32 doty = v3_dot( localplayer.rb.to_world[1], state->throw_v ); v3f Fl, Fv; v3_muladds( state->throw_v, localplayer.rb.to_world[1], -doty, Fl); + player_skate.collect_feedback = v3_length(Fl) * 4.0f; if( state->activity == k_skate_activity_ground ){ if( v3_length2(localplayer.rb.v)<(20.0f*20.0f) ){ @@ -1109,7 +1110,7 @@ static void skate_apply_pump_model(void){ } v3_muls( localplayer.rb.to_world[1], -doty, Fv ); - v3_muladds( localplayer.rb.v, Fv, k_mmcollect_vert, localplayer.rb.v ); + v3_muladds( localplayer.rb.v, Fv, k_mmcollect_vert, localplayer.rb.v ); v3_muladds( state->throw_v, Fv, k_mmcollect_vert, state->throw_v ); } @@ -2230,20 +2231,10 @@ void player__skate_update(void){ struct player_skate_state *state = &player_skate.state; world_instance *world = world_current_instance(); - if( state->activity == k_skate_activity_handplant ){ + if( state->activity == k_skate_activity_handplant ) return; - } - if( world->water.enabled ){ - if( localplayer.rb.co[1]+0.25f < world->water.height ){ - vg_info( "player fell off due to being in water\n" ); - player__networked_sfx( k_player_subsystem_walk, 32, - k_player_walk_soundeffect_splash, - localplayer.rb.co, 1.0f ); - player__dead_transition( k_player_die_type_generic ); - return; - } - } + if( !world_water_player_safe( world, 0.25f ) ) return; v3_copy( localplayer.rb.co, state->prev_pos ); state->activity_prev = state->activity;