small bugs
[carveJwlIkooP6JGAAIwe30JlM.git] / menu.h
diff --git a/menu.h b/menu.h
index bcd614198626e540ab06c4e792960c7b0758161e..7a008468802d1775848fdf358c48ec8002db9a41 100644 (file)
--- a/menu.h
+++ b/menu.h
@@ -49,13 +49,16 @@ VG_STATIC void menu_btn_settings( int event );
 VG_STATIC void menu_btn_invert_y( int event );
 
 VG_STATIC mdl_mesh *menu_mesh_fov_slider,
-                   *menu_mesh_vol_slider;
+                   *menu_mesh_vol_slider,
+                   *menu_mesh_res_slider;
 
 VG_STATIC ent_marker
                    *menu_mark_fov_min,
                    *menu_mark_fov_max,
                    *menu_mark_vol_min,
-                   *menu_mark_vol_max;
+                   *menu_mark_vol_max,
+                   *menu_mark_res_min,
+                   *menu_mark_res_max;
 
 struct{
    /* state */
@@ -188,7 +191,7 @@ VG_STATIC menu_buttons[] =
 
 { 
    "vol_slider",     menu_vis, {k_menu_page_settings},
-   .lu="text_blur"
+   .lu="res_slider"
 },
 { "vol_info",        menu_vis, {k_menu_page_settings} },
 
@@ -203,12 +206,18 @@ VG_STATIC menu_buttons[] =
 { 
    "text_blur",      menu_vis, {k_menu_page_settings},
    .fn_press = menu_btn_blur, 
-   .lu="text_invert_y", .ld="vol_slider"
+   .lu="text_invert_y", .ld="res_slider"
 },
 {
    "text_blur_check", menu_settings_if, {.ptr_generic=&cl_blur} 
 },
-
+{
+   "res_slider",     menu_vis, {k_menu_page_settings},
+   .ld = "vol_slider", .lu = "text_blur"
+},
+{
+   "res_info", menu_vis, {k_menu_page_settings},
+},
 { "ctr_xbox",        menu_controller_inf, {k_menu_controller_type_xbox}},
 { "ctr_xbox_text",   menu_controller_inf, {k_menu_controller_type_xbox}},
 { "ctr_steam",       menu_controller_inf, {k_menu_controller_type_steam}},
@@ -404,9 +413,14 @@ VG_STATIC void menu_init(void)
       ent_find_marker( &menu_model, &menu_markers, "vol_slider_max" );
    menu_mark_vol_min = 
       ent_find_marker( &menu_model, &menu_markers, "vol_slider_min" );
+   menu_mark_res_max =
+      ent_find_marker( &menu_model, &menu_markers, "res_slider_max" );
+   menu_mark_res_min =
+      ent_find_marker( &menu_model, &menu_markers, "res_slider_min" );
 
    menu_mesh_fov_slider = mdl_find_mesh( &menu_model, "fov_slider" );
    menu_mesh_vol_slider = mdl_find_mesh( &menu_model, "vol_slider" );
+   menu_mesh_res_slider = mdl_find_mesh( &menu_model, "res_slider" );
 
    shader_model_menu_register();
 
@@ -615,6 +629,11 @@ VG_STATIC void menu_page_settings(void)
                   menu_mesh_vol_slider, menu_mark_vol_min->transform.co,
                   menu_mark_vol_max->transform.co );
 
+   menu_slider( &gpipeline.view_render_scale, 
+                  (game_menu.loc == menu_get_loc( "res_slider" )),
+                  menu_mesh_res_slider, menu_mark_res_min->transform.co,
+                  menu_mark_res_max->transform.co );
+
    if( menu_page_should_backout() ){
       game_menu.page = k_menu_page_main;
       game_menu.loc = menu_get_loc( "text_settings" );
@@ -807,7 +826,7 @@ VG_STATIC void menu_render_fg( camera *cam )
       mdl_transform_m4x3( &btn->mesh->transform, mtx );
       m4x3_mul( menu_mdl_mtx, mtx, mtx );
       m4x3_identity( mtx_size );
-      m4x3_scale( mtx_size, expSustainedImpulse( btn->fsize, 0.5f, 8.7f) );
+      m3x3_scalef( mtx_size, expSustainedImpulse( btn->fsize, 0.5f, 8.7f) );
       m4x3_mul( mtx, mtx_size, mtx );
       shader_model_menu_uMdl( mtx );