X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_skate.c;h=a7899075d0525f5db0a62a92f74aaf230bc5f4ea;hb=8a31c1ffcb632b9b6d1702332f0d75d609c0a87b;hp=f971b18037da760d075f57342cb73ffb152df6f3;hpb=99df437e740aa12d6e578d15bcf14140f648a6d1;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_skate.c b/player_skate.c index f971b18..a789907 100644 --- a/player_skate.c +++ b/player_skate.c @@ -499,8 +499,8 @@ void player__approximate_best_trajectory( player_instance *player ) m4x3_mulv( gate->transport, launch_co, launch_co ); m3x3_mul( gate->transport, basis, basis ); - if( gate->type == k_gate_type_nonlocel ){ - trace_world = &world_static.worlds[ gate->target ]; + if( gate->flags & k_ent_gate_nonlocal ){ + trace_world = &world_static.instances[ gate->target ]; } } } @@ -1119,27 +1119,29 @@ VG_STATIC void player__skate_pre_update( player_instance *player ){ return; } - enum trick_type trick = k_trick_type_none; - if( (s->state.activity <= k_skate_activity_air_to_grind) && - (trick = player_skate_trick_input( player )) ) - { - if( (vg.time - s->state.jump_time) < 0.1f ){ - v3_zero( s->state.trick_vel ); - s->state.trick_time = 0.0f; - - if( trick == k_trick_type_kickflip ){ - s->state.trick_vel[0] = 3.0f; - } - else if( trick == k_trick_type_shuvit ){ - s->state.trick_vel[2] = 3.0f; - } - else if( trick == k_trick_type_treflip ){ - s->state.trick_vel[0] = 2.0f; - s->state.trick_vel[2] = 2.0f; + if( s->state.activity <= k_skate_activity_air_to_grind ){ + enum trick_type trick = k_trick_type_none; + if( (trick = player_skate_trick_input( player )) ){ + if( (vg.time - s->state.jump_time) < 0.1f ){ + v3_zero( s->state.trick_vel ); + s->state.trick_time = 0.0f; + + if( trick == k_trick_type_kickflip ){ + s->state.trick_vel[0] = 3.0f; + } + else if( trick == k_trick_type_shuvit ){ + s->state.trick_vel[2] = 3.0f; + } + else if( trick == k_trick_type_treflip ){ + s->state.trick_vel[0] = 2.0f; + s->state.trick_vel[2] = 2.0f; + } + s->state.trick_type = trick; } - s->state.trick_type = trick; } } + else + s->state.trick_type = k_trick_type_none; } VG_STATIC void player__skate_post_update( player_instance *player ){ @@ -2781,7 +2783,7 @@ VG_STATIC void player__skate_animate( player_instance *player ){ if( fabsf(lean1)>fabsf(lean2) ) lean = lean1; else lean = lean2; - if( ((int)roundf(animator->board_euler[0])) % 2 ) lean = -lean; + if( ((int)roundf(animator->board_euler[0]/VG_PIf)) % 2 ) lean = -lean; lean = vg_clampf( lean, -1.0f, 1.0f ); animator->board_lean = vg_lerpf(animator->board_lean, lean, vg.time_delta*18.0f);