}
}
-VG_STATIC void menu_slider( float *value, float min, float max,
+VG_STATIC void menu_slider( float *value, int set_value,
mdl_node *slider, mdl_node *pmin, mdl_node *pmax )
{
- float h = input_menu_h.axis.value;
-
- if( fabsf(h) > 0.04f )
- *value += h * vg.frame_delta;
- *value = vg_clampf( *value, min, max );
+ if( set_value )
+ {
+ float h = input_menu_h.axis.value;
+ if( fabsf(h) > 0.04f )
+ *value += h * vg.frame_delta;
+ *value = vg_clampf( *value, 0.0f, 1.0f );
+ }
v3_lerp( pmin->co, pmax->co, *value, slider->co );
}
{
menu_run_directional();
- if( game_menu.loc == menu_get_loc( "fov_slider" ) )
- {
- menu_slider( &cl_fov, 0.0f, 1.0f,
- menu_pnode_fov_slider, menu_pnode_fov_min,
- menu_pnode_fov_max );
+ int fov_select = game_menu.loc == menu_get_loc( "fov_slider" );
+ menu_slider( &cl_fov, fov_select,
+ menu_pnode_fov_slider, menu_pnode_fov_min,
+ menu_pnode_fov_max );
+ if( fov_select )
menu_fov_target = vg_lerpf( 97.0f, 135.0f, cl_fov ) * 0.8f;
- }
- else if( game_menu.loc == menu_get_loc( "vol_slider" ) )
- {
- menu_slider( &cl_volume, 0.0f, 1.0f,
- menu_pnode_vol_slider, menu_pnode_vol_min,
- menu_pnode_vol_max );
- }
+
+ menu_slider( &vg_audio.volume_console,
+ (game_menu.loc == menu_get_loc( "vol_slider" )),
+ menu_pnode_vol_slider, menu_pnode_vol_min,
+ menu_pnode_vol_max );
if( menu_page_should_backout() )
{