X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player.h;h=82381c27b84e14fbb0f706c62dc151e7f06fa04e;hb=c33e4f46d864b2fde0c5938bf5a9388b1e8b5c04;hp=57a862817038bb5bf798118617d42a3ed45d2589;hpb=da929c58442de91be106438ebf2f2daabf7f2430;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player.h b/player.h index 57a8628..82381c2 100644 --- a/player.h +++ b/player.h @@ -70,7 +70,10 @@ static struct gplayer phys, phys_gate_frame; - int is_dead; + m4x3f visual_transform, + inv_visual_transform; + + int is_dead, death_tick_allowance; v3f land_target; v3f land_target_log[22]; @@ -98,8 +101,10 @@ static struct gplayer fsetup, walk_timer, fjump, - fonboard; + fonboard, + frun; + float walk; int step_phase; /* player model */ @@ -237,6 +242,7 @@ static void player_update_pre(void) if( vg_get_button_down( "reset" ) ) { player.is_dead = 0; + player.death_tick_allowance = 30; player_restore_frame(); if( !phys->on_board ) @@ -264,6 +270,9 @@ static void player_update_pre(void) static void player_update_fixed(void) /* 2 */ { + if( player.death_tick_allowance ) + player.death_tick_allowance --; + struct player_phys *phys = &player.phys; if( player.is_dead ) @@ -341,8 +350,11 @@ static float *player_get_pos(void) static void player_kill(void) { - player.is_dead = 1; - player_ragdoll_copy_model( player.phys.rb.v ); + if( player.death_tick_allowance == 0 ) + { + player.is_dead = 1; + player_ragdoll_copy_model( player.phys.rb.v ); + } } static float *player_cam_pos(void)