{
return (skaterift.activity == k_skaterift_menu) &&
(menu.page == k_menu_page_main) &&
- (menu.main_index == 0);
+ (menu.main_index == k_menu_main_map);
}
void menu_gui(void)
if( skaterift.activity != k_skaterift_menu ) return;
- /* top bar */
+
+ /* TOP BAR
+ * -------------------------------------------------------------------*/
+
ui_font_face( &vgf_default_title );
ui_px height = vg_ui.font->ch + 16;
ui_rect topbar = { 0, 0, vg.window_x, height };
const char *opts[] = {
- "Map", "Online", "Settings", "Video"
+ [k_menu_main_main] = "Menu",
+ [k_menu_main_map] = "Map"
};
/* TAB CONTROL */
}
}
- if( menu.main_index == 0 )
+ if( menu.main_index == k_menu_main_map )
{
+ ui_font_face( &vgf_default_large );
+ ui_rect title = { vg.window_x/2 - 512/2, height+8, 512, 64 };
+
+ ui_px x = 8,
+ y = height+8;
+
+ struct ui_vert *vs =
+ ui_fill( (ui_rect){ x,y, 0,height },
+ world_static.active_instance? GUI_COL_DARK: GUI_COL_ACTIVE );
+
+ char buf[64];
+ vg_str str;
+ vg_strnull( &str, buf, sizeof(buf) );
+ vg_strcat( &str, "Hub World" );
+
+ if( world_static.active_instance &&
+ (vg_input.display_input_method == k_input_method_controller) )
+ {
+ vg_strcat( &str, " (" );
+ vg_input_string( &str, input_button_list[k_srbind_mhub], 1 );
+ vg_strcat( &str, ")" );
+ }
+
+ ui_px w = ui_text( (ui_rect){ x+8, y, 1000, height }, buf, 1,
+ k_ui_align_middle_left, 0 );
+ w *= vg_ui.font->sx;
+ x += w + 16;
+
+ vs[1].co[0] = x + 8;
+ vs[2].co[0] = x;
+
+ x += 2;
+
+ world_instance *world = &world_static.instances[1];
+ if( world->status == k_world_status_loaded )
+ {
+ const char *world_name =
+ mdl_pstr( &world->meta, world->info.pstr_name );
+
+ vg_strnull( &str, buf, sizeof(buf) );
+ vg_strcat( &str, world_name );
+
+ if( !world_static.active_instance &&
+ (vg_input.display_input_method == k_input_method_controller) )
+ {
+ vg_strcat( &str, " (" );
+ vg_input_string( &str, input_button_list[k_srbind_mhub], 1 );
+ vg_strcat( &str, ")" );
+ }
+
+ vs = ui_fill( (ui_rect){ x,y, 1000,height },
+ world_static.active_instance? GUI_COL_ACTIVE: GUI_COL_DARK );
+ w = ui_text( (ui_rect){ x+16,y, 1000,height }, buf,
+ 1, k_ui_align_middle_left, 0 );
+
+ w = w*vg_ui.font->sx + 8*3;
+ x += w;
+
+ if( button_down( k_srbind_mhub ) ||
+ ui_button_base( (ui_rect){0,y,x,height} ) == k_ui_button_click )
+ {
+ world_switch_instance( world_static.active_instance ^ 0x1 );
+ skaterift.activity = k_skaterift_default;
+ world_map.view_ready = 0;
+ }
+
+ vs[0].co[0] += 8;
+ vs[1].co[0] = x + 8;
+ vs[2].co[0] = x;
+ }
}
else
{
}
}
- vg_ui.frosting = gui.factive*0.015f;
+ /* MAIN / MAIN
+ * -------------------------------------------------------------------*/
+
+ if( menu.main_index == k_menu_main_main )
+ {
+ ui_rect list = { vg.window_x/2 - 512/2, height+64,
+ 512, vg.window_y-height-128 };
+ ui_fill( list, GUI_COL_DARK );
+ }
+
+ vg_ui.frosting = 0.015f;
ui_flush( k_ui_shader_colour, vg.window_x, vg.window_y );
vg_ui.frosting = 0.0f;