PC controls for skids
[carveJwlIkooP6JGAAIwe30JlM.git] / player_skate.c
index 1c748dc6ff85c95d2c11f49637cb33af69cf9379..986be2d92f3fc27b6941b30521cd85eb7e847463 100644 (file)
@@ -837,8 +837,21 @@ static void skate_apply_steering_model(void){
       }
       else {
          f32 skid = axis_state(k_sraxis_skid);
-         if( fabsf(skid) > 0.1f ){
-            skid_target = skid;
+
+         /* skids on keyboard lock to the first direction pressed */
+         if( vg_input.display_input_method == k_input_method_kbm ){
+            if( button_down(k_srbind_skid) && (fabsf(state->skid)<0.01f) ){
+               state->skid = vg_signf( steer ) * 0.01f;
+            }
+
+            if( button_press(k_srbind_skid) ){
+               skid_target = vg_signf( state->skid );
+            }
+         }
+         else {
+            if( fabsf(skid) > 0.1f ){
+               skid_target = skid;
+            }
          }
       }