From fc3e6cb16a7e6fdc440b35aa88c32f7f560d928f Mon Sep 17 00:00:00 2001 From: hgn Date: Sat, 16 Dec 2023 21:19:50 +0000 Subject: [PATCH] breakup walk system and add new exit animation --- ent_skateshop.c | 2 + models_src/ch_none.mdl | Bin 948192 -> 1001536 bytes player_skate.c | 41 ++- player_walk.c | 617 ++++++++++++++++++++++------------------- player_walk.h | 41 ++- 5 files changed, 374 insertions(+), 327 deletions(-) diff --git a/ent_skateshop.c b/ent_skateshop.c index 251a585..8aa5fbc 100644 --- a/ent_skateshop.c +++ b/ent_skateshop.c @@ -812,6 +812,8 @@ static void ent_skateshop_call( world_instance *world, ent_call *call ){ vg_str text; global_skateshop.helper_pick = gui_new_helper( input_button_list[k_srbind_maccept], &text); + if( gui_new_helper( input_button_list[k_srbind_mback], &text )) + vg_strcat( &text, "exit" ); skateshop_server_helper_update(); } } diff --git a/models_src/ch_none.mdl b/models_src/ch_none.mdl index 5178fbe82f571702fdb2a74281741a85270d8b50..e1372f20fc1a01dc7ddf5e702ee46670594085f8 100644 GIT binary patch delta 115244 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

