skateshop basics
[carveJwlIkooP6JGAAIwe30JlM.git] / player_skate.c
index 7029edc774f1fe9b6bdb722d7b0a31141d45a86f..9b1aea11a47c83f7b35af6553dcecfc0287919f3 100644 (file)
@@ -2957,20 +2957,22 @@ 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->playerboard;
-
-      /* foot weight distribution */
-      if( s->blend_weight > 0.0f ){
-         kf_foot_l->co[2] = 
-            vg_lerpf( kf_foot_l->co[2], 
-                      board->truck_positions[k_board_truck_back][2]+0.3f, 
-                      0.5f*s->blend_weight );
-      }
-      else{
-         kf_foot_r->co[2] = 
-            vg_lerpf( kf_foot_r->co[2], 
-                      board->truck_positions[k_board_truck_front][2]-0.3f, 
-                      -0.5f*s->blend_weight );
+      struct player_board *board = player->board;
+      
+      if( board ){
+         /* foot weight distribution */
+         if( s->blend_weight > 0.0f ){
+            kf_foot_l->co[2] = 
+               vg_lerpf( kf_foot_l->co[2], 
+                         board->truck_positions[k_board_truck_back][2]+0.3f, 
+                         0.5f*s->blend_weight );
+         }
+         else{
+            kf_foot_r->co[2] = 
+               vg_lerpf( kf_foot_r->co[2], 
+                         board->truck_positions[k_board_truck_front][2]-0.3f, 
+                         -0.5f*s->blend_weight );
+         }
       }
 
       float slapm = vg_maxf( 1.0f-v3_length2( s->state.trick_vel ), 0.0f );