unlock rendering
[carveJwlIkooP6JGAAIwe30JlM.git] / player_drive.c
index 1c082121026d50934fc01958a9739e35588c99cf..1c83205e0f5529fc65014d03984a216ba2063040 100644 (file)
@@ -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,20 @@ 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, player_pose *pose ){
    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 );
+
+   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;