font works
[carveJwlIkooP6JGAAIwe30JlM.git] / player_walk.c
index 7f857fed8d1cc7c82224a8d792e905c0762f8408..d8fe3d1fc86868af333c1155b1acc538d8435dc7 100644 (file)
@@ -252,7 +252,7 @@ VG_STATIC void player__walk_pre_update( player_instance *player )
 {
    struct player_walk *w = &player->_walk;
 
-   if( w->state.activity != k_walk_activity_immobile )
+   if( !player->immobile )
       player_look( player, player->angles );
 
    if( w->state.outro_anim ){
@@ -276,7 +276,7 @@ VG_STATIC void player__walk_pre_update( player_instance *player )
          return;
       }
    }
-   else if( vg_input_button_down( player->input_use ) ){
+   else if( vg_input_button_down( player->input_use ) && !player->immobile ){
       if( v3_dist2( player->rb.co, gzoomer.obj.rb.co ) <= 4.0f*4.0f ){
          player->subsystem = k_player_subsystem_drive;
       }
@@ -286,7 +286,7 @@ VG_STATIC void player__walk_pre_update( player_instance *player )
                w->state.outro_type = k_walk_outro_drop_in;
                w->state.outro_anim = w->anim_drop_in;
                w->state.outro_start_time = vg.time;
-               w->state.activity = k_walk_activity_immobile;
+               player->immobile = 1;
 
                struct player_avatar *av = player->playeravatar;
                m4x3_mulv( av->sk.final_mtx[ av->id_ik_foot_r ], 
@@ -358,7 +358,7 @@ VG_STATIC void player__walk_update( player_instance *player )
 
    enum walk_activity prev_state = w->state.activity;
 
-   if( w->state.activity == k_walk_activity_immobile )
+   if( player->immobile )
       return;
 
    w->collider.height = 2.0f;
@@ -599,7 +599,7 @@ VG_STATIC void player__walk_post_update( player_instance *player )
    m3x3_copy( player->rb.to_world, mtx );
    v3_add( player->rb.co, player->basis[1], mtx[3] );
 
-   float substep = vg_clampf( vg.accumulator / k_rb_delta, 0.0f, 1.0f );
+   float substep = vg.time_fixed_extrapolate;
    v3_muladds( mtx[3], player->rb.v, k_rb_delta*substep, mtx[3] );
    debug_capsule( mtx, w->collider.radius, w->collider.height, VG__YELOW );
 
@@ -844,7 +844,6 @@ VG_STATIC void player__walk_im_gui( player_instance *player )
                            (const char *[]){ "k_walk_activity_air",
                                              "k_walk_activity_ground",
                                              "k_walk_activity_sleep",
-                                             "k_walk_activity_immobile",
                                              "k_walk_activity_lockedmove" }
                                              [w->state.activity] );
    player__debugtext( 1, "surface: %s\n",