+
+bool scoreboard_ui_disabling;
+void HUD_Scoreboard_UI_Disable()
+{
+ scoreboard_ui_disabling = true;
+ scoreboard_showscores = false;
+}
+
+void HUD_Scoreboard_UI_Disable_Instantly()
+{
+ scoreboard_ui_disabling = false;
+ scoreboard_ui_enabled = 0;
+ scoreboard_selected_panel = 0;
+ scoreboard_selected_player = NULL;
+ scoreboard_selected_team = NULL;
+}
+
+// mode: 0 normal, 1 team selection
+void Scoreboard_UI_Enable(int mode)
+{
+ if (mode == 1)
+ {
+ if (scoreboard_ui_enabled == 2 || !teamplay || intermission)
+ return;
+
+ // release player's pressed keys as they aren't released elsewhere
+ // in particular jump needs to be released as it may open the team selection
+ // (when server detects jump has been pressed it sends the command to open the team selection)
+ Release_Common_Keys();
+ scoreboard_ui_enabled = 2;
+ scoreboard_selected_panel = SB_PANEL_SCOREBOARD;
+ }
+ else
+ {
+ if (scoreboard_ui_enabled == 1)
+ return;
+ scoreboard_ui_enabled = 1;
+ scoreboard_selected_panel = SB_PANEL_FIRST;
+ }
+ scoreboard_selected_player = NULL;
+ scoreboard_selected_team = NULL;
+ scoreboard_selected_panel_time = time;
+}
+