+ ui_rect end = { list[0], list[1]+list[3]-64, list[2], 72 };
+ if( menu_button( ctx, end, R == 2, "Quit Game" ) )
+ {
+ vg.window_should_close = 1;
+ }
+ }
+ else if( menu.main_index == k_menu_main_settings )
+ {
+ ui_fill( ctx, list0, ui_opacity( GUI_COL_DARK, 0.36f ) );
+ ui_outline( ctx, list0, 1, GUI_COL_NORM, 0 );
+ i32 R = menu_nav( &menu.settings_row, mv, 8 );
+
+ ctx->font = &vgf_default_large;
+ list[1] -= 8;
+ menu_heading( ctx, list, "Game", 0 );
+ menu_checkbox( ctx, list, R == 0, "Show controls overlay",
+ &control_overlay.enabled );
+ menu_checkbox( ctx, list, R == 1, "Auto connect to global server",
+ &network_client.auto_connect );
+
+ menu_heading( ctx, list, "Audio/Video", 0 );
+ menu_slider( ctx, list, R == 2, "Volume", 0, 100,
+ &vg_audio.external_global_volume, "%.f%%" );
+ menu_slider( ctx, list, R == 3, "Resolution", 0, 100,
+ &k_render_scale, "%.f%%" );
+ menu_checkbox( ctx, list, R == 4, "Motion Blur", &k_blur_effect );
+
+ menu_heading( ctx, list, "Camera", 0 );
+ menu_slider( ctx, list, R == 5, "Fov", 97, 135,
+ &k_fov, "%.1f\xb0" );
+ menu_slider( ctx, list, R == 6, "Cam Height", -0.4f, +1.4f,
+ &k_cam_height, vg_lerpf(-0.4f,1.4f,k_cam_height)>=0.0f?
+ "+%.2fm": "%.2fm" );
+ menu_checkbox( ctx, list, R == 7, "Invert Y Axis", &k_invert_y );
+
+
+ ui_rect end = { list[0], list[1]+list[3]-64, list[2], 72 };
+ ctx->font = &vgf_default_small;
+ menu_heading( ctx, end, "Advanced", 0 );
+ if( menu_button( ctx, end, R == 8, "Open Engine Settings" ) )
+ {
+ vg_settings_open();
+ }
+ }
+ else if( menu.main_index == k_menu_main_guide )
+ {
+ list0[0] = 8;
+ list[0] = 16;
+
+ ui_px w = 700,
+ marg = list0[0]+list0[2],
+ pw = vg.window_x - marg,
+ infx = pw/2 - w/2 + marg;
+ ui_rect inf = { infx, height +32, w, 800 };
+
+ struct ui_vert *vs = NULL;
+
+ if( menu.guide_sel && (menu.guide_sel <= 3) )
+ {
+ vs = ui_fill( ctx, inf, ui_opacity( GUI_COL_DARK, 0.20f ) );
+ ui_rect_pad( inf, (ui_px[]){8,8} );
+ }