mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-05-31 16:51:08 +00:00
More cl_parse tidyup.
svcs are now in order: makes it even easier to see what's different between nq and qw.
This commit is contained in:
parent
476ad75724
commit
7299ca7bec
2 changed files with 203 additions and 156 deletions
|
@ -868,8 +868,8 @@ void
|
||||||
CL_ParseServerMessage (void)
|
CL_ParseServerMessage (void)
|
||||||
{
|
{
|
||||||
int cmd = 0, i, j;
|
int cmd = 0, i, j;
|
||||||
signon_t so;
|
|
||||||
const char *str;
|
const char *str;
|
||||||
|
signon_t so;
|
||||||
|
|
||||||
// if recording demos, copy the message out
|
// if recording demos, copy the message out
|
||||||
if (cl_shownet->int_val == 1)
|
if (cl_shownet->int_val == 1)
|
||||||
|
@ -908,19 +908,19 @@ CL_ParseServerMessage (void)
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
default:
|
default:
|
||||||
Host_Error ("CL_ParseServerMessage: Illegible server "
|
Host_Error ("CL_ParseServerMessage: Illegible server "
|
||||||
"message %d\n", cmd);
|
"message: %d\n", cmd);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_nop:
|
case svc_nop:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_time:
|
case svc_disconnect:
|
||||||
cl.mtime[1] = cl.mtime[0];
|
Host_EndGame ("Server disconnected\n");
|
||||||
cl.mtime[0] = MSG_ReadFloat (net_message);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case svc_clientdata:
|
case svc_updatestat:
|
||||||
CL_ParseClientdata ();
|
i = MSG_ReadByte (net_message);
|
||||||
|
j = MSG_ReadLong (net_message);
|
||||||
|
CL_SetStat (i, j);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_version:
|
case svc_version:
|
||||||
|
@ -932,36 +932,28 @@ CL_ParseServerMessage (void)
|
||||||
cl.protocol = i;
|
cl.protocol = i;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_disconnect:
|
case svc_setview:
|
||||||
Host_EndGame ("Server disconnected\n");
|
cl.viewentity = MSG_ReadShort (net_message);
|
||||||
|
viewentity = cl.viewentity; // FIXME: evil hack
|
||||||
|
break;
|
||||||
|
|
||||||
|
case svc_sound:
|
||||||
|
CL_ParseStartSoundPacket ();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case svc_time:
|
||||||
|
cl.mtime[1] = cl.mtime[0];
|
||||||
|
cl.mtime[0] = MSG_ReadFloat (net_message);
|
||||||
|
break;
|
||||||
|
|
||||||
case svc_print:
|
case svc_print:
|
||||||
Sys_Printf ("%s", MSG_ReadString (net_message));
|
Sys_Printf ("%s", MSG_ReadString (net_message));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_centerprint:
|
|
||||||
str = MSG_ReadString (net_message);
|
|
||||||
if (strcmp (str, centerprint->str)) {
|
|
||||||
dstring_copystr (centerprint, str);
|
|
||||||
//FIXME logging
|
|
||||||
}
|
|
||||||
Sbar_CenterPrint (str);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case svc_stufftext:
|
case svc_stufftext:
|
||||||
Cbuf_AddText (host_cbuf, MSG_ReadString (net_message));
|
Cbuf_AddText (host_cbuf, MSG_ReadString (net_message));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_damage:
|
|
||||||
V_ParseDamage ();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case svc_serverinfo:
|
|
||||||
CL_ParseServerInfo ();
|
|
||||||
// leave intermission full screen
|
|
||||||
r_data->vid->recalc_refdef = true;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case svc_setangle:
|
case svc_setangle:
|
||||||
{
|
{
|
||||||
vec_t *dest = cl.viewangles;
|
vec_t *dest = cl.viewangles;
|
||||||
|
@ -969,9 +961,11 @@ CL_ParseServerMessage (void)
|
||||||
MSG_ReadAngleV (net_message, dest);
|
MSG_ReadAngleV (net_message, dest);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case svc_setview:
|
|
||||||
cl.viewentity = MSG_ReadShort (net_message);
|
case svc_serverinfo:
|
||||||
viewentity = cl.viewentity; // FIXME: evil hack
|
CL_ParseServerInfo ();
|
||||||
|
// leave intermission full screen
|
||||||
|
r_data->vid->recalc_refdef = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_lightstyle:
|
case svc_lightstyle:
|
||||||
|
@ -980,16 +974,15 @@ CL_ParseServerMessage (void)
|
||||||
Host_Error ("svc_lightstyle > MAX_LIGHTSTYLES");
|
Host_Error ("svc_lightstyle > MAX_LIGHTSTYLES");
|
||||||
strcpy (cl.lightstyle[i].map, MSG_ReadString (net_message));
|
strcpy (cl.lightstyle[i].map, MSG_ReadString (net_message));
|
||||||
cl.lightstyle[i].length = strlen (cl.lightstyle[i].map);
|
cl.lightstyle[i].length = strlen (cl.lightstyle[i].map);
|
||||||
// FIXME extra info
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_sound:
|
case svc_updatename:
|
||||||
CL_ParseStartSoundPacket ();
|
Sbar_Changed ();
|
||||||
break;
|
i = MSG_ReadByte (net_message);
|
||||||
|
if (i >= cl.maxclients)
|
||||||
case svc_stopsound:
|
Host_Error ("CL_ParseServerMessage: svc_updatename > "
|
||||||
i = MSG_ReadShort (net_message);
|
"MAX_SCOREBOARD");
|
||||||
S_StopSound (i >> 3, i & 7);
|
strcpy (cl.scores[i].name, MSG_ReadString (net_message));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_updatefrags:
|
case svc_updatefrags:
|
||||||
|
@ -1001,13 +994,13 @@ CL_ParseServerMessage (void)
|
||||||
cl.scores[i].frags = (short) MSG_ReadShort (net_message);
|
cl.scores[i].frags = (short) MSG_ReadShort (net_message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_updatename:
|
case svc_clientdata:
|
||||||
Sbar_Changed ();
|
CL_ParseClientdata ();
|
||||||
i = MSG_ReadByte (net_message);
|
break;
|
||||||
if (i >= cl.maxclients)
|
|
||||||
Host_Error ("CL_ParseServerMessage: svc_updatename > "
|
case svc_stopsound:
|
||||||
"MAX_SCOREBOARD");
|
i = MSG_ReadShort (net_message);
|
||||||
strcpy (cl.scores[i].name, MSG_ReadString (net_message));
|
S_StopSound (i >> 3, i & 7);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_updatecolors:
|
case svc_updatecolors:
|
||||||
|
@ -1031,17 +1024,22 @@ CL_ParseServerMessage (void)
|
||||||
CL_ParseParticleEffect ();
|
CL_ParseParticleEffect ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case svc_damage:
|
||||||
|
V_ParseDamage ();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case svc_spawnstatic:
|
||||||
|
CL_ParseStatic (1);
|
||||||
|
break;
|
||||||
|
|
||||||
|
// svc_spawnbinary
|
||||||
|
|
||||||
case svc_spawnbaseline:
|
case svc_spawnbaseline:
|
||||||
i = MSG_ReadShort (net_message);
|
i = MSG_ReadShort (net_message);
|
||||||
// must use CL_EntityNum () to force cl.num_entities up
|
// must use CL_EntityNum () to force cl.num_entities up
|
||||||
CL_ParseBaseline (CL_EntityNum (i), 1);
|
CL_ParseBaseline (CL_EntityNum (i), 1);
|
||||||
break;
|
break;
|
||||||
case svc_spawnstatic:
|
|
||||||
CL_ParseStatic (1);
|
|
||||||
break;
|
|
||||||
case svc_spawnstaticsound:
|
|
||||||
CL_ParseStaticSound (1);
|
|
||||||
break;
|
|
||||||
case svc_temp_entity:
|
case svc_temp_entity:
|
||||||
CL_ParseTEnt ();
|
CL_ParseTEnt ();
|
||||||
break;
|
break;
|
||||||
|
@ -1063,6 +1061,15 @@ CL_ParseServerMessage (void)
|
||||||
CL_SignonReply ();
|
CL_SignonReply ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case svc_centerprint:
|
||||||
|
str = MSG_ReadString (net_message);
|
||||||
|
if (strcmp (str, centerprint->str)) {
|
||||||
|
dstring_copystr (centerprint, str);
|
||||||
|
//FIXME logging
|
||||||
|
}
|
||||||
|
Sbar_CenterPrint (str);
|
||||||
|
break;
|
||||||
|
|
||||||
case svc_killedmonster:
|
case svc_killedmonster:
|
||||||
cl.stats[STAT_MONSTERS]++;
|
cl.stats[STAT_MONSTERS]++;
|
||||||
break;
|
break;
|
||||||
|
@ -1071,10 +1078,28 @@ CL_ParseServerMessage (void)
|
||||||
cl.stats[STAT_SECRETS]++;
|
cl.stats[STAT_SECRETS]++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_updatestat:
|
case svc_spawnstaticsound:
|
||||||
i = MSG_ReadByte (net_message);
|
CL_ParseStaticSound (1);
|
||||||
j = MSG_ReadLong (net_message);
|
break;
|
||||||
CL_SetStat (i, j);
|
|
||||||
|
case svc_intermission:
|
||||||
|
cl.intermission = 1;
|
||||||
|
r_data->force_fullscreen = 1;
|
||||||
|
cl.completed_time = cl.time;
|
||||||
|
r_data->vid->recalc_refdef = true; // go to full screen
|
||||||
|
break;
|
||||||
|
|
||||||
|
case svc_finale:
|
||||||
|
cl.intermission = 2;
|
||||||
|
r_data->force_fullscreen = 1;
|
||||||
|
cl.completed_time = cl.time;
|
||||||
|
r_data->vid->recalc_refdef = true; // go to full screen
|
||||||
|
str = MSG_ReadString (net_message);
|
||||||
|
if (strcmp (str, centerprint->str)) {
|
||||||
|
dstring_copystr (centerprint, str);
|
||||||
|
//FIXME logging
|
||||||
|
}
|
||||||
|
Sbar_CenterPrint (str);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_cdtrack:
|
case svc_cdtrack:
|
||||||
|
@ -1087,24 +1112,8 @@ CL_ParseServerMessage (void)
|
||||||
CDAudio_Play ((byte) cl.cdtrack, true);
|
CDAudio_Play ((byte) cl.cdtrack, true);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_intermission:
|
case svc_sellscreen:
|
||||||
cl.intermission = 1;
|
Cmd_ExecuteString ("help", src_command);
|
||||||
r_data->force_fullscreen = 1;
|
|
||||||
cl.completed_time = cl.time;
|
|
||||||
r_data->vid->recalc_refdef = true; // go to full screen
|
|
||||||
break;
|
|
||||||
|
|
||||||
case svc_finale:
|
|
||||||
cl.intermission = 2;
|
|
||||||
r_data->force_fullscreen = 1;
|
|
||||||
cl.completed_time = cl.time;
|
|
||||||
r_data->vid->recalc_refdef = true; // go to full screen
|
|
||||||
str = MSG_ReadString (net_message);
|
|
||||||
if (strcmp (str, centerprint->str)) {
|
|
||||||
dstring_copystr (centerprint, str);
|
|
||||||
//FIXME logging
|
|
||||||
}
|
|
||||||
Sbar_CenterPrint (str);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_cutscene:
|
case svc_cutscene:
|
||||||
|
@ -1120,11 +1129,28 @@ CL_ParseServerMessage (void)
|
||||||
Sbar_CenterPrint (str);
|
Sbar_CenterPrint (str);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_sellscreen:
|
// svc_smallkick (same value as svc_cutscene)
|
||||||
Cmd_ExecuteString ("help", src_command);
|
// svc_bigkick
|
||||||
break;
|
// svc_updateping
|
||||||
|
// svc_updateentertime
|
||||||
|
// svc_updatestatlong
|
||||||
|
// svc_muzzleflash
|
||||||
|
// svc_updateuserinfo
|
||||||
|
// svc_download
|
||||||
|
// svc_playerinfo
|
||||||
|
// svc_nails
|
||||||
|
// svc_chokecount
|
||||||
|
// svc_modellist
|
||||||
|
// svc_soundlist
|
||||||
|
// svc_packetentities
|
||||||
|
// svc_deltapacketentities
|
||||||
|
// svc_maxspeed
|
||||||
|
// svc_entgravity
|
||||||
|
// svc_setinfo
|
||||||
|
// svc_serverinfo
|
||||||
|
// svc_updatepl
|
||||||
|
|
||||||
// PROTOCOL_FITZQUAKE
|
// PROTOCOL_FITZQUAKE (these overlap with the above listed qw svcs)
|
||||||
case svc_skybox:
|
case svc_skybox:
|
||||||
r_funcs->R_LoadSkys (MSG_ReadString(net_message));
|
r_funcs->R_LoadSkys (MSG_ReadString(net_message));
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -129,7 +129,7 @@ const char *svc_strings[] = {
|
||||||
"svc_download",
|
"svc_download",
|
||||||
"svc_playerinfo",
|
"svc_playerinfo",
|
||||||
"svc_nails",
|
"svc_nails",
|
||||||
"svc_choke",
|
"svc_chokecount",
|
||||||
"svc_modellist",
|
"svc_modellist",
|
||||||
"svc_soundlist",
|
"svc_soundlist",
|
||||||
"svc_packetentities",
|
"svc_packetentities",
|
||||||
|
@ -1296,7 +1296,7 @@ int received_framecount;
|
||||||
void
|
void
|
||||||
CL_ParseServerMessage (void)
|
CL_ParseServerMessage (void)
|
||||||
{
|
{
|
||||||
int cmd = 0, i, j;
|
int cmd = 0, i, j;
|
||||||
const char *str;
|
const char *str;
|
||||||
static dstring_t *stuffbuf;
|
static dstring_t *stuffbuf;
|
||||||
|
|
||||||
|
@ -1348,6 +1348,21 @@ CL_ParseServerMessage (void)
|
||||||
Host_EndGame ("Server disconnected");
|
Host_EndGame ("Server disconnected");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case svc_updatestat:
|
||||||
|
i = MSG_ReadByte (net_message);
|
||||||
|
j = MSG_ReadByte (net_message);
|
||||||
|
CL_SetStat (i, j);
|
||||||
|
break;
|
||||||
|
|
||||||
|
// svc_version
|
||||||
|
// svc_setview
|
||||||
|
|
||||||
|
case svc_sound:
|
||||||
|
CL_ParseStartSoundPacket ();
|
||||||
|
break;
|
||||||
|
|
||||||
|
// svc_time
|
||||||
|
|
||||||
case svc_print:
|
case svc_print:
|
||||||
{
|
{
|
||||||
dstring_t *p = 0;
|
dstring_t *p = 0;
|
||||||
|
@ -1381,15 +1396,6 @@ CL_ParseServerMessage (void)
|
||||||
Con_SetOrMask (0);
|
Con_SetOrMask (0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case svc_centerprint:
|
|
||||||
str = MSG_ReadString (net_message);
|
|
||||||
if (strcmp (str, centerprint->str)) {
|
|
||||||
dstring_copystr (centerprint, str);
|
|
||||||
//FIXME logging
|
|
||||||
}
|
|
||||||
Sbar_CenterPrint (str);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case svc_stufftext:
|
case svc_stufftext:
|
||||||
str = MSG_ReadString (net_message);
|
str = MSG_ReadString (net_message);
|
||||||
if (str[strlen (str) - 1] == '\n') {
|
if (str[strlen (str) - 1] == '\n') {
|
||||||
|
@ -1410,14 +1416,6 @@ CL_ParseServerMessage (void)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_damage:
|
|
||||||
V_ParseDamage ();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case svc_serverinfo:
|
|
||||||
CL_ServerInfo ();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case svc_setangle:
|
case svc_setangle:
|
||||||
{
|
{
|
||||||
vec_t *dest = cl.viewangles;
|
vec_t *dest = cl.viewangles;
|
||||||
|
@ -1448,14 +1446,7 @@ CL_ParseServerMessage (void)
|
||||||
cl.lightstyle[i].length = strlen (cl.lightstyle[i].map);
|
cl.lightstyle[i].length = strlen (cl.lightstyle[i].map);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_sound:
|
// svc_updatename
|
||||||
CL_ParseStartSoundPacket ();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case svc_stopsound:
|
|
||||||
i = MSG_ReadShort (net_message);
|
|
||||||
S_StopSound (i >> 3, i & 7);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case svc_updatefrags:
|
case svc_updatefrags:
|
||||||
Sbar_Changed ();
|
Sbar_Changed ();
|
||||||
|
@ -1466,42 +1457,31 @@ CL_ParseServerMessage (void)
|
||||||
cl.players[i].frags = (short) MSG_ReadShort (net_message);
|
cl.players[i].frags = (short) MSG_ReadShort (net_message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_updateping:
|
// svc_clientdata
|
||||||
i = MSG_ReadByte (net_message);
|
|
||||||
if (i >= MAX_CLIENTS)
|
case svc_stopsound:
|
||||||
Host_Error ("CL_ParseServerMessage: svc_updateping > "
|
i = MSG_ReadShort (net_message);
|
||||||
"MAX_SCOREBOARD");
|
S_StopSound (i >> 3, i & 7);
|
||||||
cl.players[i].ping = MSG_ReadShort (net_message);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_updatepl:
|
// svc_updatecolors
|
||||||
i = MSG_ReadByte (net_message);
|
// svc_particle
|
||||||
if (i >= MAX_CLIENTS)
|
|
||||||
Host_Error ("CL_ParseServerMessage: svc_updatepl > "
|
case svc_damage:
|
||||||
"MAX_SCOREBOARD");
|
V_ParseDamage ();
|
||||||
cl.players[i].pl = MSG_ReadByte (net_message);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_updateentertime:
|
case svc_spawnstatic:
|
||||||
// time is sent over as seconds ago
|
CL_ParseStatic ();
|
||||||
i = MSG_ReadByte (net_message);
|
|
||||||
if (i >= MAX_CLIENTS)
|
|
||||||
Host_Error ("CL_ParseServerMessage: svc_updateentertime "
|
|
||||||
"> MAX_SCOREBOARD");
|
|
||||||
cl.players[i].entertime = realtime - MSG_ReadFloat
|
|
||||||
(net_message);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// svc_spawnbinary
|
||||||
|
|
||||||
case svc_spawnbaseline:
|
case svc_spawnbaseline:
|
||||||
i = MSG_ReadShort (net_message);
|
i = MSG_ReadShort (net_message);
|
||||||
CL_ParseBaseline (&cl_baselines[i]);
|
CL_ParseBaseline (&cl_baselines[i]);
|
||||||
break;
|
break;
|
||||||
case svc_spawnstatic:
|
|
||||||
CL_ParseStatic ();
|
|
||||||
break;
|
|
||||||
case svc_spawnstaticsound:
|
|
||||||
CL_ParseStaticSound ();
|
|
||||||
break;
|
|
||||||
case svc_temp_entity:
|
case svc_temp_entity:
|
||||||
CL_ParseTEnt ();
|
CL_ParseTEnt ();
|
||||||
break;
|
break;
|
||||||
|
@ -1514,6 +1494,17 @@ CL_ParseServerMessage (void)
|
||||||
CDAudio_Resume ();
|
CDAudio_Resume ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// svc_signonnum
|
||||||
|
|
||||||
|
case svc_centerprint:
|
||||||
|
str = MSG_ReadString (net_message);
|
||||||
|
if (strcmp (str, centerprint->str)) {
|
||||||
|
dstring_copystr (centerprint, str);
|
||||||
|
//FIXME logging
|
||||||
|
}
|
||||||
|
Sbar_CenterPrint (str);
|
||||||
|
break;
|
||||||
|
|
||||||
case svc_killedmonster:
|
case svc_killedmonster:
|
||||||
cl.stats[STAT_MONSTERS]++;
|
cl.stats[STAT_MONSTERS]++;
|
||||||
break;
|
break;
|
||||||
|
@ -1522,21 +1513,8 @@ CL_ParseServerMessage (void)
|
||||||
cl.stats[STAT_SECRETS]++;
|
cl.stats[STAT_SECRETS]++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_updatestat:
|
case svc_spawnstaticsound:
|
||||||
i = MSG_ReadByte (net_message);
|
CL_ParseStaticSound ();
|
||||||
j = MSG_ReadByte (net_message);
|
|
||||||
CL_SetStat (i, j);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case svc_updatestatlong:
|
|
||||||
i = MSG_ReadByte (net_message);
|
|
||||||
j = MSG_ReadLong (net_message);
|
|
||||||
CL_SetStat (i, j);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case svc_cdtrack:
|
|
||||||
cl.cdtrack = MSG_ReadByte (net_message);
|
|
||||||
CDAudio_Play ((byte) cl.cdtrack, true);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_intermission:
|
case svc_intermission:
|
||||||
|
@ -1545,7 +1523,7 @@ CL_ParseServerMessage (void)
|
||||||
cl.intermission = 1;
|
cl.intermission = 1;
|
||||||
r_data->force_fullscreen = 1;
|
r_data->force_fullscreen = 1;
|
||||||
cl.completed_time = realtime;
|
cl.completed_time = realtime;
|
||||||
r_data->vid->recalc_refdef = true; // go to full screen
|
r_data->vid->recalc_refdef = true; // go to full screen
|
||||||
Sys_MaskPrintf (SYS_DEV, "intermission simorg: ");
|
Sys_MaskPrintf (SYS_DEV, "intermission simorg: ");
|
||||||
MSG_ReadCoordV (net_message, cl.simorg);
|
MSG_ReadCoordV (net_message, cl.simorg);
|
||||||
for (i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
|
@ -1576,10 +1554,17 @@ CL_ParseServerMessage (void)
|
||||||
Sbar_CenterPrint (str);
|
Sbar_CenterPrint (str);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case svc_cdtrack:
|
||||||
|
cl.cdtrack = MSG_ReadByte (net_message);
|
||||||
|
CDAudio_Play ((byte) cl.cdtrack, true);
|
||||||
|
break;
|
||||||
|
|
||||||
case svc_sellscreen:
|
case svc_sellscreen:
|
||||||
Cmd_ExecuteString ("help", src_command);
|
Cmd_ExecuteString ("help", src_command);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// svc_cutscene (same value as svc_smallkick)
|
||||||
|
|
||||||
case svc_smallkick:
|
case svc_smallkick:
|
||||||
cl.punchangle = -2;
|
cl.punchangle = -2;
|
||||||
break;
|
break;
|
||||||
|
@ -1588,6 +1573,30 @@ CL_ParseServerMessage (void)
|
||||||
cl.punchangle = -4;
|
cl.punchangle = -4;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case svc_updateping:
|
||||||
|
i = MSG_ReadByte (net_message);
|
||||||
|
if (i >= MAX_CLIENTS)
|
||||||
|
Host_Error ("CL_ParseServerMessage: svc_updateping > "
|
||||||
|
"MAX_SCOREBOARD");
|
||||||
|
cl.players[i].ping = MSG_ReadShort (net_message);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case svc_updateentertime:
|
||||||
|
// time is sent over as seconds ago
|
||||||
|
i = MSG_ReadByte (net_message);
|
||||||
|
if (i >= MAX_CLIENTS)
|
||||||
|
Host_Error ("CL_ParseServerMessage: svc_updateentertime "
|
||||||
|
"> MAX_SCOREBOARD");
|
||||||
|
cl.players[i].entertime = realtime - MSG_ReadFloat
|
||||||
|
(net_message);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case svc_updatestatlong:
|
||||||
|
i = MSG_ReadByte (net_message);
|
||||||
|
j = MSG_ReadLong (net_message);
|
||||||
|
CL_SetStat (i, j);
|
||||||
|
break;
|
||||||
|
|
||||||
case svc_muzzleflash:
|
case svc_muzzleflash:
|
||||||
CL_MuzzleFlash ();
|
CL_MuzzleFlash ();
|
||||||
break;
|
break;
|
||||||
|
@ -1596,10 +1605,6 @@ CL_ParseServerMessage (void)
|
||||||
CL_UpdateUserinfo ();
|
CL_UpdateUserinfo ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_setinfo:
|
|
||||||
CL_SetInfo ();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case svc_download:
|
case svc_download:
|
||||||
CL_ParseDownload ();
|
CL_ParseDownload ();
|
||||||
break;
|
break;
|
||||||
|
@ -1612,10 +1617,6 @@ CL_ParseServerMessage (void)
|
||||||
CL_ParseProjectiles (false);
|
CL_ParseProjectiles (false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case svc_nails2: // FIXME from qwex
|
|
||||||
CL_ParseProjectiles (true);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case svc_chokecount: // some preceding packets were choked
|
case svc_chokecount: // some preceding packets were choked
|
||||||
i = MSG_ReadByte (net_message);
|
i = MSG_ReadByte (net_message);
|
||||||
for (j = 0; j < i; j++)
|
for (j = 0; j < i; j++)
|
||||||
|
@ -1646,6 +1647,26 @@ CL_ParseServerMessage (void)
|
||||||
case svc_entgravity:
|
case svc_entgravity:
|
||||||
movevars.entgravity = MSG_ReadFloat (net_message);
|
movevars.entgravity = MSG_ReadFloat (net_message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case svc_setinfo:
|
||||||
|
CL_SetInfo ();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case svc_serverinfo:
|
||||||
|
CL_ServerInfo ();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case svc_updatepl:
|
||||||
|
i = MSG_ReadByte (net_message);
|
||||||
|
if (i >= MAX_CLIENTS)
|
||||||
|
Host_Error ("CL_ParseServerMessage: svc_updatepl > "
|
||||||
|
"MAX_SCOREBOARD");
|
||||||
|
cl.players[i].pl = MSG_ReadByte (net_message);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case svc_nails2: // FIXME from qwex
|
||||||
|
CL_ParseProjectiles (true);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue