mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-02-17 01:11:45 +00:00
really get player deltas working and get connecting and disconnecting
players working as well
This commit is contained in:
parent
47bf8c8423
commit
1029ad31bc
1 changed files with 19 additions and 4 deletions
|
@ -440,7 +440,7 @@ sv_packetentities (server_t *sv, qmsg_t *msg, int delta)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
parse_player_delta (qmsg_t *msg, plent_state_t *to)
|
parse_player_delta (qmsg_t *msg, plent_state_t *from, plent_state_t *to)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int flags;
|
int flags;
|
||||||
|
@ -450,8 +450,9 @@ parse_player_delta (qmsg_t *msg, plent_state_t *to)
|
||||||
to->frame = (to->frame & 0xff00) | MSG_ReadByte (msg);
|
to->frame = (to->frame & 0xff00) | MSG_ReadByte (msg);
|
||||||
if (flags & PF_MSEC)
|
if (flags & PF_MSEC)
|
||||||
to->msec = MSG_ReadByte (msg);
|
to->msec = MSG_ReadByte (msg);
|
||||||
|
// qtv_printf ("%02x\n", msg->message->data[msg->readcount]);
|
||||||
if (flags & PF_COMMAND)
|
if (flags & PF_COMMAND)
|
||||||
MSG_ReadDeltaUsercmd (msg, &nullcmd, &to->cmd);
|
MSG_ReadDeltaUsercmd (msg, &from->cmd, &to->cmd);
|
||||||
for (i = 0; i < 3; i++) {
|
for (i = 0; i < 3; i++) {
|
||||||
if (flags & (PF_VELOCITY1 << i))
|
if (flags & (PF_VELOCITY1 << i))
|
||||||
to->velocity[i] = MSG_ReadShort (msg);
|
to->velocity[i] = MSG_ReadShort (msg);
|
||||||
|
@ -518,8 +519,8 @@ sv_playerinfo (server_t *sv, qmsg_t *msg)
|
||||||
to = &sv->player_states[toind][num];
|
to = &sv->player_states[toind][num];
|
||||||
*to = *from;
|
*to = *from;
|
||||||
}
|
}
|
||||||
parse_player_delta (msg, to);
|
parse_player_delta (msg, from, to);
|
||||||
qtv_printf ("%3d %g %g %g %d\n", fromind, to->origin[0], to->origin[1], to->origin[2], to->modelindex);
|
// qtv_printf ("%3d %g %g %g %d\n", fromind, to->cmd.angles[0], to->cmd.angles[1], to->cmd.angles[2], to->modelindex);
|
||||||
*ent = *to;
|
*ent = *to;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -545,6 +546,11 @@ sv_setinfo (server_t *sv, qmsg_t *msg)
|
||||||
dstring_t *key = dstring_newstr ();
|
dstring_t *key = dstring_newstr ();
|
||||||
dstring_t *value = dstring_newstr ();
|
dstring_t *value = dstring_newstr ();
|
||||||
player_t *pl;
|
player_t *pl;
|
||||||
|
byte *data;
|
||||||
|
int len;
|
||||||
|
|
||||||
|
len = msg->readcount - 1;
|
||||||
|
data = msg->message->data + len;
|
||||||
|
|
||||||
slot = MSG_ReadByte (msg);
|
slot = MSG_ReadByte (msg);
|
||||||
dstring_copystr (key, MSG_ReadString (msg));
|
dstring_copystr (key, MSG_ReadString (msg));
|
||||||
|
@ -561,6 +567,8 @@ sv_setinfo (server_t *sv, qmsg_t *msg)
|
||||||
}
|
}
|
||||||
dstring_delete (key);
|
dstring_delete (key);
|
||||||
dstring_delete (value);
|
dstring_delete (value);
|
||||||
|
len = msg->readcount - len;
|
||||||
|
Server_Broadcast (sv, 1, data, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -569,6 +577,11 @@ sv_updateuserinfo (server_t *sv, qmsg_t *msg)
|
||||||
int slot, uid;
|
int slot, uid;
|
||||||
const char *info;
|
const char *info;
|
||||||
player_t *pl;
|
player_t *pl;
|
||||||
|
byte *data;
|
||||||
|
int len;
|
||||||
|
|
||||||
|
len = msg->readcount - 1;
|
||||||
|
data = msg->message->data + len;
|
||||||
|
|
||||||
slot = MSG_ReadByte (msg);
|
slot = MSG_ReadByte (msg);
|
||||||
uid = MSG_ReadLong (msg);
|
uid = MSG_ReadLong (msg);
|
||||||
|
@ -584,6 +597,8 @@ sv_updateuserinfo (server_t *sv, qmsg_t *msg)
|
||||||
pl->info = Info_ParseString (info, MAX_INFO_STRING, 0);
|
pl->info = Info_ParseString (info, MAX_INFO_STRING, 0);
|
||||||
pl->uid = uid;
|
pl->uid = uid;
|
||||||
}
|
}
|
||||||
|
len = msg->readcount - len;
|
||||||
|
Server_Broadcast (sv, 1, data, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in a new issue