+VG_STATIC int menu_loc = 1,
+ menu_loc_last = 1;
+VG_STATIC u32 menu_page = 0;
+
+VG_STATIC int cl_menu = 0,
+ cl_menu_go_away = 0;
+
+VG_STATIC const char *playermodels[] = { "ch_new", "ch_jordan", "ch_outlaw" };
+
+vg_tex2d tex_menu = { .path = "textures/menu.qoi",.flags = VG_TEXTURE_NEAREST };
+
+VG_STATIC void menu_btn_paused( int event );
+VG_STATIC void menu_btn_quit( int event );
+VG_STATIC void menu_btn_skater( int event );
+VG_STATIC void menu_btn_map( int event );
+VG_STATIC void menu_btn_map_a( int event );
+VG_STATIC void menu_btn_map_b( int event );
+VG_STATIC void menu_btn_map_c( int event );
+VG_STATIC void menu_btn_fuckoff( int event );
+
+struct menu_button
+{
+ const char *name;
+ u32 areas;
+
+ void (*fn_press)(int event);
+ int links[4];
+ mdl_node *pnode;
+
+ float falpha, fsize;
+}
+VG_STATIC menu_buttons[] =
+{
+/*0*/{"text_paused", 1, menu_btn_paused },
+/*1*/{"text_quit", 9, menu_btn_quit, {3,-1,4,2}},
+/*2*/{"text_skater", 3, menu_btn_skater, {3,1,4,-1}},
+/*3*/{"text_map", 5, menu_btn_map, {-1,-1,2,-1}},
+/*4*/{"text_about_game", 1, NULL, {2,-1,-1,-1}},
+/*5*/{"skater_left", 2, NULL, {-1,-1,-1,-1}},
+/*6*/{"skater_right", 2, NULL, {-1,-1,-1,-1}},
+/*7*/{"map_a", 4, menu_btn_map_a,{8, -1, 9, 9 }},
+/*8*/{"map_b", 4, menu_btn_map_b,{-1,7,7,-1}},
+/*9*/{"map_c", 4, menu_btn_map_c,{7,7,-1,8}},
+/*a*/{"g_map", 5, NULL },
+/*b*/{"g_controls", 1, NULL },
+/*c*/{"text_quitty", 8, NULL },
+/*d*/{"text_yes", 8, menu_btn_fuckoff,{-1,-1,-1,-1} },
+};
+
+VG_STATIC void menu_btn_map_a( int event ){}
+VG_STATIC void menu_btn_map_b( int event ){}
+VG_STATIC void menu_btn_map_c( int event ){}
+
+VG_STATIC void menu_btn_paused( int event )
+{
+
+}
+
+VG_STATIC void menu_btn_fuckoff( int event )
+{
+ glfwSetWindowShouldClose( vg.window, 1 );
+}
+
+VG_STATIC void menu_btn_quit( int event )