#include "hud_config.qh"
#include "hud.qh"
+#include "panel/scoreboard.qh"
#define HUD_Write(s) fputs(fh, s)
#define HUD_Write_Cvar(cvar) HUD_Write(strcat("seta ", cvar, " \"", cvar_string(cvar), "\"\n"))
fh = fopen(filename, FILE_WRITE);
if(fh >= 0)
{
+ HUD_Write("//title \n");
+ HUD_Write("//author \n");
+ HUD_Write("\n");
HUD_Write_Cvar("hud_skin");
HUD_Write_Cvar("hud_panel_bg");
HUD_Write_Cvar("hud_panel_bg_color");
{
panel = hud_panels_from(i);
- HUD_Write_PanelCvar("");
HUD_Write_PanelCvar("_pos");
HUD_Write_PanelCvar("_size");
HUD_Write_PanelCvar("_bg");
HUD_Write_PanelCvar("_progressbar_armor");
HUD_Write_PanelCvar("_progressbar_gfx");
HUD_Write_PanelCvar("_progressbar_gfx_smooth");
+ HUD_Write_PanelCvar("_combined");
HUD_Write_PanelCvar("_text");
break;
case HUD_PANEL_NOTIFY:
case HUD_PANEL_QUICKMENU:
HUD_Write_PanelCvar("_align");
break;
+ case HUD_PANEL_SCOREBOARD:
+ HUD_Write_PanelCvar("_fadeinspeed");
+ HUD_Write_PanelCvar("_fadeoutspeed");
+ HUD_Write_PanelCvar("_respawntime_decimals");
+ HUD_Write_PanelCvar("_table_bg_alpha");
+ HUD_Write_PanelCvar("_table_bg_scale");
+ HUD_Write_PanelCvar("_table_fg_alpha");
+ HUD_Write_PanelCvar("_table_fg_alpha_self");
+ HUD_Write_PanelCvar("_table_highlight");
+ HUD_Write_PanelCvar("_table_highlight_alpha");
+ HUD_Write_PanelCvar("_table_highlight_alpha_self");
+ HUD_Write_PanelCvar("_bg_teams_color_team");
+ HUD_Write_PanelCvar("_accuracy_doublerows");
+ HUD_Write_PanelCvar("_accuracy_nocolors");
+ break;
}
HUD_Write("\n");
}
+ MUTATOR_CALLHOOK(HUD_WriteCvars);
+
HUD_Write("menu_sync\n"); // force the menu to reread the cvars, so that the dialogs are updated
LOG_INFOF(_("^2Successfully exported to %s! (Note: It's saved in data/data/)\n"), filename);
void HUD_Configure_Exit_Force()
{
- if (menu_enabled)
+ if (hud_configure_menu_open)
{
- menu_enabled = 0;
+ hud_configure_menu_open = 0;
localcmd("togglemenu\n");
}
cvar_set("_hud_configure", "0");
void HUD_Panel_FirstInDrawQ(float id);
void reset_tab_panels()
{
- int i;
- for(i = 0; i < hud_panels_COUNT; ++i)
- tab_panels[i] = world;
+ for (int i = 0; i < hud_panels_COUNT; ++i)
+ tab_panels[i] = NULL;
}
float HUD_Panel_InputEvent(float bInputType, float nPrimary, float nSecondary)
{
}
// allow console bind to work
- string con_keys;
- float keys;
- con_keys = findkeysforcommand("toggleconsole", 0);
- keys = tokenize(con_keys); // findkeysforcommand returns data for this
+ string con_keys = findkeysforcommand("toggleconsole", 0);
+ int keys = tokenize(con_keys); // findkeysforcommand returns data for this
bool hit_con_bind = false;
int i;
highlightedAction = 0;
HUD_Panel_FirstInDrawQ(highlightedPanel.panel_id);
}
- tab_panel = world;
+ tab_panel = NULL;
reset_tab_panels();
}
}
{
if (bInputType == 1)
return true;
- menu_enabled = 1;
+ hud_configure_menu_open = 1;
localcmd("menu_showhudexit\n");
}
else if(nPrimary == K_BACKSPACE && hudShiftState & S_CTRL)
{
if (bInputType == 1)
return true;
- if (!menu_enabled)
+ if (!hud_configure_menu_open)
cvar_set("_hud_configure", "0");
}
else if(nPrimary == K_TAB && hudShiftState & S_CTRL) // switch panel
vector candidate_pos = '0 0 0';
const float LEVELS_NUM = 4;
float level_height = vid_conheight / LEVELS_NUM;
-:find_tab_panel
+LABEL(find_tab_panel)
level = floor(tab_panel_pos.y / level_height) * level_height; //starting level
candidate_pos.x = (!tab_backward) ? vid_conwidth : 0;
start_posX = tab_panel_pos.x;
- tab_panel = world;
+ tab_panel = NULL;
k=0;
while(++k)
{
reset_tab_panels();
if (!old_tab_panel)
{
- tab_panel = world;
+ tab_panel = NULL;
return true;
}
starting_panel = old_tab_panel;
- old_tab_panel = world;
+ old_tab_panel = NULL;
goto find_tab_panel; //u must find tab_panel!
}
if (!tab_backward)
return true;
if (highlightedPanel)
- cvar_set(strcat("hud_panel_", highlightedPanel.panel_name), ftos(!cvar(strcat("hud_panel_", highlightedPanel.panel_name))));
+ {
+ if(panel.panel_configflags & PANEL_CONFIG_CANBEOFF)
+ cvar_set(strcat("hud_panel_", highlightedPanel.panel_name), ftos(!cvar(strcat("hud_panel_", highlightedPanel.panel_name))));
+ }
else
cvar_set(strcat("hud_dock"), (autocvar_hud_dock == "") ? "dock" : "");
}
cvar_set(strcat("hud_panel_", highlightedPanel_backup.panel_name, "_pos"), s);
s = strcat(ftos(panel_size_backup.x/vid_conwidth), " ", ftos(panel_size_backup.y/vid_conheight));
cvar_set(strcat("hud_panel_", highlightedPanel_backup.panel_name, "_size"), s);
- highlightedPanel_backup = world;
+ highlightedPanel_backup = NULL;
}
}
else if(nPrimary == 's' && hudShiftState & S_CTRL) // save config
return;
}
}
- highlightedPanel = world;
+ highlightedPanel = NULL;
highlightedAction = 0;
}
void HUD_Panel_EnableMenu()
{
- menu_enabled = 2;
+ hud_configure_menu_open = 2;
localcmd("menu_showhudoptions ", highlightedPanel.panel_name, "\n");
}
float mouse_over_panel;
return;
if (!autocvar_hud_cursormode)
- {
- mousepos = mousepos + getmousepos() * autocvar_menu_mouse_speed;
-
- mousepos.x = bound(0, mousepos.x, vid_conwidth);
- mousepos.y = bound(0, mousepos.y, vid_conheight);
- }
+ update_mousepos();
if(mouseClicked)
{
if (tab_panel)
{
//stop ctrl-tab selection
- tab_panel = world;
+ tab_panel = NULL;
reset_tab_panels();
}
HUD_Panel_Highlight(mouseClicked & S_MOUSE1); // sets highlightedPanel, highlightedAction, panel_click_distance, panel_click_resizeorigin
{
if(prevMouseClicked)
highlightedAction = 0;
- if(menu_enabled == 2)
+ if(hud_configure_menu_open == 2)
mouse_over_panel = 0;
else
mouse_over_panel = HUD_Panel_Check_Mouse_Pos(true);
drawfill(panel_pos - '1 1 0' * panel_bg_border, panel_size + '2 2 0' * panel_bg_border, '1 1 1', .1, DRAWFLAG_NORMAL);
}
// draw cursor after performing move/resize to have the panel pos/size updated before mouse_over_panel
- const vector cursorsize = '32 32 0';
float cursor_alpha = 1 - autocvar__menu_alpha;
if(!mouse_over_panel)
- drawpic(mousepos, strcat("gfx/menu/", autocvar_menu_skin, "/cursor.tga"), cursorsize, '1 1 1', cursor_alpha, DRAWFLAG_NORMAL);
+ draw_cursor_normal(mousepos, '1 1 1', cursor_alpha);
else if(mouse_over_panel == 1)
- drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", autocvar_menu_skin, "/cursor_move.tga"), cursorsize, '1 1 1', cursor_alpha, DRAWFLAG_NORMAL);
+ draw_cursor(mousepos, '0.5 0.5 0', "/cursor_move", '1 1 1', cursor_alpha);
else if(mouse_over_panel == 2)
- drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", autocvar_menu_skin, "/cursor_resize.tga"), cursorsize, '1 1 1', cursor_alpha, DRAWFLAG_NORMAL);
+ draw_cursor(mousepos, '0.5 0.5 0', "/cursor_resize", '1 1 1', cursor_alpha);
else
- drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", autocvar_menu_skin, "/cursor_resize2.tga"), cursorsize, '1 1 1', cursor_alpha, DRAWFLAG_NORMAL);
+ draw_cursor(mousepos, '0.5 0.5 0', "/cursor_resize2", '1 1 1', cursor_alpha);
prevMouseClicked = mouseClicked;
}
int i;
if(autocvar__hud_configure)
{
- if(isdemo() || intermission == 2)
+ if(isdemo() || intermission == 2 || scoreboard_active)
{
HUD_Configure_Exit_Force();
return;
if(autocvar__menu_alpha != _menu_alpha_prev)
{
if(autocvar__menu_alpha == 0)
- menu_enabled = 0;
+ hud_configure_menu_open = 0;
_menu_alpha_prev = autocvar__menu_alpha;
}
}
else if(hud_configure_prev)
{
- if(menu_enabled)
- menu_enabled = 0;
+ if(hud_configure_menu_open)
+ hud_configure_menu_open = 0;
if(autocvar_hud_cursormode)
setcursormode(0);
+ hud_dynamic_shake_factor = -1;
}
}