guide pages
authorhgn <hgodden00@gmail.com>
Tue, 23 Apr 2024 13:59:52 +0000 (14:59 +0100)
committerhgn <hgodden00@gmail.com>
Tue, 23 Apr 2024 13:59:52 +0000 (14:59 +0100)
menu.c

diff --git a/menu.c b/menu.c
index 4e965d9800616068160a03a931788f93738e617f..625700f522304c72503bf9b0b2ba3131c19dafc9 100644 (file)
--- 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" );
          }