#include "audio.h"
#include "vg/vg_perlin.h"
#include "menu.h"
+#include "ent_skateshop.h"
VG_STATIC void player__skate_bind( player_instance *player )
{
}
v2f steer;
- v2_copy( srinput.joy_steer, steer );
+ joystick_state( k_srjoystick_steer, steer );
v2_normalize_clamp( steer );
if( (fabsf(steer[1]) > 0.5f) && (s->land_dist >= 1.5f) ){
{
struct player_skate *s = &player->_skate;
- float grabt = srinput.axis_grab;
+ float grabt = axis_state( k_sraxis_grab );
if( grabt > 0.5f ){
v2_muladds( s->state.grab_mouse_delta, vg.mouse_delta, 0.02f,
{
struct player_skate *s = &player->_skate;
+ v2f jsteer;
+ joystick_state( k_srjoystick_steer, jsteer );
+
/* Steering */
- float steer = srinput.joy_steer[0],
- grab = srinput.axis_grab;
+ float steer = jsteer[0],
+ grab = axis_state( k_sraxis_grab );
steer = vg_signf( steer ) * steer*steer * k_steer_ground;
s->grind_cooldown = 30;
s->state.activity = k_skate_activity_ground;
- float tilt = srinput.joy_steer[0] * 0.4f;
+ v2f steer;
+ joystick_state( k_srjoystick_steer, steer );
+
+ float tilt = steer[0] * 0.3f;
tilt *= vg_signf(v3_dot( player->rb.v, s->grind_dir ));
v4f qtilt;
/* Throw / collect routine
*/
- if( srinput.axis_grab > 0.5f ){
+ if( axis_state( k_sraxis_grab ) > 0.5f ){
if( s->state.activity == k_skate_activity_ground ){
/* Throw */
v3_muls( player->rb.to_world[1], k_mmthrow_scale, s->state.throw_v );
v3_copy( s->state.up_dir, ideal_dir );
v3_normalize( ideal_dir );
- v3_muladds( player->rb.co, ideal_dir,
- 1.0f-srinput.axis_grab, ideal_cog );
+ float grab = axis_state( k_sraxis_grab );
+ v3_muladds( player->rb.co, ideal_dir, 1.0f-grab, ideal_cog );
v3_sub( ideal_cog, s->state.cog, ideal_diff );
/* Apply velocities */
int reverse_dir = v3_dot( player->rb.to_world[2], player->rb.v ) < 0.0f?1:-1;
+ v2f steer;
+ joystick_state( k_srjoystick_steer, steer );
+
if( s->state.manual_direction == 0 ){
- if( (srinput.joy_steer[1] > 0.7f) &&
- (s->state.activity == k_skate_activity_ground) &&
+ if( (steer[1] > 0.7f) && (s->state.activity == k_skate_activity_ground) &&
(s->state.jump_charge <= 0.01f) )
s->state.manual_direction = reverse_dir;
}
else{
- if( srinput.joy_steer[1] < 0.1f ){
+ if( steer[1] < 0.1f ){
s->state.manual_direction = 0;
}
else{
}
if( s->state.manual_direction ){
- float amt = vg_minf( srinput.joy_steer[1] * 8.0f, 1.0f );
+ float amt = vg_minf( steer[1] * 8.0f, 1.0f );
s->weight_distribution[2] = k_board_length * amt *
(float)s->state.manual_direction;
}
v3_normalize( target_fwd );
v3_normalize( fwd );
+ v2f steer;
+ joystick_state( k_srjoystick_steer, steer );
- float way = srinput.joy_steer[1] *
- vg_signf( v3_dot( raw_nplane, player->rb.v ) );
+ float way = steer[1] * vg_signf( v3_dot( raw_nplane, player->rb.v ) );
v4f q;
q_axis_angle( q, axis, VG_PIf*0.125f * way );
v3_cross( axis, inf_avg.dir, inf_avg.n );
skate_grind_decay( player, &inf_avg, 1.0f );
+ v2f steer;
+ joystick_state( k_srjoystick_steer, steer );
- float way = srinput.joy_steer[1] *
+ float way = steer[1] *
vg_signf( v3_dot( player->rb.to_world[2], player->rb.v ) );
v4f q;
v3f up, target_up;
int allow_back = 1,
allow_front = 1;
+ v2f steer;
+ joystick_state( k_srjoystick_steer, steer );
+
if( s->state.activity == k_skate_activity_grind_5050 ||
s->state.activity == k_skate_activity_grind_back50 ||
s->state.activity == k_skate_activity_grind_front50 )
{
- float tilt = srinput.joy_steer[1];
+ float tilt = steer[1];
if( fabsf(tilt) >= 0.25f ){
v3f raw = {0.0f,0.0f,tilt};
res_front50 = skate_grind_truck_entry( player, -1.0f, &inf_front50 );
if( res_back50 != res_front50 ){
- int wants_to_do_that = fabsf(srinput.joy_steer[1]) >= 0.25f;
+ int wants_to_do_that = fabsf(steer[1]) >= 0.25f;
res_back50 &= wants_to_do_that;
res_front50 &= wants_to_do_that;
mdl_keyframe air_pose[32];
{
- float target = -srinput.joy_steer[1];
+ v2f steer;
+ joystick_state( k_srjoystick_steer, steer );
+
+ float target = -steer[1];
s->blend_airdir = vg_lerpf( s->blend_airdir, target, 2.4f*vg.time_delta );
static v2f grab_choice;
v2f grab_input;
- v2_copy( srinput.joy_grab, grab_input );
+ joystick_state( k_srjoystick_grab, grab_input );
v2_add( s->state.grab_mouse_delta, grab_input, grab_input );
if( v2_length2( grab_input ) <= 0.001f )
q_mul( kf_board->q, qtrick, kf_board->q );
q_normalize( kf_board->q );
- struct player_board *board = player->board;
+ struct player_board *board = player_get_player_board( player );
if( board ){
/* foot weight distribution */