X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=menu.h;h=4f6564407990d6346ac91320bd051036dd836309;hb=56f320d8ce6e8997370ec8e02fe50ca2d07b67f0;hp=b8c5c8dbe2c5ed62bc0701f4c7a147e2c02bc408;hpb=b528a849aba893cee8c8bfbaa01ff13cf59fb429;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/menu.h b/menu.h index b8c5c8d..4f65644 100644 --- a/menu.h +++ b/menu.h @@ -78,11 +78,8 @@ enum menu_page struct menu_btn_userdata { - union - { - int i; - void *ptr_generic; - }; + int i; + void *ptr_generic; }; VG_STATIC int menu_settings_if( struct menu_btn_userdata ud ) @@ -139,11 +136,11 @@ struct menu_button } VG_STATIC menu_buttons[] = { -{ - "text_quit", menu_vis, {.i=k_menu_page_main|k_menu_page_quit}, - .fn_press = menu_btn_quit, - .ld="text_reset", .lr="text_settings", .ll="text_map" -}, + { + "text_quit", menu_vis, {.i=k_menu_page_main|k_menu_page_quit}, + .fn_press = menu_btn_quit, + .ld="text_reset", .lr="text_settings", .ll="text_map" + }, { "text_quitty", menu_vis, {.i=k_menu_page_quit} }, @@ -491,7 +488,7 @@ VG_STATIC void menu_page_map(void) audio_play_oneshot( &audio_rewind[4], 1.0f ); audio_unlock(); - if( v < 0.0f ) + if( v > 0.0f ) { game_menu.selected_map --; @@ -585,14 +582,16 @@ VG_STATIC void menu_page_skater(void) } } -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 ); } @@ -601,20 +600,18 @@ VG_STATIC void menu_page_settings(void) { 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() ) { @@ -728,6 +725,7 @@ VG_STATIC void menu_update(void) } /* Update camera */ +#if 0 { main_camera.angles[0] = vg_alerpf( main_camera.angles[0], angles[0], menu_opacity ); @@ -737,6 +735,7 @@ VG_STATIC void menu_update(void) camera_update_transform( &main_camera ); } +#endif float dt = vg.frame_delta * 6.0f; menu_opacity = vg_lerpf( menu_opacity, cl_menu&&!cl_menu_go_away, dt );