Make sure that either f_playmapend or f_specmapend work when f_mapend does, for people that want more specific behaviours. spec is ALWAYS used for demo playback too.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6251 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
Spoike 2022-05-28 17:59:51 +00:00
parent 130d758077
commit 12cdfc197f
2 changed files with 22 additions and 1 deletions

View File

@ -7534,8 +7534,10 @@ void CLQW_ParseServerMessage (void)
if (cl.intermissionmode == IM_NONE)
{
TP_ExecTrigger ("f_mapend", false);
if (cl.playerview[destsplit].spectator)
if (cl.playerview[destsplit].spectator || cls.demoplayback)
TP_ExecTrigger ("f_specmapend", true);
else
TP_ExecTrigger ("f_playmapend", true);
cl.completed_time = cl.gametime;
}
cl.intermissionmode = IM_QWSCORES;
@ -8649,6 +8651,10 @@ void CLNQ_ParseServerMessage (void)
if (cl.intermissionmode == IM_NONE)
{
TP_ExecTrigger ("f_mapend", false);
if (cl.playerview[destsplit].spectator || cls.demoplayback)
TP_ExecTrigger ("f_specmapend", true);
else
TP_ExecTrigger ("f_playmapend", true);
cl.completed_time = cl.gametime;
}
cl.intermissionmode = IM_NQSCORES;
@ -8658,6 +8664,10 @@ void CLNQ_ParseServerMessage (void)
if (cl.intermissionmode == IM_NONE)
{
TP_ExecTrigger ("f_mapend", false);
if (cl.playerview[destsplit].spectator || cls.demoplayback)
TP_ExecTrigger ("f_specmapend", true);
else
TP_ExecTrigger ("f_playmapend", true);
cl.completed_time = cl.gametime;
}
cl.intermissionmode = IM_NQFINALE;
@ -8668,6 +8678,10 @@ void CLNQ_ParseServerMessage (void)
if (cl.intermissionmode == IM_NONE)
{
TP_ExecTrigger ("f_mapend", false);
if (cl.playerview[destsplit].spectator || cls.demoplayback)
TP_ExecTrigger ("f_specmapend", true);
else
TP_ExecTrigger ("f_playmapend", true);
cl.completed_time = cl.gametime;
}
cl.intermissionmode = IM_NQCUTSCENE;

View File

@ -490,7 +490,14 @@ void SCR_CenterPrint (int pnum, const char *str, qboolean skipgamecode)
else if (str[1] == 'F')
{ //'F' is reserved for special handling via svc_finale
if (cl.intermissionmode == IM_NONE)
{
TP_ExecTrigger ("f_mapend", false);
if (cl.playerview[pnum].spectator || cls.demoplayback)
TP_ExecTrigger ("f_specmapend", true);
else
TP_ExecTrigger ("f_playmapend", true);
cl.completed_time = cl.time;
}
str+=2;
switch(*str++)
{