From 53b534974303043efaf1d887711fcd349f6a2885 Mon Sep 17 00:00:00 2001 From: hgn Date: Thu, 14 Dec 2023 01:28:31 +0000 Subject: [PATCH 01/16] PC controls for skids --- input.h | 3 ++- models_src/ch_none.mdl | Bin 874072 -> 874072 bytes player_skate.c | 17 +++++++++++++++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/input.h b/input.h index fb2f3d9..e93409b 100644 --- a/input.h +++ b/input.h @@ -12,6 +12,7 @@ enum sr_bind{ k_srbind_jump = 0, k_srbind_push, + k_srbind_skid, k_srbind_trick0, k_srbind_trick1, k_srbind_trick2, @@ -114,7 +115,7 @@ static vg_input_op *input_button_list[] = { }, [k_srbind_miniworld_teleport]= INPUT_BASIC( SDLK_q, SDL_CONTROLLER_BUTTON_LEFTSHOULDER ), - +[k_srbind_skid] = (vg_input_op[]){ vg_keyboard, SDLK_LCTRL, vg_end }, [k_srbind_max]=NULL }; diff --git a/models_src/ch_none.mdl b/models_src/ch_none.mdl index 32f72742438ac9e8e5e0b3c6db43ed72cfe5766d..fa90273ef1c65d140296ec6dda3d6a44cdfcc8fe 100644 GIT binary patch delta 13937 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 L-UDq)udVh!gG7&g delta 13833 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 IDy8cG0J6vUod5s; diff --git a/player_skate.c b/player_skate.c index 1c748dc..986be2d 100644 --- a/player_skate.c +++ b/player_skate.c @@ -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; + } } } -- 2.25.1 From 2045008fd9c117a2a566dbe72d5998780fd4fa3b Mon Sep 17 00:00:00 2001 From: hgn Date: Thu, 14 Dec 2023 02:04:16 +0000 Subject: [PATCH 02/16] adjust input filtering --- player_skate.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/player_skate.c b/player_skate.c index 986be2d..dd0157b 100644 --- a/player_skate.c +++ b/player_skate.c @@ -840,11 +840,12 @@ static void skate_apply_steering_model(void){ /* 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) && (fabsf(state->skid)<0.01f) && + (fabsf(steer) > 0.4f) ){ + state->skid = vg_signf( steer ) * 0.02f; } - if( button_press(k_srbind_skid) ){ + if( button_press(k_srbind_skid) && (fabsf(state->skid)>0.01f) ){ skid_target = vg_signf( state->skid ); } } -- 2.25.1 From 758be2274cc820359ad72ea9e7074081f0e48094 Mon Sep 17 00:00:00 2001 From: hgn Date: Thu, 14 Dec 2023 03:36:04 +0000 Subject: [PATCH 03/16] ui frosting info --- skaterift.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/skaterift.c b/skaterift.c index 00fb7d5..1700dc7 100644 --- a/skaterift.c +++ b/skaterift.c @@ -668,6 +668,9 @@ static void vg_render(void){ static void vg_gui(void){ if( skaterift.op == k_async_op_clientloading ) return; + vg_ui.tex_bg = gpipeline.fb_main->attachments[0].id; + render_fb_inverse_ratio( gpipeline.fb_main, vg_ui.bg_inverse_ratio ); + menu_update(); if( skaterift.activity == k_skaterift_menu ){ glClear( GL_DEPTH_BUFFER_BIT ); -- 2.25.1 From 23897aeb79caa65b4c19de6c2f20f05bf3d86114 Mon Sep 17 00:00:00 2001 From: hgn Date: Fri, 15 Dec 2023 15:49:37 +0000 Subject: [PATCH 04/16] handplants --- input.h | 3 +- maps_src/dev_flatworld/main.mdl | Bin 434728 -> 581560 bytes models_src/ch_none.mdl | Bin 874072 -> 948192 bytes player.h | 3 +- player_render.c | 22 ++++ player_render.h | 2 + player_skate.c | 175 ++++++++++++++++++++++++++++---- player_skate.h | 17 +++- 8 files changed, 195 insertions(+), 27 deletions(-) diff --git a/input.h b/input.h index e93409b..9d10fbd 100644 --- a/input.h +++ b/input.h @@ -39,7 +39,7 @@ enum sr_bind{ k_srbind_miniworld_teleport, k_srbind_miniworld_resume, - + k_srbind_devbutton, k_srbind_max, }; @@ -116,6 +116,7 @@ static vg_input_op *input_button_list[] = { [k_srbind_miniworld_teleport]= INPUT_BASIC( SDLK_q, SDL_CONTROLLER_BUTTON_LEFTSHOULDER ), [k_srbind_skid] = (vg_input_op[]){ vg_keyboard, SDLK_LCTRL, vg_end }, +[k_srbind_devbutton] = (vg_input_op[]){ vg_keyboard, SDLK_3, vg_end }, [k_srbind_max]=NULL }; diff --git a/maps_src/dev_flatworld/main.mdl b/maps_src/dev_flatworld/main.mdl index e86aba5288efc55f977a2864d4e0a4a3a5cb4ccf..7860b3f8a2bc8643b5bf0b6ead71112addd25082 100644 GIT binary patch delta 265656 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