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 (cvar("_menu_gamemenu_dialog_available"))
+ {
+ localcmd("\nmenu_showgamemenudialog\n");
+ return true;
+ }
+ }
+
return false;
}
}
}
-NET_HANDLE(TE_CSQC_SERVERINFO, bool isNew)
+NET_HANDLE(TE_CSQC_SERVERWELCOME, bool isNew)
{
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 != "")