MSG_WriteByte (&cls.message, clc_stringcmd);
MSG_WriteString (&cls.message, va("pmodel %i\n", cl_pmodel.integer));
}
+ if (*cl_playermodel.string)
+ {
+ MSG_WriteByte (&cls.message, clc_stringcmd);
+ MSG_WriteString (&cls.message, va("playermodel %s\n", cl_playermodel.string));
+ }
+ if (*cl_playerskin.string)
+ {
+ MSG_WriteByte (&cls.message, clc_stringcmd);
+ MSG_WriteString (&cls.message, va("playerskin %s\n", cl_playerskin.string));
+ }
MSG_WriteByte (&cls.message, clc_stringcmd);
MSG_WriteString (&cls.message, va("rate %i\n", cl_rate.integer));
cl.maxclients = MSG_ReadByte ();
if (cl.maxclients < 1 || cl.maxclients > MAX_SCOREBOARD)
{
- Con_Printf("Bad maxclients (%u) from server\n", cl.maxclients);
+ Host_Error("Bad maxclients (%u) from server\n", cl.maxclients);
return;
}
Mem_EmptyPool(cl_scores_mempool);
// check memory integrity
Mem_CheckSentinelsGlobal();
+ S_StopAllSounds();
+ // if server is active, we already began a loading plaque
+ if (!sv.active)
+ SCR_BeginLoadingPlaque();
+
// disable until we get textures for it
R_ResetSkyBox();
MSG_ReadVector(pos, cl.protocol);
MSG_ReadVector(pos2, cl.protocol);
MSG_ReadVector(dir, cl.protocol);
- CL_BeamParticle(pos, pos2, 12, 1, 0.3, 0.1, 1, 1);
- CL_BeamParticle(pos, pos2, 5, 1, 0.9, 0.3, 1, 1);
+ CL_BeamParticle(pos, pos2, 8, 1, 1, 1, 1, 1);
break;
case TE_TEI_SMOKE:
if (i >= 1 && i < MAX_SOUNDS)
{
sfx_t *sfx = S_PrecacheSound (s, true, false);
- if (!sfx)
+ if (!sfx && snd_initialized.integer)
Con_Printf("svc_precache: S_PrecacheSound(\"%s\") failed\n", s);
cl.sound_precache[i] = sfx;
}
case svc_signonnum:
i = MSG_ReadByte ();
- if (i <= cls.signon)
+ // LordHavoc: it's rude to kick off the client if they missed the
+ // reconnect somehow, so allow signon 1 even if at signon 1
+ if (i <= cls.signon && i != 1)
Host_Error ("Received signon %i when at %i", i, cls.signon);
cls.signon = i;
CL_SignonReply ();
Cvar_SetValue("demo_nehahra", 1);
Cvar_RegisterVariable(&developer_networkentities);
}
+
+void CL_Parse_Shutdown(void)
+{
+ Mem_FreePool (&cl_scores_mempool);
+}