{
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 ){
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;
}
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 ],
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;
(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",