prem image
[carveJwlIkooP6JGAAIwe30JlM.git] / menu.h
diff --git a/menu.h b/menu.h
index dd9f08e236687ba58cba08029f682f009b4d765f..47d3be69866c67819d53757459d9966bde51890a 100644 (file)
--- a/menu.h
+++ b/menu.h
@@ -1,56 +1,56 @@
 #pragma once
+
 #define MENU_STACK_SIZE 8
 
 #include "vg/vg_engine.h"
 #include "entity.h"
 
+enum menu_page
+{
+   k_menu_page_any,
+   k_menu_page_starter,
+   k_menu_page_premium,
+   k_menu_page_main,
+   k_menu_page_credits,
+   k_menu_page_help,
+};
+
+enum menu_main_subpage
+{
+   k_menu_main_main = 0,
+   k_menu_main_map  = 1,
+   k_menu_main_settings = 2,
+   k_menu_main_guide = 3
+};
+
 struct global_menu
 {
-   int credits_open;
    int disable_open;
    i32 skip_starter;
+   enum menu_page page;
+   i32 main_index, 
+       main_row,
+       settings_row,
+       guides_row,
+       intro_row,
+       guide_sel,
+       prem_row;
+   f32 mouse_dist;  /* used for waking up mouse */
 
-   u32 page, /* current page index */
-       page_depth,
-       controls_page_id;
-
-   ent_menuitem *ctr_kbm,
-                *ctr_deck,
-                *ctr_ps,
-                *ctr_steam,
-                *ctr_xbox;
-
-   enum menu_input_mode{
-      k_menu_input_mode_keys,
-      k_menu_input_mode_mouse
-   }
-   input_mode;
-   f32 mouse_track, mouse_dist;  /* used for waking up mouse */
-   f32 slider_offset;
-
-   struct page_stack_frame {
-      u32 page;
-      ent_menuitem *loc;
-      ent_camera *cam;
-   }
-   page_stack[ MENU_STACK_SIZE ];
-   
-   ent_menuitem *loc;
-   ent_camera   *cam;
-   vg_camera     view;
-
-   mdl_context model;
-   GLuint *textures;
-   glmesh mesh;
-
-   mdl_array_ptr items, markers, cameras;
+   f32 repeater;
+
+   bool bg_blur;
+   ent_camera *bg_cam;
+
+   const char *web_link;   /* if set; modal */
+   i32 web_choice;
+
+   GLuint prem_tex;
 }
 extern menu;
-void menu_close(void);
+
 void menu_init(void);
-void menu_open_page( const char *name, 
-                     enum ent_menuitem_stack_behaviour stackmode );
-void menu_link(void);
-void menu_update(void);
-void menu_render(void);
 void menu_at_begin(void);
+void menu_gui(void);
+void menu_open( enum menu_page page );
+bool menu_viewing_map(void);