workshop ready
[carveJwlIkooP6JGAAIwe30JlM.git] / menu.h
diff --git a/menu.h b/menu.h
index 3d8eaf04dc4f5edf8e6919807dde0fa5bd579a7a..dd2cf686d8b3cf286f29afeca822998fd2212240 100644 (file)
--- a/menu.h
+++ b/menu.h
@@ -7,6 +7,8 @@
 #include "player.h"
 #include "conf.h"
 #include "shaders/model_menu.h"
+#include "audio.h"
+#include "input.h"
 
 #define MENU_STACK_SIZE 8
 
@@ -329,9 +331,14 @@ static void menu_update(void)
 
          f32 s,t;
          v3f c1, c2;
-
-         closest_segment_segment( ml->transform.co, mr->transform.co,
-                                  menu.view.pos, q2, &s,&t, c1,c2 );
+         v3f p1, q1, v0;
+         v3_sub( mr->transform.co, ml->transform.co, v0 );
+         v3_muladds( ml->transform.co, v0, -1.0f, p1 );
+         v3_muladds( mr->transform.co, v0,  1.0f, q1 );
+         closest_segment_segment( p1, q1, menu.view.pos, q2, &s,&t, c1,c2 );
+
+         s-=(1.0f/3.0f);
+         s/=(1.0f/3.0f);
 
          if( ui_click_down(UI_MOUSE_LEFT) ){
             menu.slider_offset = *menu.loc->pf32 - s;