fZ|Gb$S?l5L>lEv<9{Y;af3X0EDD{ajMR( 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

7#vSWgk+0WzBiGg1hO7E07~iEJsf&k(*xwmO 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 Pb4GKqG|VcKb@cxMh1mT| delta 67455 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 = k_skate_activity_popoff; + state->handplant_t = 0.0f; + v3_copy( localplayer.rb.co, state->store_co ); + v3_copy( localplayer.rb.v, state->air_init_v ); + v4_copy( localplayer.rb.q, state->store_q ); + v3_copy( state->cog, state->store_cog ); + v3_copy( state->cog_v, state->store_cog_v ); + v4_copy( state->smoothed_rotation, state->store_smoothed ); + } +#endif + if( state->activity == k_skate_activity_handplant ){ state->handplant_t += vg.time_delta; mdl_keyframe hpose[32]; + struct skeleton_anim *anim = player_skate.anim_handplant; + int end = !skeleton_sample_anim_clamped( - &localplayer.skeleton, player_skate.anim_handplant, + &localplayer.skeleton, anim, state->handplant_t, hpose ); if( state->reverse < 0.0f ) @@ -1185,6 +1200,7 @@ static void player__skate_pre_update(void){ m3x3_mulv( transfer, state->air_init_v, localplayer.rb.v ); m3x3_mulv( transfer, state->store_cog_v, state->cog_v ); + m4x3_mulv( transfer, state->store_cog, state->cog ); v3_muladds( state->cog, localplayer.rb.to_world[1], -state->handplant_t*0.5f, state->cog ); @@ -1201,7 +1217,7 @@ static void player__skate_pre_update(void){ else return; } - if( button_down( k_srbind_use ) ){ + if( button_down(k_srbind_use) && (v3_length2(state->trick_vel) < 0.01f) ){ localplayer.subsystem = k_player_subsystem_walk; v3f angles; @@ -1213,10 +1229,12 @@ static void player__skate_pre_update(void){ v3_add( newpos, (v3f){0.0f,-1.0f,0.0f}, newpos ); v3_sub( localplayer.rb.co, newpos, offset ); v3_copy( newpos, localplayer.rb.co ); + v3_muladds( localplayer.rb.co, localplayer.rb.to_world[1], -0.1f, + localplayer.rb.co ); player__begin_holdout( offset ); player__skate_kill_audio(); - player__walk_transition(); + player__walk_transition( k_walk_activity_ipopoff, state->trick_euler[0] ); return; } @@ -3206,10 +3224,12 @@ static void player__skate_pose( void *_animator, player_pose *pose ){ } #endif + if( animator->activity == k_skate_activity_handplant ){ + struct skeleton_anim *anim = player_skate.anim_handplant; + mdl_keyframe hpose[32]; - skeleton_sample_anim_clamped( sk, player_skate.anim_handplant, - animator->handplant_t, hpose ); + skeleton_sample_anim_clamped( sk, anim, animator->handplant_t, hpose ); if( animator->reverse < 0.0f ) player_mirror_pose( hpose, hpose ); @@ -3235,8 +3255,10 @@ static void player__skate_pose( void *_animator, player_pose *pose ){ v3_copy( world_view[3], pose->root_co ); f32 t = animator->handplant_t, - frames = player_skate.anim_handplant->length-1, - length = frames / player_skate.anim_handplant->rate, + frames = anim->length-1, + length = animator->activity == k_skate_activity_handplant? + frames / anim->rate: + 999999, end_dist = vg_minf( t, length - t )/k_anim_transition, blend = vg_smoothstepf( vg_minf(1,end_dist) ); @@ -3244,9 +3266,6 @@ static void player__skate_pose( void *_animator, player_pose *pose ){ } - - - /* trick rotation */ v4f qtrick, qyaw, qpitch, qroll; q_axis_angle( qyaw, (v3f){0.0f,1.0f,0.0f}, animator->board_euler[0] ); diff --git a/player_walk.c b/player_walk.c index e359423..d105509 100644 --- a/player_walk.c +++ b/player_walk.c @@ -61,7 +61,7 @@ static void player_walk_drop_in_to_skate(void){ player_skate.state.activity_prev = k_skate_activity_ground; player_skate.state.activity = k_skate_activity_ground; - player__begin_holdout( (v3f){0.0f,0.0f,0.0f} ); + player__begin_holdout( (v3f){0,0,0} ); player__skate_clear_mechanics(); player__skate_reset_animator(); @@ -74,7 +74,8 @@ static void player_walk_drop_in_to_skate(void){ v3_copy( init_velocity, player_skate.state.cog_v ); v3_copy( init_velocity, localplayer.rb.v ); v3_copy( init_velocity, localplayer.cam_control.cam_velocity_smooth ); - v3_copy( (v3f){1.0f,0.0f,0.0f}, player_skate.state.trick_euler ); + v3_copy( (v3f){player_walk.animator.board_yaw+1.0f,0,0}, + player_skate.state.trick_euler ); } static void player_walk_drop_in_overhang_transform( f32 t, v3f co, v4f q ){ @@ -219,129 +220,140 @@ static int player_walk_scan_for_drop_in(void){ return 0; } -static struct skeleton_anim *player_walk_outro_anim( enum walk_outro type ){ - struct player_walk *w = &player_walk; - - if( type >= k_walk_outro_max ) - return NULL; +static bool player__preupdate_anim( struct skeleton_anim *anim, f32 *t, + f32 speed ){ + f32 length = (f32)(anim->length-1) / anim->rate; + *t += (vg.time_delta * speed) / length; - return (struct skeleton_anim *[]){ - [k_walk_outro_none] = NULL, - [k_walk_outro_jump_to_air] = w->anim_jump_to_air, - [k_walk_outro_regular] = w->anim_intro, - [k_walk_outro_drop_in] = w->anim_drop_in - }[ type ]; + if( *t >= 1.0f ) return 1; + else return 0; } - -static void player__walk_pre_update(void){ +static void player_walk_pre_sit(void){ struct player_walk *w = &player_walk; - if( !localplayer.immobile ) - player_look( localplayer.angles, skaterift.time_rate ); - v2f steer; joystick_state( k_srjoystick_steer, steer ); - if( w->state.activity == k_walk_activity_sit ){ - if( w->state.sit_t < 1.0f ) - w->state.sit_t = vg_minf( 1.0f, w->state.sit_t + vg.time_delta ); - - if( button_down(k_srbind_sit) || (v2_length2(steer)>0.2f) || - button_down(k_srbind_jump) ){ - w->state.activity = k_walk_activity_sit_up; - } - return; - } - else if( w->state.activity == k_walk_activity_sit_up ){ - if( w->state.sit_t > 0.0f ) - w->state.sit_t = vg_maxf( 0.0f, w->state.sit_t - vg.time_delta ); - else - w->state.activity = k_walk_activity_ground; - - if( button_down(k_srbind_sit) ) - w->state.activity = k_walk_activity_sit; + vg_slewf( &w->state.transition_t, 1.0f, vg.time_delta ); - return; - } - else if( w->state.activity == k_walk_activity_ground ){ - if( button_down(k_srbind_sit) ){ - v3_zero( localplayer.rb.v ); - w->state.activity = k_walk_activity_sit; - return; - } + if( button_down(k_srbind_sit) || (v2_length2(steer)>0.2f) || + button_down(k_srbind_jump) ){ + w->state.activity = k_walk_activity_sit_up; } + return; +} - w->state.sit_t = 0.0f; +static void player_walk_pre_sit_up(void){ + struct player_walk *w = &player_walk; + + if( w->state.transition_t > 0.0f ) + vg_slewf( &w->state.transition_t, 0.0f, vg.time_delta ); + else + w->state.activity = k_walk_activity_ground; - if( w->state.outro_type ){ - struct skeleton_anim *anim = player_walk_outro_anim(w->state.outro_type); + if( button_down(k_srbind_sit) ) + w->state.activity = k_walk_activity_sit; - f32 outro_length = (f32)anim->length / anim->rate, - outro_time = vg.time - w->state.outro_start_time; + return; +} - if( outro_time >= outro_length ){ - if( w->state.outro_type == k_walk_outro_drop_in ){ - player_walk_drop_in_to_skate(); - } - else if( w->state.outro_type == k_walk_outro_jump_to_air ){ - player_walk_generic_to_skate( k_skate_activity_air, 0.0f ); - } - else{ - player_walk_generic_to_skate( k_skate_activity_ground, 1.0f ); - } +static void player_walk_pre_ground(void){ + struct player_walk *w = &player_walk; - w->state.outro_type = k_walk_outro_none; - return; - } + if( button_down(k_srbind_sit) ){ + v3_zero( localplayer.rb.v ); + w->state.activity = k_walk_activity_sit; + return; } - else if( button_down( k_srbind_use ) && !localplayer.immobile ){ - if( 0 && (v3_dist2(localplayer.rb.co,gzoomer.obj.rb.co) <= 4.0f*4.0f) ){ - localplayer.subsystem = k_player_subsystem_drive; + + if( button_down( k_srbind_use ) ){ + if( player_walk_scan_for_drop_in() ){ + w->state.activity = k_walk_activity_odrop_in; } else{ - struct player_board *board = - addon_cache_item_if_loaded( k_addon_type_board, - localplayer.board_view_slot ); - - if( !board ) return; - - if( w->state.activity == k_walk_activity_ground ){ - if( player_walk_scan_for_drop_in() ){ - w->state.outro_type = k_walk_outro_drop_in; - w->state.outro_start_time = vg.time; - localplayer.immobile = 1; - - u32 foot_id = localplayer.id_ik_foot_r; - - m4x3_mulv( localplayer.final_mtx[ foot_id ], - localplayer.skeleton.bones[ foot_id ].co, - w->state.drop_in_foot_anchor ); - } - else{ - w->state.outro_type = k_walk_outro_regular; - w->state.outro_start_time = vg.time; - w->state.activity = k_walk_activity_lockedmove; - - if( player_xyspeed2() < 0.1f * 0.1f ){ - q_mulv( localplayer.rb.q, (v3f){0.0f,0.0f,1.6f}, - localplayer.rb.v ); - } - } - } - else{ - w->state.outro_type = k_walk_outro_jump_to_air; - w->state.outro_start_time = vg.time; - return; - } + w->state.activity = k_walk_activity_oregular; } + + w->state.transition_t = 0.0f; + } + + if( button_down( k_srbind_jump ) ){ + w->state.jump_queued = 1; + w->state.jump_input_time = vg.time; } - else if( button_down( k_srbind_jump ) && !localplayer.immobile ){ +} + +static void player_walk_pre_air(void){ + struct player_walk *w = &player_walk; + if( button_down( k_srbind_use ) ){ + w->state.activity = k_walk_activity_oair; + w->state.transition_t = 0.0f; + } + + if( button_down( k_srbind_jump ) ){ w->state.jump_queued = 1; w->state.jump_input_time = vg.time; } } +static void player_walk_pre_drop_in(void){ + struct player_walk *w = &player_walk; + bool finished = player__preupdate_anim( w->anim_drop_in, + &w->state.transition_t, 1.0f ); + if( finished ) + player_walk_drop_in_to_skate(); +} + +static void player_walk_pre_caveman(void){ + struct player_walk *w = &player_walk; + bool finished = player__preupdate_anim( w->anim_jump_to_air, + &w->state.transition_t, 1.0f ); + if( finished ){ + player_walk_generic_to_skate( k_skate_activity_air, + player_walk.animator.board_yaw ); + } +} + +static void player_walk_pre_running_start(void){ + struct player_walk *w = &player_walk; + bool finished = player__preupdate_anim( w->anim_intro, + &w->state.transition_t, 1.0f ); + if( finished ){ + /* TODO: get the derivative of the last keyframes to calculate new + * velocity for player */ + player_walk_generic_to_skate( k_skate_activity_ground, + player_walk.animator.board_yaw+1.0f ); + } +} + +static void player_walk_pre_popoff(void){ + struct player_walk *w = &player_walk; + bool finished = player__preupdate_anim( w->anim_popoff, + &w->state.transition_t, 1.0f ); + + if( finished ) + w->state.activity = k_walk_activity_ground; +} + +static void player__walk_pre_update(void){ + struct player_walk *w = &player_walk; + + if( localplayer.immobile ) return; + else player_look( localplayer.angles, skaterift.time_rate ); + + enum walk_activity a = w->state.activity; + + if ( a == k_walk_activity_sit ) player_walk_pre_sit(); + else if( a == k_walk_activity_sit_up ) player_walk_pre_sit_up(); + else if( a == k_walk_activity_ground ) player_walk_pre_ground(); + else if( a == k_walk_activity_air ) player_walk_pre_air(); + else if( a == k_walk_activity_odrop_in ) player_walk_pre_drop_in(); + else if( a == k_walk_activity_oair ) player_walk_pre_caveman(); + else if( a == k_walk_activity_oregular ) player_walk_pre_running_start(); + else if( a == k_walk_activity_ipopoff ) player_walk_pre_popoff(); +} + static int player_walk_normal_standable( v3f n ){ return n[1] > 0.70710678118f; } @@ -414,16 +426,14 @@ static void player_walk_custom_filter( world_instance *world, } } -static void player__walk_update(void){ +static void player_walk_update_generic(void){ struct player_walk *w = &player_walk; v2f steer; joystick_state( k_srjoystick_steer, steer ); - if( (w->state.activity == k_walk_activity_sit) || - (w->state.activity == k_walk_activity_sit_up) ){ - return; - } + if( v2_length2(steer)>1.0f ) + v2_normalize(steer); v3_copy( localplayer.rb.co, w->state.prev_pos ); v3_zero( localplayer.rb.w ); @@ -470,9 +480,7 @@ static void player__walk_update(void){ v3f surface_avg = { 0.0f, 0.0f, 0.0f }; - if( w->state.activity != k_walk_activity_lockedmove ) - w->state.activity = k_walk_activity_air; - + w->state.activity = k_walk_activity_air; w->surface = k_surface_prop_concrete; for( int i=0; in ) ){ - if( w->state.activity != k_walk_activity_lockedmove ) - w->state.activity = k_walk_activity_ground; + w->state.activity = k_walk_activity_ground; v3_add( surface_avg, ct->n, surface_avg ); @@ -661,6 +668,12 @@ static void player__walk_update(void){ player__pass_gate( id ); } rb_update_transform( &localplayer.rb ); + + if( (prev_state == k_walk_activity_oregular) || + (prev_state == k_walk_activity_oair) || + (prev_state == k_walk_activity_ipopoff) ){ + w->state.activity = prev_state; + } } static void player__walk_post_update(void){ @@ -689,10 +702,6 @@ static void player__walk_post_update(void){ v3_muladds( w->state.drop_in_target, localplayer.rb.to_world[1], 0.3f, p1 ); vg_line( w->state.drop_in_target, p1, VG__GREEN ); - vg_line( w->state.drop_in_target, w->state.drop_in_foot_anchor, VG__WHITE ); - vg_line_point( w->state.drop_in_foot_anchor, 0.08f, VG__PINK ); - - float a = player_get_heading_yaw(); p1[0] = sinf( a ); p1[1] = 0.0f; @@ -738,12 +747,88 @@ static void player__walk_post_update(void){ w->state.step_phase = walk_phase; } +static void player__walk_update(void){ + struct player_walk *w = &player_walk; + + if( (w->state.activity == k_walk_activity_air) || + (w->state.activity == k_walk_activity_ground) || + (w->state.activity == k_walk_activity_oair) || + (w->state.activity == k_walk_activity_oregular) || + (w->state.activity == k_walk_activity_ipopoff) ){ + player_walk_update_generic(); + } +} + +static void player_walk_animate_drop_in(void){ + struct player_walk *w = &player_walk; + struct player_walk_animator *animator = &w->animator; + struct skeleton_anim *anim = w->anim_drop_in; + + f32 length = (f32)(anim->length-1) / anim->rate, + time = w->state.transition_t; + + f32 walk_yaw = vg_alerpf( w->state.drop_in_start_angle, + w->state.drop_in_angle, animator->transition_t ); + v3_lerp( w->state.drop_in_start, w->state.drop_in_target, + animator->transition_t, localplayer.rb.co ); + q_axis_angle( localplayer.rb.q, (v3f){0,1,0}, walk_yaw + VG_PIf ); + + /* the drop in bit */ + v3f final_co; + v4f final_q; + player_walk_drop_in_overhang_transform( animator->transition_t, + final_co, final_q ); + + q_mul( final_q, localplayer.rb.q, localplayer.rb.q ); + v3_lerp( localplayer.rb.co, final_co, animator->transition_t, + localplayer.rb.co ); + + rb_update_transform( &localplayer.rb ); + + v3_muladds( localplayer.rb.co, localplayer.rb.to_world[1], + -0.1f*animator->transition_t, localplayer.rb.co ); + + v3_copy( localplayer.rb.co, animator->root_co ); + v4_copy( localplayer.rb.q, animator->root_q ); + + /* for the camera purposes only */ + v3f init_velocity; + player_walk_drop_in_vector( init_velocity ); + v3_muls( init_velocity, animator->transition_t, localplayer.rb.v ); + v3_copy( localplayer.rb.v, + localplayer.cam_control.cam_velocity_smooth ); +} + +static void player_walk_animate_generic(void){ + struct player_walk *w = &player_walk; + struct player_walk_animator *animator = &w->animator; + + v4f _null; + rb_extrapolate( &localplayer.rb, animator->root_co, _null ); + + f32 walk_yaw = player_get_heading_yaw(), + head_yaw = localplayer.angles[0] + VG_PIf, + y = vg_angle_diff( head_yaw, -walk_yaw ), + p = vg_clampf( localplayer.angles[1], + -k_sit_pitch_limit, k_sit_pitch_limit ); + + if( fabsf(y) > k_sit_yaw_limit ){ + y = 0.0f; + p = 0.0f; + } + + animator->yaw = vg_lerpf( animator->yaw, y, vg.time_delta*2.0f ); + animator->pitch = vg_lerpf( animator->pitch, p, vg.time_delta*2.8f ); + q_axis_angle( animator->root_q, (v3f){0,1,0}, walk_yaw + VG_PIf ); +} + static void player__walk_animate(void){ struct player_walk *w = &player_walk; player_pose *pose = &localplayer.pose; struct player_walk_animator *animator = &w->animator; - animator->outro_type = w->state.outro_type; + animator->activity = w->state.activity; + animator->transition_t = w->state.transition_t; { f32 fly = (w->state.activity == k_walk_activity_air)? 1.0f: 0.0f, @@ -772,99 +857,84 @@ static void player__walk_animate(void){ } else w->state.walk_timer = 0.0f; + animator->walk_timer = w->state.walk_timer; - if( localplayer.immobile || (w->state.outro_type == k_walk_outro_drop_in) ){ - v3_copy( localplayer.rb.co, animator->root_co ); - v4_copy( localplayer.rb.q, animator->root_q ); + player_walk_animate_generic(); + if( w->state.activity == k_walk_activity_odrop_in ){ + player_walk_animate_drop_in(); } - else{ - rb_extrapolate( &localplayer.rb, animator->root_co, animator->root_q ); + + if( (w->state.activity == k_walk_activity_odrop_in) || + (w->state.activity == k_walk_activity_oregular) || + (w->state.activity == k_walk_activity_oair) ){ + localplayer.cam_velocity_influence = w->animator.transition_t; + } + else if( w->state.activity == k_walk_activity_ipopoff ){ + localplayer.cam_velocity_influence = 1.0f-w->animator.transition_t; } + else + localplayer.cam_velocity_influence = 0.0f; +} - f32 walk_yaw = player_get_heading_yaw(); +static void player_walk_pose_sit( struct player_walk_animator *animator, + player_pose *pose ){ + mdl_keyframe bpose[32]; - /* sitting */ - animator->sit_t = w->state.sit_t; + struct player_walk *w = &player_walk; + struct skeleton *sk = &localplayer.skeleton; - { - f32 head_yaw = localplayer.angles[0] + VG_PIf, - y = vg_angle_diff( head_yaw, -walk_yaw ), - p = vg_clampf( localplayer.angles[1], - -k_sit_pitch_limit, k_sit_pitch_limit ); - - if( fabsf(y) > k_sit_yaw_limit ){ - y = 0.0f; - p = 0.0f; - } - animator->yaw = vg_lerpf( animator->yaw, y, vg.time_delta*2.0f ); - animator->pitch = vg_lerpf( animator->pitch, p, vg.time_delta*2.8f ); - } + f32 t = animator->transition_t, + st = t * ((f32)(w->anim_sit->length-1)/30.0f); + skeleton_sample_anim( sk, w->anim_sit, st, bpose ); + + v4f qy,qp; + f32 *qh = bpose[localplayer.id_head-1].q; + q_axis_angle( qy, (v3f){0,1,0}, animator->yaw*0.5f*t ); + q_axis_angle( qp, (v3f){0,0,1}, animator->pitch*t ); + q_mul( qy, qh, qh ); + q_mul( qh, qp, qh ); + q_normalize( qh ); + + qh = bpose[localplayer.id_chest-1].q; + q_axis_angle( qy, (v3f){0,1,0}, animator->yaw*0.5f*t ); + q_mul( qy, qh, qh ); + q_normalize( qh ); + + skeleton_lerp_pose( sk, pose->keyframes, bpose, + vg_minf(1.0f,t*10.0f), pose->keyframes ); +} - if( w->state.outro_type ){ - struct skeleton_anim *anim = - player_walk_outro_anim( w->state.outro_type ); - f32 outro_length = (f32)anim->length / anim->rate, - outro_time = vg.time - w->state.outro_start_time; - animator->outro_t = outro_time / outro_length; - - if( w->state.outro_type == k_walk_outro_drop_in ){ - float inv_rate = 1.0f / anim->rate, - anim_frames = anim->length * inv_rate, - step_frames = 12.0f * inv_rate, - commit_frames = 6.0f * inv_rate, - drop_frames = anim_frames - step_frames, - step_t = vg_minf( 1.0f, outro_time / step_frames ), - remaind_time = vg_maxf( 0.0f, outro_time - step_frames ), - dop_t = vg_minf( 1.0f, remaind_time / drop_frames ); - animator->commit_t = vg_minf( 1.0f, remaind_time / commit_frames ); - - walk_yaw = vg_alerpf( w->state.drop_in_start_angle, - w->state.drop_in_angle, step_t ); - - v3_lerp( w->state.drop_in_start, w->state.drop_in_target, - step_t, localplayer.rb.co ); - v3_copy( localplayer.rb.co, animator->root_co ); - - /* for the camera purposes only */ - v3f init_velocity; - player_walk_drop_in_vector( init_velocity ); - v3_muls( init_velocity, dop_t, localplayer.rb.v ); - v3_copy( localplayer.rb.v, - localplayer.cam_control.cam_velocity_smooth ); - - q_axis_angle( animator->root_q, (v3f){0.0f,1.0f,0.0f}, - walk_yaw + VG_PIf ); - - v3_copy( w->state.drop_in_foot_anchor, animator->foot_anchor ); - - /* the drop in bit */ - if( step_t >= 1.0f ){ - v3f final_co; - v4f final_q; - player_walk_drop_in_overhang_transform( dop_t, final_co, final_q ); - - q_mul( final_q, animator->root_q, animator->root_q ); - v3_copy( final_co, animator->root_co ); - - - v4_copy( animator->root_q, localplayer.rb.q ); - rb_update_transform( &localplayer.rb ); - - v3_muladds( animator->root_co, localplayer.rb.to_world[1], - -0.1f*dop_t, animator->root_co ); - v3_copy( animator->root_co, localplayer.rb.co ); - } +enum walk_transition_type { + k_walk_transition_in, + k_walk_transition_out, + k_walk_transition_outin, +}; - return; - } - else{ - v3_muladds( animator->root_co, localplayer.rb.to_world[1], - -0.1f*animator->outro_t, animator->root_co ); - } - } +static void player_walk_pose_transition( + struct player_walk_animator *animator, struct skeleton_anim *anim, + enum walk_transition_type type, + mdl_keyframe apose[32], player_pose *pose ){ + + mdl_keyframe bpose[32]; + + struct player_walk *w = &player_walk; + struct skeleton *sk = &localplayer.skeleton; + + f32 length = (f32)(anim->length-1) / anim->rate, + t = animator->transition_t * length, + blend = 1.0f; + + if( type == k_walk_transition_in || type == k_walk_transition_outin ) + blend = vg_minf( blend, length-t ); - q_axis_angle( animator->root_q, (v3f){0.0f,1.0f,0.0f}, walk_yaw + VG_PIf ); + if( type == k_walk_transition_out || type == k_walk_transition_outin ) + blend = vg_minf( blend, t ); + + blend = vg_smoothstepf( vg_minf(1,blend/k_anim_transition) ); + + skeleton_sample_anim_clamped( sk, anim, t, bpose ); + skeleton_lerp_pose( sk, apose, bpose, blend, pose->keyframes ); } static void player__walk_pose( void *_animator, player_pose *pose ){ @@ -898,65 +968,43 @@ static void player__walk_pose( void *_animator, player_pose *pose ){ skeleton_lerp_pose( sk, apose, bpose, l, apose ); } - /* air */ skeleton_sample_anim( sk, w->anim_jump, vg.time*0.6f, bpose ); skeleton_lerp_pose( sk, apose, bpose, animator->fly, apose ); /* sit */ - if( animator->sit_t > 0.0f ){ - f32 sit_norm = (f32)(w->anim_sit->length-1)/30.0f, - st = vg_minf( 1.0f, animator->sit_t ); - skeleton_sample_anim( sk, w->anim_sit, st*sit_norm, bpose ); - - v4f qy,qp; - f32 *qh = bpose[localplayer.id_head-1].q; - q_axis_angle( qy, (v3f){0.0f,1.0f,0.0f}, animator->yaw*0.5f*st ); - q_axis_angle( qp, (v3f){0.0f,0.0f,1.0f}, animator->pitch*st ); - q_mul( qy, qh, qh ); - q_mul( qh, qp, qh ); - q_normalize( qh ); - - qh = bpose[localplayer.id_chest-1].q; - q_axis_angle( qy, (v3f){0.0f,1.0f,0.0f}, animator->yaw*0.5f*st ); - q_mul( qy, qh, qh ); - q_normalize( qh ); - - skeleton_lerp_pose( sk, apose, bpose, vg_minf(1.0f,st*10.0f), apose ); + if( (animator->activity == k_walk_activity_sit) || + (animator->activity == k_walk_activity_sit_up) ){ + player_walk_pose_sit( animator, pose ); } - - if( animator->outro_type ){ - struct skeleton_anim *anim = player_walk_outro_anim(animator->outro_type); - - if( !anim ){ - skeleton_copy_pose( sk, apose, pose->keyframes ); - return; - } - - f32 outro_length = (f32)anim->length / anim->rate, - outro_time = animator->outro_t*outro_length; - - skeleton_sample_anim_clamped( sk, anim, outro_time, bpose ); - skeleton_lerp_pose( sk, apose, bpose, animator->outro_t*10.0f, - pose->keyframes ); - - if( animator->outro_type == k_walk_outro_drop_in ){ - m4x3f transform, inverse; - q_m3x3( pose->root_q, transform ); - v3_copy( pose->root_co, transform[3] ); - m4x3_invert_affine( transform, inverse ); - - v3f anchored_pos; - m4x3_mulv( inverse, animator->foot_anchor, anchored_pos ); - - v3_lerp( pose->keyframes[ localplayer.id_ik_foot_r-1 ].co, - anchored_pos, - 1.0f-animator->commit_t, - pose->keyframes[ localplayer.id_ik_foot_r-1 ].co ); - } + else if( animator->activity == k_walk_activity_odrop_in ){ + player_walk_pose_transition( + animator, w->anim_drop_in, k_walk_transition_out, apose, pose ); } - else + else if( animator->activity == k_walk_activity_oair ){ + player_walk_pose_transition( + animator, w->anim_jump_to_air, k_walk_transition_out, apose, pose ); + } + else if( animator->activity == k_walk_activity_oregular ){ + player_walk_pose_transition( + animator, w->anim_intro, k_walk_transition_out, apose, pose ); + } + else if( animator->activity == k_walk_activity_ipopoff ){ + player_walk_pose_transition( + animator, w->anim_popoff, k_walk_transition_in, apose, pose ); + } + else { skeleton_copy_pose( sk, apose, pose->keyframes ); + } + + mdl_keyframe *kf_board = &pose->keyframes[localplayer.id_board-1]; + + f32 yaw = animator->board_yaw * VG_TAUf * 0.5f; + + v4f qyaw; + q_axis_angle( qyaw, (v3f){0,1,0}, yaw ); + q_mul( kf_board->q, qyaw, kf_board->q ); + q_normalize( kf_board->q ); } static void player__walk_post_animate(void){ @@ -965,34 +1013,27 @@ static void player__walk_post_animate(void){ */ struct player_walk *w = &player_walk; - if( w->state.outro_type ){ - struct skeleton_anim *anim = player_walk_outro_anim(w->state.outro_type); - - f32 outro_length = (f32)anim->length / anim->rate, - outro_time = vg.time - w->state.outro_start_time, - outro_t = outro_time / outro_length; - - localplayer.cam_velocity_influence = outro_t; - } - else - localplayer.cam_velocity_influence = 0.0f; } static void player__walk_im_gui(void){ struct player_walk *w = &player_walk; - player__debugtext( 1, "V: %5.2f %5.2f %5.2f",localplayer.rb.v[0], - localplayer.rb.v[1], - localplayer.rb.v[2] ); + player__debugtext( 1, "V: %5.2f %5.2f %5.2f (%5.2fm/s)", + localplayer.rb.v[0], localplayer.rb.v[1], localplayer.rb.v[2], + v3_length(localplayer.rb.v) ); player__debugtext( 1, "CO: %5.2f %5.2f %5.2f",localplayer.rb.co[0], localplayer.rb.co[1], localplayer.rb.co[2] ); + player__debugtext( 1, "transition: %5.2f ", w->state.transition_t ); player__debugtext( 1, "activity: %s\n", - (const char *[]){ "k_walk_activity_air", - "k_walk_activity_ground", - "k_walk_activity_sleep", - "k_walk_activity_lockedmove", - "k_walk_activity_sit", - "k_walk_activity_sit_up" } + (const char *[]){ "air", + "ground", + "sit", + "sit_up", + "inone", + "ipopoff", + "oair", + "odrop_in", + "oregular" } [w->state.activity] ); player__debugtext( 1, "surface: %s\n", (const char *[]){ "concrete", @@ -1001,15 +1042,6 @@ static void player__walk_im_gui(void){ "tiles", "metal" } [w->surface] ); - - if( w->state.outro_type ){ - struct skeleton_anim *anim = - player_walk_outro_anim( w->state.outro_type ); - - f32 outro_length = (f32)anim->length / anim->rate, - outro_time = vg.time - w->state.outro_start_time; - player__debugtext( 1, "outro time: %f / %f", outro_time, outro_length ); - } } static void player__walk_bind(void){ @@ -1024,17 +1056,19 @@ static void player__walk_bind(void){ w->anim_drop_in = skeleton_get_anim( sk, "drop_in" ); w->anim_intro = skeleton_get_anim( sk, "into_skate" ); w->anim_sit = skeleton_get_anim( sk, "sit" ); + w->anim_popoff = skeleton_get_anim( sk, "pop_off" ); } -static void player__walk_transition(void){ +static void player__walk_transition( enum walk_activity activity, + f32 board_yaw ){ struct player_walk *w = &player_walk; - w->state.activity = k_walk_activity_air; - w->state.outro_type = k_walk_outro_none; - w->state.outro_start_time = 0.0; + w->state.activity = activity; + w->state.transition_t = 0.0f; w->state.jump_queued = 0; w->state.jump_input_time = 0.0; w->state.walk_timer = 0.0f; w->state.step_phase = 0; + w->animator.board_yaw = fmodf( board_yaw, 2.0f ); v3f fwd = { 0.0f, 0.0f, 1.0f }; q_mulv( localplayer.rb.q, fwd, fwd ); @@ -1047,8 +1081,7 @@ static void player__walk_transition(void){ static void player__walk_reset(void){ struct player_walk *w = &player_walk; w->state.activity = k_walk_activity_air; - w->state.outro_type = k_walk_outro_none; - w->state.outro_start_time = 0.0; + w->state.transition_t = 0.0f; v3f fwd = { 0.0f, 0.0f, 1.0f }; q_mulv( localplayer.rb.q, fwd, fwd ); @@ -1069,21 +1102,19 @@ static void player__walk_animator_exchange( bitpack_ctx *ctx, void *data ){ bitpack_qf32( ctx, 16, 0.0f, 120.0f, &animator->walk_timer ); for( int i=0; i<1; i++ ){ /* without this you get a warning from gcc. lol */ - bitpack_bytes( ctx, 8, &animator->outro_type ); - if( animator->outro_type ){ - bitpack_bytes( ctx, sizeof(animator->foot_anchor), - animator->foot_anchor ); - bitpack_qf32( ctx, 8, 0.0f, 1.0f, &animator->outro_t ); - bitpack_qf32( ctx, 8, 0.0f, 1.0f, &animator->commit_t ); - } + bitpack_bytes( ctx, 8, &animator->activity ); } - u32 code = bitpack_qf32( ctx, 8, 0.0f, 1.0f, &animator->sit_t ); - if( code ){ + bitpack_qf32( ctx, 8, 0.0f, 1.0f, &animator->transition_t ); + + if( (animator->activity == k_walk_activity_sit) || + (animator->activity == k_walk_activity_sit_up) ){ bitpack_qf32( ctx, 8, -k_sit_yaw_limit, k_sit_yaw_limit, &animator->yaw ); bitpack_qf32( ctx, 8, -k_sit_pitch_limit, k_sit_pitch_limit, &animator->pitch ); } + + bitpack_qf32( ctx, 16, -100.0f, 100.0f, &animator->board_yaw ); } static void player__walk_sfx_oneshot( u8 id, v3f pos, f32 volume ){ diff --git a/player_walk.h b/player_walk.h index 368e99c..2e5101c 100644 --- a/player_walk.h +++ b/player_walk.h @@ -13,7 +13,6 @@ struct player_walk{ struct player_walk_state{ v3f prev_pos; v3f drop_in_target, - drop_in_foot_anchor, drop_in_start, drop_in_normal; @@ -23,28 +22,26 @@ struct player_walk{ enum walk_activity{ k_walk_activity_air, k_walk_activity_ground, - k_walk_activity_sleep, - k_walk_activity_lockedmove, k_walk_activity_sit, - k_walk_activity_sit_up + k_walk_activity_sit_up, + + /* transitions */ + k_walk_activity_inone, + k_walk_activity_ipopoff, + k_walk_activity_oair, + k_walk_activity_odrop_in, + k_walk_activity_oregular, + + k_walk_activity_max, } activity; - enum walk_outro{ - k_walk_outro_none, - k_walk_outro_jump_to_air, - k_walk_outro_drop_in, - k_walk_outro_regular, - k_walk_outro_max - } - outro_type; - double outro_start_time; + f32 transition_t; int jump_queued; f64 jump_input_time; f32 walk_timer; - f32 sit_t; int step_phase; } state; @@ -54,7 +51,7 @@ struct player_walk{ enum mdl_surface_prop surface; struct skeleton_anim *anim_walk, *anim_run, *anim_idle, *anim_jump, *anim_jump_to_air, *anim_drop_in, *anim_intro, - *anim_sit; + *anim_sit, *anim_popoff; struct player_walk_animator { v3f root_co; @@ -63,13 +60,10 @@ struct player_walk{ run, walk; - f32 walk_timer, yaw, pitch; + f32 walk_timer, yaw, pitch, board_yaw; - v3f foot_anchor; - enum walk_outro outro_type; - f32 outro_t, - commit_t, - sit_t; + enum walk_activity activity; + f32 transition_t; } animator; } @@ -80,7 +74,7 @@ enum player_walk_soundeffect { }; static f32 - k_walkspeed = 3.0f, + k_walkspeed = 4.4f, k_runspeed = 10.0f, k_airspeed = 1.2f, k_stopspeed = 4.0f, @@ -110,10 +104,11 @@ static void player__walk_pose (void *animator, player_pose *pose); static void player__walk_post_animate(void); static void player__walk_im_gui (void); static void player__walk_bind (void); -static void player__walk_transition (void); static void player__walk_reset (void); static void player__walk_restore (void); static void player__walk_animator_exchange( bitpack_ctx *ctx, void *data ); +static void player__walk_transition( enum walk_activity activity, + f32 board_yaw ); struct player_subsystem_interface static player_subsystem_walk = { .system_register = player__walk_register, -- 2.25.1