#include "hud_config.qh"
#include "hud.qh"
+#include "panel/scoreboard.qh"
#define HUD_Write(s) fputs(fh, s)
-// q: quoted, n: not quoted
-#define HUD_Write_Cvar_n(cvar) HUD_Write(strcat("seta ", cvar, " ", cvar_string(cvar), "\n"))
-#define HUD_Write_Cvar_q(cvar) HUD_Write(strcat("seta ", cvar, " \"", cvar_string(cvar), "\"\n"))
-#define HUD_Write_PanelCvar_n(cvar_suf) HUD_Write_Cvar_n(strcat("hud_panel_", panel.panel_name, cvar_suf))
-#define HUD_Write_PanelCvar_q(cvar_suf) HUD_Write_Cvar_q(strcat("hud_panel_", panel.panel_name, cvar_suf))
+#define HUD_Write_Cvar(cvar) HUD_Write(strcat("seta ", cvar, " \"", cvar_string(cvar), "\"\n"))
+#define HUD_Write_PanelCvar(cvar_suf) HUD_Write_Cvar(strcat("hud_panel_", panel.panel_name, cvar_suf))
// Save the config
void HUD_Panel_ExportCfg(string cfgname)
{
fh = fopen(filename, FILE_WRITE);
if(fh >= 0)
{
- HUD_Write_Cvar_q("hud_skin");
- HUD_Write_Cvar_q("hud_panel_bg");
- HUD_Write_Cvar_q("hud_panel_bg_color");
- HUD_Write_Cvar_q("hud_panel_bg_color_team");
- HUD_Write_Cvar_q("hud_panel_bg_alpha");
- HUD_Write_Cvar_q("hud_panel_bg_border");
- HUD_Write_Cvar_q("hud_panel_bg_padding");
- HUD_Write_Cvar_q("hud_panel_fg_alpha");
+ 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");
+ HUD_Write_Cvar("hud_panel_bg_color_team");
+ HUD_Write_Cvar("hud_panel_bg_alpha");
+ HUD_Write_Cvar("hud_panel_bg_border");
+ HUD_Write_Cvar("hud_panel_bg_padding");
+ HUD_Write_Cvar("hud_panel_fg_alpha");
HUD_Write("\n");
- HUD_Write_Cvar_q("hud_dock");
- HUD_Write_Cvar_q("hud_dock_color");
- HUD_Write_Cvar_q("hud_dock_color_team");
- HUD_Write_Cvar_q("hud_dock_alpha");
+ HUD_Write_Cvar("hud_dock");
+ HUD_Write_Cvar("hud_dock_color");
+ HUD_Write_Cvar("hud_dock_color_team");
+ HUD_Write_Cvar("hud_dock_alpha");
HUD_Write("\n");
- HUD_Write_Cvar_q("hud_progressbar_alpha");
- HUD_Write_Cvar_q("hud_progressbar_strength_color");
- HUD_Write_Cvar_q("hud_progressbar_shield_color");
- HUD_Write_Cvar_q("hud_progressbar_health_color");
- HUD_Write_Cvar_q("hud_progressbar_armor_color");
- HUD_Write_Cvar_q("hud_progressbar_fuel_color");
- HUD_Write_Cvar_q("hud_progressbar_nexball_color");
- HUD_Write_Cvar_q("hud_progressbar_speed_color");
- HUD_Write_Cvar_q("hud_progressbar_acceleration_color");
- HUD_Write_Cvar_q("hud_progressbar_acceleration_neg_color");
+ HUD_Write_Cvar("hud_progressbar_alpha");
+ HUD_Write_Cvar("hud_progressbar_strength_color");
+ HUD_Write_Cvar("hud_progressbar_superweapons_color");
+ HUD_Write_Cvar("hud_progressbar_shield_color");
+ HUD_Write_Cvar("hud_progressbar_health_color");
+ HUD_Write_Cvar("hud_progressbar_armor_color");
+ HUD_Write_Cvar("hud_progressbar_fuel_color");
+ HUD_Write_Cvar("hud_progressbar_nexball_color");
+ HUD_Write_Cvar("hud_progressbar_speed_color");
+ HUD_Write_Cvar("hud_progressbar_acceleration_color");
+ HUD_Write_Cvar("hud_progressbar_acceleration_neg_color");
+ HUD_Write_Cvar("hud_progressbar_vehicles_ammo1_color");
+ HUD_Write_Cvar("hud_progressbar_vehicles_ammo2_color");
HUD_Write("\n");
- HUD_Write_Cvar_q("_hud_panelorder");
+ HUD_Write_Cvar("_hud_panelorder");
HUD_Write("\n");
- HUD_Write_Cvar_q("hud_configure_grid");
- HUD_Write_Cvar_q("hud_configure_grid_xsize");
- HUD_Write_Cvar_q("hud_configure_grid_ysize");
+ HUD_Write_Cvar("hud_configure_grid");
+ HUD_Write_Cvar("hud_configure_grid_xsize");
+ HUD_Write_Cvar("hud_configure_grid_ysize");
HUD_Write("\n");
// common cvars for all panels
{
panel = hud_panels_from(i);
- HUD_Write_PanelCvar_n("");
- HUD_Write_PanelCvar_q("_pos");
- HUD_Write_PanelCvar_q("_size");
- HUD_Write_PanelCvar_q("_bg");
- HUD_Write_PanelCvar_q("_bg_color");
- HUD_Write_PanelCvar_q("_bg_color_team");
- HUD_Write_PanelCvar_q("_bg_alpha");
- HUD_Write_PanelCvar_q("_bg_border");
- HUD_Write_PanelCvar_q("_bg_padding");
+ HUD_Write_PanelCvar("_pos");
+ HUD_Write_PanelCvar("_size");
+ HUD_Write_PanelCvar("_bg");
+ HUD_Write_PanelCvar("_bg_color");
+ HUD_Write_PanelCvar("_bg_color_team");
+ HUD_Write_PanelCvar("_bg_alpha");
+ HUD_Write_PanelCvar("_bg_border");
+ HUD_Write_PanelCvar("_bg_padding");
switch(panel) {
case HUD_PANEL_WEAPONS:
- HUD_Write_PanelCvar_q("_accuracy");
- HUD_Write_PanelCvar_q("_label");
- HUD_Write_PanelCvar_q("_label_scale");
- HUD_Write_PanelCvar_q("_complainbubble");
- HUD_Write_PanelCvar_q("_complainbubble_padding");
- HUD_Write_PanelCvar_q("_complainbubble_time");
- HUD_Write_PanelCvar_q("_complainbubble_fadetime");
- HUD_Write_PanelCvar_q("_complainbubble_color_outofammo");
- HUD_Write_PanelCvar_q("_complainbubble_color_donthave");
- HUD_Write_PanelCvar_q("_complainbubble_color_unavailable");
- HUD_Write_PanelCvar_q("_ammo");
- HUD_Write_PanelCvar_q("_ammo_color");
- HUD_Write_PanelCvar_q("_ammo_alpha");
- HUD_Write_PanelCvar_q("_aspect");
- HUD_Write_PanelCvar_q("_timeout");
- HUD_Write_PanelCvar_q("_timeout_effect");
- HUD_Write_PanelCvar_q("_timeout_fadebgmin");
- HUD_Write_PanelCvar_q("_timeout_fadefgmin");
- HUD_Write_PanelCvar_q("_timeout_speed_in");
- HUD_Write_PanelCvar_q("_timeout_speed_out");
- HUD_Write_PanelCvar_q("_onlyowned");
- HUD_Write_PanelCvar_q("_noncurrent_alpha");
- HUD_Write_PanelCvar_q("_noncurrent_scale");
+ HUD_Write_PanelCvar("_accuracy");
+ HUD_Write_PanelCvar("_label");
+ HUD_Write_PanelCvar("_label_scale");
+ HUD_Write_PanelCvar("_complainbubble");
+ HUD_Write_PanelCvar("_complainbubble_padding");
+ HUD_Write_PanelCvar("_complainbubble_time");
+ HUD_Write_PanelCvar("_complainbubble_fadetime");
+ HUD_Write_PanelCvar("_complainbubble_color_outofammo");
+ HUD_Write_PanelCvar("_complainbubble_color_donthave");
+ HUD_Write_PanelCvar("_complainbubble_color_unavailable");
+ HUD_Write_PanelCvar("_ammo");
+ HUD_Write_PanelCvar("_ammo_color");
+ HUD_Write_PanelCvar("_ammo_alpha");
+ HUD_Write_PanelCvar("_aspect");
+ HUD_Write_PanelCvar("_timeout");
+ HUD_Write_PanelCvar("_timeout_effect");
+ HUD_Write_PanelCvar("_timeout_fadebgmin");
+ HUD_Write_PanelCvar("_timeout_fadefgmin");
+ HUD_Write_PanelCvar("_timeout_speed_in");
+ HUD_Write_PanelCvar("_timeout_speed_out");
+ HUD_Write_PanelCvar("_onlyowned");
+ HUD_Write_PanelCvar("_noncurrent_alpha");
+ HUD_Write_PanelCvar("_noncurrent_scale");
break;
case HUD_PANEL_AMMO:
- HUD_Write_PanelCvar_q("_onlycurrent");
- HUD_Write_PanelCvar_q("_noncurrent_alpha");
- HUD_Write_PanelCvar_q("_noncurrent_scale");
- HUD_Write_PanelCvar_q("_iconalign");
- HUD_Write_PanelCvar_q("_progressbar");
- HUD_Write_PanelCvar_q("_progressbar_name");
- HUD_Write_PanelCvar_q("_progressbar_xoffset");
- HUD_Write_PanelCvar_q("_text");
+ HUD_Write_PanelCvar("_onlycurrent");
+ HUD_Write_PanelCvar("_noncurrent_alpha");
+ HUD_Write_PanelCvar("_noncurrent_scale");
+ HUD_Write_PanelCvar("_iconalign");
+ HUD_Write_PanelCvar("_progressbar");
+ HUD_Write_PanelCvar("_progressbar_name");
+ HUD_Write_PanelCvar("_progressbar_xoffset");
+ HUD_Write_PanelCvar("_text");
break;
case HUD_PANEL_POWERUPS:
- HUD_Write_PanelCvar_q("_iconalign");
- HUD_Write_PanelCvar_q("_baralign");
- HUD_Write_PanelCvar_q("_progressbar");
- HUD_Write_PanelCvar_q("_text");
+ HUD_Write_PanelCvar("_iconalign");
+ HUD_Write_PanelCvar("_baralign");
+ HUD_Write_PanelCvar("_progressbar");
+ HUD_Write_PanelCvar("_text");
break;
case HUD_PANEL_HEALTHARMOR:
- HUD_Write_PanelCvar_q("_flip");
- HUD_Write_PanelCvar_q("_iconalign");
- HUD_Write_PanelCvar_q("_baralign");
- HUD_Write_PanelCvar_q("_progressbar");
- HUD_Write_PanelCvar_q("_progressbar_health");
- HUD_Write_PanelCvar_q("_progressbar_armor");
- HUD_Write_PanelCvar_q("_progressbar_gfx");
- HUD_Write_PanelCvar_q("_progressbar_gfx_smooth");
- HUD_Write_PanelCvar_q("_text");
+ HUD_Write_PanelCvar("_flip");
+ HUD_Write_PanelCvar("_iconalign");
+ HUD_Write_PanelCvar("_baralign");
+ HUD_Write_PanelCvar("_progressbar");
+ HUD_Write_PanelCvar("_progressbar_health");
+ 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:
- HUD_Write_PanelCvar_q("_flip");
- HUD_Write_PanelCvar_q("_fontsize");
- HUD_Write_PanelCvar_q("_time");
- HUD_Write_PanelCvar_q("_fadetime");
- HUD_Write_PanelCvar_q("_icon_aspect");
+ HUD_Write_PanelCvar("_flip");
+ HUD_Write_PanelCvar("_fontsize");
+ HUD_Write_PanelCvar("_time");
+ HUD_Write_PanelCvar("_fadetime");
+ HUD_Write_PanelCvar("_icon_aspect");
break;
case HUD_PANEL_TIMER:
- HUD_Write_PanelCvar_q("_increment");
break;
case HUD_PANEL_RADAR:
- HUD_Write_PanelCvar_q("_foreground_alpha");
- HUD_Write_PanelCvar_q("_rotation");
- HUD_Write_PanelCvar_q("_zoommode");
- HUD_Write_PanelCvar_q("_scale");
- HUD_Write_PanelCvar_q("_maximized_scale");
- HUD_Write_PanelCvar_q("_maximized_size");
- HUD_Write_PanelCvar_q("_maximized_rotation");
- HUD_Write_PanelCvar_q("_maximized_zoommode");
+ HUD_Write_PanelCvar("_foreground_alpha");
+ HUD_Write_PanelCvar("_rotation");
+ HUD_Write_PanelCvar("_zoommode");
+ HUD_Write_PanelCvar("_scale");
+ HUD_Write_PanelCvar("_maximized_scale");
+ HUD_Write_PanelCvar("_maximized_size");
+ HUD_Write_PanelCvar("_maximized_rotation");
+ HUD_Write_PanelCvar("_maximized_zoommode");
break;
case HUD_PANEL_SCORE:
- HUD_Write_PanelCvar_q("_rankings");
+ HUD_Write_PanelCvar("_rankings");
break;
case HUD_PANEL_VOTE:
- HUD_Write_PanelCvar_q("_alreadyvoted_alpha");
+ HUD_Write_PanelCvar("_alreadyvoted_alpha");
break;
case HUD_PANEL_MODICONS:
- HUD_Write_PanelCvar_q("_ca_layout");
- HUD_Write_PanelCvar_q("_dom_layout");
- HUD_Write_PanelCvar_q("_freezetag_layout");
+ HUD_Write_PanelCvar("_ca_layout");
+ HUD_Write_PanelCvar("_dom_layout");
+ HUD_Write_PanelCvar("_freezetag_layout");
break;
case HUD_PANEL_PRESSEDKEYS:
- HUD_Write_PanelCvar_q("_aspect");
- HUD_Write_PanelCvar_q("_attack");
+ HUD_Write_PanelCvar("_aspect");
+ HUD_Write_PanelCvar("_attack");
break;
case HUD_PANEL_ENGINEINFO:
- HUD_Write_PanelCvar_q("_framecounter_time");
- HUD_Write_PanelCvar_q("_framecounter_decimals");
+ HUD_Write_PanelCvar("_framecounter_time");
+ HUD_Write_PanelCvar("_framecounter_decimals");
break;
case HUD_PANEL_INFOMESSAGES:
- HUD_Write_PanelCvar_q("_flip");
+ HUD_Write_PanelCvar("_flip");
break;
case HUD_PANEL_PHYSICS:
- HUD_Write_PanelCvar_q("_speed_unit");
- HUD_Write_PanelCvar_q("_speed_unit_show");
- HUD_Write_PanelCvar_q("_speed_max");
- HUD_Write_PanelCvar_q("_speed_vertical");
- HUD_Write_PanelCvar_q("_topspeed");
- HUD_Write_PanelCvar_q("_topspeed_time");
- HUD_Write_PanelCvar_q("_acceleration_max");
- HUD_Write_PanelCvar_q("_acceleration_vertical");
- HUD_Write_PanelCvar_q("_flip");
- HUD_Write_PanelCvar_q("_baralign");
- HUD_Write_PanelCvar_q("_progressbar");
- HUD_Write_PanelCvar_q("_progressbar_acceleration_mode");
- HUD_Write_PanelCvar_q("_progressbar_acceleration_scale");
- HUD_Write_PanelCvar_q("_progressbar_acceleration_nonlinear");
- HUD_Write_PanelCvar_q("_text");
- HUD_Write_PanelCvar_q("_text_scale");
+ HUD_Write_PanelCvar("_speed_unit_show");
+ HUD_Write_PanelCvar("_speed_max");
+ HUD_Write_PanelCvar("_speed_vertical");
+ HUD_Write_PanelCvar("_topspeed");
+ HUD_Write_PanelCvar("_topspeed_time");
+ HUD_Write_PanelCvar("_acceleration_max");
+ HUD_Write_PanelCvar("_acceleration_vertical");
+ HUD_Write_PanelCvar("_flip");
+ HUD_Write_PanelCvar("_baralign");
+ HUD_Write_PanelCvar("_progressbar");
+ HUD_Write_PanelCvar("_acceleration_progressbar_mode");
+ HUD_Write_PanelCvar("_acceleration_progressbar_scale");
+ HUD_Write_PanelCvar("_acceleration_progressbar_nonlinear");
+ HUD_Write_PanelCvar("_text");
+ HUD_Write_PanelCvar("_text_scale");
break;
case HUD_PANEL_CENTERPRINT:
- HUD_Write_PanelCvar_q("_align");
- HUD_Write_PanelCvar_q("_flip");
- HUD_Write_PanelCvar_q("_fontscale");
- HUD_Write_PanelCvar_q("_time");
- HUD_Write_PanelCvar_q("_fade_in");
- HUD_Write_PanelCvar_q("_fade_out");
- HUD_Write_PanelCvar_q("_fade_subsequent");
- HUD_Write_PanelCvar_q("_fade_subsequent_passone");
- HUD_Write_PanelCvar_q("_fade_subsequent_passone_minalpha");
- HUD_Write_PanelCvar_q("_fade_subsequent_passtwo");
- HUD_Write_PanelCvar_q("_fade_subsequent_passtwo_minalpha");
- HUD_Write_PanelCvar_q("_fade_subsequent_minfontsize");
- HUD_Write_PanelCvar_q("_fade_minfontsize");
+ HUD_Write_PanelCvar("_align");
+ HUD_Write_PanelCvar("_flip");
+ HUD_Write_PanelCvar("_fontscale");
+ HUD_Write_PanelCvar("_time");
+ HUD_Write_PanelCvar("_fade_in");
+ HUD_Write_PanelCvar("_fade_out");
+ HUD_Write_PanelCvar("_fade_subsequent");
+ HUD_Write_PanelCvar("_fade_subsequent_passone");
+ HUD_Write_PanelCvar("_fade_subsequent_passone_minalpha");
+ HUD_Write_PanelCvar("_fade_subsequent_passtwo");
+ HUD_Write_PanelCvar("_fade_subsequent_passtwo_minalpha");
+ HUD_Write_PanelCvar("_fade_subsequent_minfontsize");
+ HUD_Write_PanelCvar("_fade_minfontsize");
break;
case HUD_PANEL_ITEMSTIME:
- HUD_Write_PanelCvar_q("_iconalign");
- HUD_Write_PanelCvar_q("_progressbar");
- HUD_Write_PanelCvar_q("_progressbar_name");
- HUD_Write_PanelCvar_q("_progressbar_reduced");
- HUD_Write_PanelCvar_q("_text");
- HUD_Write_PanelCvar_q("_ratio");
- HUD_Write_PanelCvar_q("_dynamicsize");
+ HUD_Write_PanelCvar("_iconalign");
+ HUD_Write_PanelCvar("_progressbar");
+ HUD_Write_PanelCvar("_progressbar_name");
+ HUD_Write_PanelCvar("_progressbar_reduced");
+ HUD_Write_PanelCvar("_text");
+ HUD_Write_PanelCvar("_ratio");
+ HUD_Write_PanelCvar("_dynamicsize");
+ break;
case HUD_PANEL_QUICKMENU:
- HUD_Write_PanelCvar_q("_align");
+ 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;
}
}