mouseClicked = 0;
hudShiftState = 0;
- // we must unset the player's buttons, as they aren't released elsewhere
- localcmd("-fire\n");
- localcmd("-fire2\n");
- localcmd("-use\n");
- localcmd("-hook\n");
- localcmd("-jump\n");
+ Release_Common_Keys();
QuickMenu_TimeOut_Set();
return true;
{
hud_panel_radar_mouse = 1;
- // we must unset the player's buttons, as they aren't released elsewhere
- localcmd("-fire\n");
- localcmd("-fire2\n");
- localcmd("-use\n");
- localcmd("-hook\n");
- localcmd("-jump\n");
+ Release_Common_Keys();
}
}
else if ( hud_panel_radar_mouse )
scoreboard_selected_panel = 0;
scoreboard_selected_player = NULL;
scoreboard_selected_team = NULL;
- scoreboard_ui_disabled_time = time;
}
// mode: 0 normal, 1 team selection
{
if (scoreboard_ui_enabled == 2 || !teamplay)
return;
- // Do not allow reopening the team selection for some time after it has been closed.
- // It works around a bug caused by the server sending scoreboard_team_selection every frame
- // until client selects a team and joins: scoreboard_team_selection gets executed even
- // after client already joined
- // For the record, with the menu dialog this workaround is not needed because it takes
- // some time to fade away
- if (time < scoreboard_ui_disabled_time + 0.5)
- 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;
}
void Scoreboard_UI_Enable(int mode);
int scoreboard_ui_enabled;
-float scoreboard_ui_disabled_time;
bool autocvar__scoreboard_team_selection;
float HUD_Scoreboard_InputEvent(float bInputType, float nPrimary, float nSecondary);
postinit = true;
}
+void Release_Common_Keys()
+{
+ localcmd("-fire\n");
+ localcmd("-fire2\n");
+ localcmd("-use\n");
+ localcmd("-hook\n");
+ localcmd("-jump\n");
+}
+
// CSQC_InputEvent : Used to perform actions based on any key pressed, key released and mouse on the client.
// Return value should be 1 if CSQC handled the input, otherwise return 0 to have the input passed to the engine.
// All keys are in ascii.
#define getcommandkey(cmd_name, command) _getcommandkey(cmd_name, command, false)
#define getcommandkey_forcename(cmd_name, command) _getcommandkey(cmd_name, command, true)
+void Release_Common_Keys();
+
string vote_called_vote;
bool ready_waiting;
bool ready_waiting_for_me;