guess at the current match time based upon mod-specific hints, required to correct for joining mid-game.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4916 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
59cbcfe355
commit
0ced7ec194
1 changed files with 25 additions and 1 deletions
|
@ -1937,7 +1937,31 @@ void CL_CheckServerInfo(void)
|
|||
else if (!stricmp(s, "countdown"))
|
||||
cl.matchstate = MATCH_COUNTDOWN;
|
||||
else
|
||||
cl.matchstate = MATCH_DONTKNOW;
|
||||
{
|
||||
float time = strtod(s, &s);
|
||||
if (!strcmp(s, " min left") || !strcmp(s, " mins left"))
|
||||
time *= 60;
|
||||
else if (!strcmp(s, " sec left") || !strcmp(s, " secs left"))
|
||||
time *= 1;
|
||||
else if (!strcmp(s, " hour left") || !strcmp(s, " hours left"))
|
||||
time *= 60*60;
|
||||
else
|
||||
time = -1;
|
||||
|
||||
if (time >= 0)
|
||||
{
|
||||
//always update it. this is to try to cope with overtime.
|
||||
oldstate = cl.matchstate = MATCH_INPROGRESS;
|
||||
cl.matchgametimestart = cl.gametime + time - 60*atof(Info_ValueForKey(cl.serverinfo, "timelimit"));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (*s && cl.matchstate == MATCH_INPROGRESS)
|
||||
Con_DPrintf("Match state changed to unknown meaning: %s\n", s);
|
||||
else
|
||||
cl.matchstate = MATCH_DONTKNOW; //don't revert from inprogress to don't know
|
||||
}
|
||||
}
|
||||
if (oldstate != cl.matchstate)
|
||||
cl.matchgametimestart = cl.gametime;
|
||||
|
||||
|
|
Loading…
Reference in a new issue