X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_drive.c;h=157ef4069842d0d8bdd34af8ad1dc233a559a44c;hb=09fc72b08113fa157a3abb2ded6086babedd10cf;hp=1c082121026d50934fc01958a9739e35588c99cf;hpb=01e2535f8daaab0e3d46dcc61a08a9268babd47c;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_drive.c b/player_drive.c index 1c08212..157ef40 100644 --- a/player_drive.c +++ b/player_drive.c @@ -2,16 +2,18 @@ #define PLAYER_DRIVE_C #include "player.h" +#include "input.h" VG_STATIC void player__drive_pre_update( player_instance *player ) { struct player_drive *drive = &player->_drive; drivable_vehicle *vehc = drive->vehicle; - vehc->steer = vg_lerpf( vehc->steer, - player->input_walkh->axis.value * 0.4f, - k_rb_delta * 8.0f ); - vehc->drive = player->input_walkv->axis.value; + v2f steer; + joystick_state( k_srjoystick_steer, steer ); + + vehc->steer = vg_lerpf( vehc->steer, steer[0] * 0.4f, k_rb_delta * 8.0f ); + vehc->drive = steer[1]; } VG_STATIC void player__drive_update( player_instance *player ) @@ -27,19 +29,21 @@ VG_STATIC void player__drive_post_update( player_instance *player ) v3_copy( drive->vehicle->obj.rb.w, player->rb.w ); } -VG_STATIC void player__drive_animate( player_instance *player, - player_animation *dest ) -{ +VG_STATIC void player__drive_animate( player_instance *player ){} + +VG_STATIC void player__drive_pose( player_instance *player ){ struct player_drive *drive = &player->_drive; struct skeleton *sk = &player->playeravatar->sk; - skeleton_sample_anim( sk, drive->anim_drive, 0.0f, dest->pose ); - v3_copy( player->rb.co, dest->root_co ); - v4_copy( player->rb.q, dest->root_q ); + player_pose *pose = &player->pose; + + skeleton_sample_anim( sk, drive->anim_drive, 0.0f, pose->keyframes ); + v3_copy( player->rb.co, pose->root_co ); + v4_copy( player->rb.q, pose->root_q ); } VG_STATIC void player__drive_post_animate( player_instance *player ) { - if( player->camera_mode == k_cam_firstperson ) + if( player->cam_control.camera_mode == k_cam_firstperson ) player->cam_velocity_influence = 0.0f; else player->cam_velocity_influence = 1.0f;