projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
modular stuffs
[carveJwlIkooP6JGAAIwe30JlM.git]
/
player_skate.c
diff --git
a/player_skate.c
b/player_skate.c
index fc10b7341fc0487cff6ba9b68ddde5f87efff120..7da514f7609f0639448d54ee899051c2f90ca345 100644
(file)
--- a/
player_skate.c
+++ b/
player_skate.c
@@
-128,7
+128,7
@@
VG_STATIC int skate_grind_scansq( player_instance *player,
v3f tri[3];
struct world_surface *surf = world_tri_index_surface(world,ptri[0]);
v3f tri[3];
struct world_surface *surf = world_tri_index_surface(world,ptri[0]);
- if( !(surf->info.flags & k_material_flag_
skate_surfac
e) )
+ if( !(surf->info.flags & k_material_flag_
grindabl
e) )
continue;
for( int j=0; j<3; j++ )
continue;
for( int j=0; j<3; j++ )
@@
-532,11
+532,13
@@
void player__approximate_best_trajectory( player_instance *player )
inf->score = -v3_dot( ve, inf->n );
inf->land_dist = t + k_trace_delta * t1;
inf->score = -v3_dot( ve, inf->n );
inf->land_dist = t + k_trace_delta * t1;
-
/* Bias prediction towords ramps */
/* 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;
inf->score *= 10.0f;
+ if( surf->info.flags & k_material_flag_boundary )
+ s->possible_jump_count --;
+
break;
}
break;
}
@@
-2955,15
+2957,20
@@
VG_STATIC void player__skate_animate( player_instance *player,
q_mul( kf_board->q, qtrick, kf_board->q );
q_normalize( kf_board->q );
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 ){
/* 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{
}
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 );
}
float slapm = vg_maxf( 1.0f-v3_length2( s->state.trick_vel ), 0.0f );