X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Fhud%2Fpanel%2Finfomessages.qc;h=cfed7d7359dc410992f6cb3da25e0d9f389ad2f2;hb=d0b3cee6dc12e62e7db192356fe17614ad1e650d;hp=363465dfb77ff4723ac42c4a258c9864dae0d9b2;hpb=f7673c11a5261668cc3e3896391fafd546168994;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/hud/panel/infomessages.qc b/qcsrc/client/hud/panel/infomessages.qc index 363465dfb..cfed7d735 100644 --- a/qcsrc/client/hud/panel/infomessages.qc +++ b/qcsrc/client/hud/panel/infomessages.qc @@ -1,10 +1,7 @@ #include "infomessages.qh" -#include -#include - +#include #include -#include // Info messages (#14) @@ -112,8 +109,10 @@ void HUD_InfoMessages() case 1: if(spectatee_status == -1) s = sprintf(_("^1Use ^3%s^1 or ^3%s^1 to change the speed"), getcommandkey(_("next weapon"), "weapnext"), getcommandkey(_("previous weapon"), "weapprev")); - else + else if(!observe_blocked) s = sprintf(_("^1Press ^3%s^1 to observe, ^3%s^1 to change camera mode"), getcommandkey(_("secondary fire"), "+fire2"), getcommandkey(_("drop weapon"), "dropweapon")); + else + s = sprintf(_("^1Press ^3%s^1 to change camera mode"), getcommandkey(_("drop weapon"), "dropweapon")); break; case 2: s = sprintf(_("^1Press ^3%s^1 for gamemode info"), getcommandkey(_("server info"), "+show_info")); @@ -122,22 +121,15 @@ void HUD_InfoMessages() InfoMessage(s); } - MUTATOR_CALLHOOK(DrawInfoMessages, pos, mySize); + bool mutator_returnvalue = MUTATOR_CALLHOOK(DrawInfoMessages, pos, mySize, img_curr_group); + pos = M_ARGV(0, vector); + img_curr_group = M_ARGV(2, int); - if(!warmup_stage && ISGAMETYPE(LMS)) + if(!mutator_returnvalue) { - entity sk; - sk = playerslots[player_localnum]; - if(sk.(scores(ps_primary)) >= 666) - s = _("^1Match has already begun"); - else if(sk.(scores(ps_primary)) > 0) - s = _("^1You have no more lives left"); - else - s = sprintf(_("^1Press ^3%s^1 to join"), getcommandkey(_("jump"), "+jump")); - } - else s = sprintf(_("^1Press ^3%s^1 to join"), getcommandkey(_("jump"), "+jump")); - InfoMessage(s); + InfoMessage(s); + } } if (time < STAT(GAMESTARTTIME)) @@ -160,22 +152,27 @@ void HUD_InfoMessages() else blinkcolor = "^3"; - if(ready_waiting && !spectatee_status) + int players_needed = 0; + if(warmup_stage && STAT(WARMUP_TIMELIMIT) <= 0 && srv_minplayers) + { + Scoreboard_UpdatePlayerTeams(); // ensure numplayers is current + players_needed = srv_minplayers - numplayers; + } + + if(players_needed > 0) + { + if(players_needed == 1) + s = _("^31^2 more player is needed for the match to start."); + else + s = sprintf(_("^3%d^2 more players are needed for the match to start."), players_needed); + InfoMessage(s); + } + else if(ready_waiting && !spectatee_status) { if(ready_waiting_for_me) - { - if(warmup_stage) - s = sprintf(_("%sPress ^3%s%s to end warmup"), blinkcolor, getcommandkey(_("ready"), "ready"), blinkcolor); - else - s = sprintf(_("%sPress ^3%s%s once you are ready"), blinkcolor, getcommandkey(_("ready"), "ready"), blinkcolor); - } + s = sprintf(_("%sPress ^3%s%s to end warmup"), blinkcolor, getcommandkey(_("ready"), "ready"), blinkcolor); else - { - if(warmup_stage) - s = _("^2Waiting for others to ready up to end warmup..."); - else - s = _("^2Waiting for others to ready up..."); - } + s = _("^2Waiting for others to ready up to end warmup..."); InfoMessage(s); } else if(warmup_stage && !spectatee_status) @@ -204,7 +201,7 @@ void HUD_InfoMessages() s = strcat(blinkcolor, _("Teamnumbers are unbalanced!")); tm = GetTeam(myteam, false); if (tm && tm.team != NUM_SPECTATOR && tm.team_size == ts_max) - s = strcat(s, sprintf(_(" Press ^3%s%s to adjust"), getcommandkey(_("team menu"), "menu_showteamselect"), blinkcolor)); + s = strcat(s, sprintf(_(" Press ^3%s%s to adjust"), getcommandkey(_("team selection"), "scoreboard_team_selection"), blinkcolor)); InfoMessage(s); } }