From c6d2da460f572217f38b3a89f947cc75bf9414ff Mon Sep 17 00:00:00 2001 From: hgn Date: Tue, 23 Apr 2024 14:59:52 +0100 Subject: [PATCH] guide pages --- menu.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 79 insertions(+), 11 deletions(-) diff --git a/menu.c b/menu.c index 4e965d9..625700f 100644 --- a/menu.c +++ b/menu.c @@ -374,6 +374,8 @@ void menu_gui(void) if( menu.web_link ) { + menu_try_find_cam( 3 ); + ui_rect panel = { 0,0, 800, 200 }, screen = { 0,0, vg.window_x,vg.window_y }; ui_rect_center( screen, panel ); @@ -946,49 +948,115 @@ void menu_gui(void) 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( inf, ui_opacity( GUI_COL_DARK, 0.20f ) ); + ui_rect_pad( inf, (ui_px[]){8,8} ); + } + ui_fill( list0, ui_opacity( GUI_COL_DARK, 0.36f ) ); ui_outline( list0, 1, GUI_COL_NORM, 0 ); - i32 R = menu_nav( &menu.guides_row, mv, 7 ); + i32 R = menu_nav( &menu.guides_row, mv, 6 ); ui_font_face( &vgf_default_large ); list[1] -= 8; menu_heading( list, "Info", 0 ); + if( menu.guide_sel == 1 ) + { + menu_try_find_cam( 1 ); + + ui_rect title; + ui_split( inf, k_ui_axis_h, 28*2, 0, title, inf ); + ui_font_face( &vgf_default_title ); + ui_text( title, "Where to go", 1, k_ui_align_middle_center, 0 ); + + ui_split( inf, k_ui_axis_h, 28, 0, title, inf ); + ui_font_face( &vgf_default_large ); + ui_text( inf, + "Visit the sandcastles built by John Cockroach to be\n" + "transported into the real location. Use the map in the\n" + "menu to return back this hub island.\n" + "\n" + "You can begin training at the Volcano Island, where you\n" + "can learn movement skills. Then travel to Mt.Zero Island\n" + "or Bort Downtown to test them out. Finally the most\n" + "challenging course can be taken on at the Valley.\n" + "\n" + "Also visit the Steam Workshop for community made\n" + "locations to skate!" + , 1, k_ui_align_left, 0 ); + + vs[2].co[1] = vs[0].co[1] + 84 + vgf_default_large.sy*11 + 16; + vs[3].co[1] = vs[2].co[1]; + } if( menu_button( list, R == 0, "Where to go" ) ) menu.guide_sel = 1; - if( menu.guide_sel == 1 ) menu_try_find_cam( 1 ); - if( menu_button( list, R == 1, "Finding worlds" ) ) menu.guide_sel = 2; - if( menu.guide_sel == 2 ) menu_try_find_cam( 0 ); + if( menu.guide_sel == 3 ) + { + menu_try_find_cam( 2 ); + + ui_rect title; + ui_split( inf, k_ui_axis_h, 28*2, 0, title, inf ); + ui_font_face( &vgf_default_title ); + ui_text( title, "Online", 1, k_ui_align_middle_center, 0 ); - if( menu_button( list, R == 2, "Playing Online" ) ) menu.guide_sel = 3; - if( menu.guide_sel == 3 ) menu_try_find_cam( 2 ); + ui_split( inf, k_ui_axis_h, 28, 0, title, inf ); + ui_font_face( &vgf_default_large ); + ui_text( inf, + "Connection to the global server is managed by this radar\n" + "dish in the hub island. Come back here to turn the\n" + "connection on or off.\n" + "\n" + "You'll then see other players or your friends if you go\n" + "to the same location, and your highscores will be saved\n" + "onto the scoreboards." + , 1, k_ui_align_left, 0 ); + + vs[2].co[1] = vs[0].co[1] + 84 + vgf_default_large.sy*7 + 16; + vs[3].co[1] = vs[2].co[1]; + } + if( menu_button( list, R == 1, "Playing Online" ) ) menu.guide_sel = 3; menu_heading( list, "Controls", 0 ); - if( menu_button( list, R == 3, "Skating \xb2" ) ) + if( menu_button( list, R == 2, "Skating \xb2" ) ) { + menu.guide_sel = 0; menu_link_modal( "https://skaterift.com/index.php?page=skating" ); } if( menu.guide_sel == 0 || menu.guide_sel > 3 ) menu_try_find_cam( 3 ); - if( menu_button( list, R == 4, "Tricks \xb2" ) ) + if( menu_button( list, R == 3, "Tricks \xb2" ) ) { + menu.guide_sel = 0; menu_link_modal( "https://skaterift.com/index.php?page=tricks" ); } menu_heading( list, "Workshop", 0 ); - if( menu_button( list, R == 5, "Create a Board \xb2" ) ) + if( menu_button( list, R == 4, "Create a Board \xb2" ) ) { + menu.guide_sel = 0; menu_link_modal( "https://skaterift.com/index.php?page=workshop_board" ); } - if( menu_button( list, R == 6, "Create a World \xb2" ) ) + if( menu_button( list, R == 5, "Create a World \xb2" ) ) { + menu.guide_sel = 0; menu_link_modal( "https://skaterift.com/index.php?page=workshop_world" ); } - if( menu_button( list, R == 7, "Create a Playermodel \xb2" ) ) + if( menu_button( list, R == 6, "Create a Playermodel \xb2" ) ) { + menu.guide_sel = 0; menu_link_modal( "https://skaterift.com/index.php?page=workshop_player" ); } -- 2.25.1