From d43d7f62ff83799b6d99221d881179814cb239a6 Mon Sep 17 00:00:00 2001 From: hgn Date: Sat, 27 May 2023 06:22:58 +0100 Subject: [PATCH] fix long standing grind bug --- models_src/ch_jordan.mdl | Bin 406056 -> 365704 bytes models_src/ch_new.mdl | Bin 1090776 -> 1090776 bytes models_src/ch_outlaw.mdl | Bin 400864 -> 360512 bytes player_skate.c | 17 +++++++++++------ rigidbody.h | 2 +- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/models_src/ch_jordan.mdl b/models_src/ch_jordan.mdl index 5d12a1a38d589bca0661fdbc6c646e7f12cdef10..67eea2457079bdc120101b816d582f63c0b17b16 100644 GIT binary patch delta 497 zcmX|&K}Zx)9LC>&oSB{3W=lm>Tn9`%EH&jGJ(wnTSWpQhDiFy9MOJqA#q5$I2nq{z z33m7p30CkRsnkNCu^lS+BocP$)+JEz5JGfO=%DC-Ch^bve((F<|9k6)&962ZiyihM z3BgC?@@^_SnPc~Vp4JGVdVNh=LiNpPll_m4-|S{(#?#L-$^3+yN~ZmOm*+((;gzGx zyykstvE%jrs}Qv;znjdaxSo<(&T$Y$+x^B#h|^``#e|z@8%$e~#9JFZ)Tn&Y@t9^e z_vwjZE>_RaJ4N;HUEEh&QBn(f(Guc7#jw_HwqE`nz=HOUW{@=c@mzP{=nt^ZcS(PU zkV#usJ+cOsG=VVOCG$aP6+%rR&1hgrbr4M|0OXO?iUR?<4k z%q`e;lB#&k+`}33=VqopcT}05BkPuFZBO;SIeq_ir?R+4(-9h}L_X5e%F5+*5 delta 40594 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 diff --git a/models_src/ch_new.mdl b/models_src/ch_new.mdl index 4e6b96ff663ec4c01f347ab380f7746f3b9f8de8..aa3472fa657eb4e3a4abce327e8acfc192940e09 100644 GIT binary patch delta 84 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 s7c%)$L6nyXnS8k*$}5CSzETk7c|sbasis[1], si->normal3 ), yj = v3_dot( player->basis[1], sj->normal3 ); - if( yi > yj ) - v3_add( si->normal3, average_normal, average_normal ); - else - v3_add( sj->normal3, average_normal, average_normal ); + if( yi > yj ) v3_add( si->normal3, average_normal, average_normal ); + else v3_add( sj->normal3, average_normal, average_normal ); passed_samples ++; } @@ -1666,6 +1663,10 @@ VG_STATIC void skate_5050_apply( player_instance *player, v3_muladds( inf_back->co, inf_avg.dir, 0.5f, inf_avg.co ); v3_normalize( inf_avg.dir ); + /* dont ask */ + v3_muls( inf_avg.dir, vg_signf(v3_dot(inf_avg.dir,player->rb.v)), + inf_avg.dir ); + v3f axis_front, axis_back, axis; v3_cross( inf_front->dir, inf_front->n, axis_front ); v3_cross( inf_back->dir, inf_back->n, axis_back ); @@ -1694,6 +1695,8 @@ VG_STATIC void skate_5050_apply( player_instance *player, k_grind_spring, k_grind_dampener, k_rb_delta ); + vg_line_arrow( player->rb.co, up, 1.0f, VG__GREEN ); + vg_line_arrow( player->rb.co, target_up, 1.0f, VG__GREEN ); v3f fwd_nplane, dir_nplane; v3_muladds( player->rb.to_world[2], inf_avg.n, @@ -1710,6 +1713,8 @@ VG_STATIC void skate_5050_apply( player_instance *player, 1000.0f, k_grind_dampener, k_rb_delta ); + vg_line_arrow( player->rb.co, fwd_nplane, 0.8f, VG__RED ); + vg_line_arrow( player->rb.co, dir_nplane, 0.8f, VG__RED ); v3f pos_front = { 0.0f, -k_board_radius, -1.0f * k_board_length }, pos_back = { 0.0f, -k_board_radius, 1.0f * k_board_length }, diff --git a/rigidbody.h b/rigidbody.h index b3bd442..b1dc834 100644 --- a/rigidbody.h +++ b/rigidbody.h @@ -2229,7 +2229,7 @@ VG_STATIC void rb_effect_spring_target_vector( rigidbody *rba, v3f ra, v3f rt, float timestep ) { float d = v3_dot( rt, ra ); - float a = vg_signf( d ) * acosf( vg_clampf( d, -1.0f, 1.0f ) ); + float a = acosf( vg_clampf( d, -1.0f, 1.0f ) ); v3f axis; v3_cross( rt, ra, axis ); -- 2.25.1