diff --git a/fteqtv/parse.c b/fteqtv/parse.c index b9d798298..362074768 100644 --- a/fteqtv/parse.c +++ b/fteqtv/parse.c @@ -610,6 +610,9 @@ static void ParsePlayerInfo(sv_t *tv, netmsg_t *m, qboolean clearoldplayers) tv->players[num].current.velocity[i] = 0; } + tv->players[num].gibbed = !!(flags & PF_GIB); + tv->players[num].dead = !!(flags & PF_DEAD); + if (flags & PF_MODEL) tv->players[num].current.modelindex = ReadByte (m); else diff --git a/fteqtv/qw.c b/fteqtv/qw.c index 91c0e3306..98541fbf6 100644 --- a/fteqtv/qw.c +++ b/fteqtv/qw.c @@ -1387,13 +1387,19 @@ void SendLocalPlayerState(sv_t *tv, viewer_t *v, int playernum, netmsg_t *msg) WriteByte(msg, playernum); if (tv && tv->controller == v) - { + { //we're the one that is actually playing. v->trackplayer = tv->thisplayer; flags = 0; if (tv->players[tv->thisplayer].current.weaponframe) flags |= PF_WEAPONFRAME; if (tv->players[tv->thisplayer].current.effects) flags |= PF_EFFECTS; + + if (tv->players[tv->thisplayer].dead) + flags |= PF_DEAD; + if (tv->players[tv->thisplayer].gibbed) + flags |= PF_GIB; + for (j=0 ; j<3 ; j++) if (tv->players[tv->thisplayer].current.velocity[j]) flags |= (PF_VELOCITY1<