reverts
[carveJwlIkooP6JGAAIwe30JlM.git] / player_skate.c
index 551c2cc1d9d026db60f829c8a7a3b6b6d0716a22..0362b93d3ea22fb59ec119adcbb500aae05bce9a 100644 (file)
@@ -6,6 +6,7 @@
 #include "vg/vg_perlin.h"
 #include "menu.h"
 #include "ent_skateshop.h"
+#include "addon.h"
 
 VG_STATIC void player__skate_bind( player_instance *player )
 {
@@ -850,6 +851,10 @@ VG_STATIC void skate_apply_steering_model( player_instance *player )
          rate = 35.0f;
          top  = 1.5f;
       }
+      
+      if( grab < 0.5f ){
+         top *= 1.0f+v3_length( s->state.throw_v )*k_mmthrow_steer;
+      }
    }
 
    float current  = v3_dot( player->rb.to_world[1], player->rb.w ),
@@ -977,7 +982,7 @@ VG_STATIC void skate_apply_jump_model( player_instance *player )
       s->state.jump_time = vg.time;
 
       audio_lock();
-      audio_oneshot_3d( &audio_jumps[vg_randu32()%2], player->rb.co, 40.0f, 1.0f );
+      audio_oneshot_3d( &audio_jumps[vg_randu32()%2], player->rb.co,40.0f,1.0f);
       audio_unlock();
    }
 }
@@ -2995,7 +3000,9 @@ VG_STATIC void player__skate_animate( player_instance *player,
       q_mul( kf_board->q, qtrick, kf_board->q );
       q_normalize( kf_board->q );
 
-      struct player_board *board = player_get_player_board( player );
+      struct player_board *board = 
+         addon_cache_item_if_loaded( k_addon_type_board,
+                                     player->board_view_slot );
       
       if( board ){
          /* foot weight distribution */