if(override)
return true;
+ if(bInputType == 3 || bInputType == 2)
+ return false;
+
+ // at this point bInputType can only be 0 or 1 (key pressed or released)
+ bool key_pressed = (bInputType == 0);
+
+ if(key_pressed) {
+ if(nPrimary == K_ALT) hudShiftState |= S_ALT;
+ if(nPrimary == K_CTRL) hudShiftState |= S_CTRL;
+ if(nPrimary == K_SHIFT) hudShiftState |= S_SHIFT;
+ }
+ else {
+ if(nPrimary == K_ALT) hudShiftState -= (hudShiftState & S_ALT);
+ if(nPrimary == K_CTRL) hudShiftState -= (hudShiftState & S_CTRL);
+ if(nPrimary == K_SHIFT) hudShiftState -= (hudShiftState & S_SHIFT);
+ }
+
+ if (nPrimary == K_ESCAPE && !(hudShiftState & S_SHIFT) && key_pressed)
+ {
+ if (!isdemo() && cvar("_menu_gamemenu_dialog_available"))
+ {
+ localcmd("\nmenu_showgamemenudialog\n");
+ return true;
+ }
+ }
+
return false;
}
localcmd(sprintf("\nfog %s\nr_fog_exp2 0\nr_drawfog 1\n", forcefog));
}
+bool net_handle_ServerWelcome();
NET_HANDLE(ENT_CLIENT_SCORES_INFO, bool isnew)
{
make_pure(this);
strcpy(teamscores_label(i), ReadString());
teamscores_flags(i) = ReadByte();
}
+ bool welcome_msg_too = ReadByte();
+ if (welcome_msg_too)
+ net_handle_ServerWelcome();
return = true;
Scoreboard_InitScores();
Gamemode_Init();
}
}
-NET_HANDLE(TE_CSQC_SERVERINFO, bool isNew)
+bool net_handle_ServerWelcome()
{
bool campaign = ReadByte();
if (campaign)
string msg = "";
msg = strcat(msg, ver);
- msg = strcat(msg, "^8\n\n", sprintf(_("Game type: ^1%s"), MapInfo_Type_ToText(gametype)), "^8\n");
+ msg = strcat(msg, "^8\n\n", strcat(_("Gametype:"), " ^1", MapInfo_Type_ToText(gametype)), "^8\n");
if(modifications != "")
msg = strcat(msg, "^8\n", _("Active modifications:"), " ^3", modifications, "^8\n");
if (cache_mutatormsg != "")
return true;
}
+NET_HANDLE(TE_CSQC_SERVERWELCOME, bool isNew)
+{
+ return net_handle_ServerWelcome();
+}
+
string _getcommandkey(string cmd_name, string command, bool forcename)
{
string keys;