X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=menu.h;h=5a6dbc452f41f731c2f66c9f8b6f3f9e96334185;hb=61d4952a59c72dab12aa5cb9100d4433b2cdcedf;hp=dd9f08e236687ba58cba08029f682f009b4d765f;hpb=304647a7672165dd35ffe54884ed9aedcc9bf363;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/menu.h b/menu.h index dd9f08e..5a6dbc4 100644 --- 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( ui_context *ctx ); +void menu_open( enum menu_page page ); +bool menu_viewing_map(void);