diff --git a/src/d_enet.c b/src/d_enet.c index 335c9fb6466e9cb63b1c37a133d27e589978b3c2..4b405c8bc661b0fd50da870b128a148236297639 100644 --- a/src/d_enet.c +++ b/src/d_enet.c @@ -275,7 +275,12 @@ static void ClientHandlePacket(UINT8 node, DataWrap data) mobj->state = &states[DW_ReadUINT16(data)]; mobj->sprite = mobj->state->sprite; - mobj->frame = mobj->state->frame; + if (mobj->sprite == SPR_PLAY) { + mobj->sprite2 = mobj->state->frame; + mobj->frame = DW_ReadUINT8(data); + } + else + mobj->frame = mobj->state->frame; mobj->tics = -1; break; } @@ -715,6 +720,8 @@ static void Net_MovePlayers(void) WRITEINT16(buf, players[i].mo->momz >> 8); WRITEUINT8(buf, players[i].mo->angle >> 24); WRITEUINT16(buf, players[i].mo->state - states); + if (players[i].mo->sprite == SPR_PLAY) + WRITEUINT8(buf, players[i].mo->frame); packet = enet_packet_create(data, buf-data, 0); enet_host_broadcast(ServerHost, CHANNEL_MOVE, packet);