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 ];
}
}
}
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);
/* steer */
joystick_state( k_srjoystick_steer, animator->steer );
+ animator->airdir = vg_lerpf( animator->airdir, -animator->steer[0],
+ 2.4f*vg.time_delta );
+
+
/* flip angle */
if( (s->state.activity <= k_skate_activity_air_to_grind) &&
(fabsf(s->state.flip_rate) > 0.01f) ){
vg_line_arrow( player->rb.co, p1, 0.25f, VG__PINK );
vg_line_arrow( player->rb.co, p2, 0.25f, VG__PINK );
-
}
else q_identity( animator->qfixuptotal );
q_identity( animator->qfixuptotal );
mdl_keyframe air_pose[32];
{
- float target = -animator->steer[1];
- animator->airdir = vg_lerpf( animator->airdir, target,
- 2.4f*vg.time_delta );
-
float air_frame = (animator->airdir*0.5f+0.5f) * (15.0f/30.0f);
skeleton_sample_anim( sk, s->anim_air, air_frame, apose );