update helpers/location to 'frosted' ui
[carveJwlIkooP6JGAAIwe30JlM.git] / player_skate.c
index 2dedefd47a3e99497e3b7390f6f1f327651be809..75b65fc7df76ec46b12a46a4f553ee628b771904 100644 (file)
@@ -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;