v3f tri[3];
struct world_surface *surf = world_tri_index_surface(world,ptri[0]);
- if( !(surf->info.flags & k_material_flag_skate_surface) )
+ if( !(surf->info.flags & k_material_flag_grindable) )
continue;
for( int j=0; j<3; j++ )
inf->score = -v3_dot( ve, inf->n );
inf->land_dist = t + k_trace_delta * t1;
-
/* Bias prediction towords ramps */
- if( !(surf->info.flags & k_material_flag_skate_surface) )
+ if( !(surf->info.flags & k_material_flag_skate_target) )
inf->score *= 10.0f;
+ if( surf->info.flags & k_material_flag_boundary )
+ s->possible_jump_count --;
+
break;
}
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] += s->blend_weight * 0.2f;
- kf_foot_r->co[2] += s->blend_weight * 0.1f;
+ 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] += s->blend_weight * 0.3f;
- kf_foot_l->co[2] += s->blend_weight * 0.1f;
+ 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 );