Receiving 📦
This commit is contained in:
parent
bc1f4f750b
commit
8bd46ba831
@ -1127,18 +1127,28 @@ void Engine::Render(float elapsedTime) {
|
|||||||
sendPackTo<Input>(m_conn.m_sock_udp, &input, &m_bufout, &m_conn.m_srvsockaddr);
|
sendPackTo<Input>(m_conn.m_sock_udp, &input, &m_bufout, &m_conn.m_srvsockaddr);
|
||||||
|
|
||||||
lsPck = recvPacks(m_conn.m_sock_udp, &m_buf);
|
lsPck = recvPacks(m_conn.m_sock_udp, &m_buf);
|
||||||
|
char* prevptr = nullptr;
|
||||||
for (auto& pck : lsPck) {
|
for (auto& pck : lsPck) { // We could make a few threads out of this.
|
||||||
uint32_t bsize = m_buf.len - (pck - m_buf.ptr);
|
Sync sync;
|
||||||
netprot::Sync sync;
|
Output out;
|
||||||
netprot::Output out;
|
if (!prevptr)
|
||||||
switch (netprot::getType(pck, 1)) {
|
prevptr = m_buf.ptr;
|
||||||
using enum netprot::PACKET_TYPE;
|
uint32_t bsize = m_buf.len - (pck - prevptr);
|
||||||
|
prevptr = pck;
|
||||||
|
switch (getType(pck, 1)) {
|
||||||
|
using enum PACKET_TYPE;
|
||||||
case SYNC:
|
case SYNC:
|
||||||
if (!netprot::Deserialize(&sync, pck, &bsize)) {}
|
if (Deserialize(&sync, pck, &bsize)) {
|
||||||
|
if (sync.sid != m_conn.getId())
|
||||||
|
break;
|
||||||
|
// TODO: Vérifier si les positions concordent.
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case OUTPUT:
|
case OUTPUT:
|
||||||
if (!netprot::Deserialize(&out, pck, &bsize)) {}
|
if (Deserialize(&out, pck, &bsize)) {
|
||||||
|
RemotePlayer* r = (RemotePlayer*)m_players[out.id];
|
||||||
|
r->Feed(out);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user