From 06b18f3c64f720fb5d147174c3575fb3e3641972 Mon Sep 17 00:00:00 2001 From: ElijahZAwesome Date: Thu, 8 Feb 2018 17:16:11 -0600 Subject: [PATCH] Fixed player sprites --- data/player.png | Bin 4514 -> 4504 bytes source/Network.c | 24 +++++++++++++++++++++--- source/Network.h | 3 +++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/data/player.png b/data/player.png index 30820e60f99edde36fccb4fbc5805cc88ee3e4de..53e8a3c6a4c8042219be8f56c90c871c39dd6844 100644 GIT binary patch literal 4504 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 YzA9_BmQ<(u3j=_!*KW^e9>E#^1PfBe(EtDd diff --git a/source/Network.c b/source/Network.c index 840ed90..9e6bbce 100755 --- a/source/Network.c +++ b/source/Network.c @@ -106,7 +106,7 @@ void networkHandleRecieve() { actualSize -= sizeof(u16); //if the seq id was expected handle the packet - u32 nextID = networkSeqRecvLast[sourceNetworkNodeID]+1; + u16 nextID = networkGetExpectedSeqFrom(sourceNetworkNodeID); if(seqID==nextID) { networkSeqRecvLast[sourceNetworkNodeID] = seqID; ackToSend = seqID; @@ -117,8 +117,8 @@ void networkHandleRecieve() { } else { processPacket(readPointer, size); } - } else if(seqID<=nextID-1) { - ackToSend = nextID-1; + } else if(networkSeqIsLowerThan(seqID, nextID)) { + ackToSend = seqID; } readPointer += size; actualSize -= size; @@ -527,6 +527,24 @@ bool networkGetNodeName(u16 id, char *name) { return false; } +u16 networkGetExpectedSeqFrom(u16 id) { + u16 nextID = networkSeqRecvLast[id]; + nextID += 1; + if(nextID==0) { + nextID = 1; + } + return nextID; +} + +bool networkSeqIsLowerThan(u16 firstID, u16 secondID) { + if (secondID < 100) { + return (firstID < secondID) || (firstID > 65536-100); + } else if (secondID > 65536-100) { + return (firstID < secondID) && (firstID > 100); + } else { + return (firstID < secondID); + } +} int fitInSendBuffer(size_t size) { //add "header" length diff --git a/source/Network.h b/source/Network.h index 870d1f5..92c1e32 100755 --- a/source/Network.h +++ b/source/Network.h @@ -40,5 +40,8 @@ u16 networkGetLocalNodeID(); bool networkIsNodeConnected(u16 id); bool networkGetNodeName(u16 id, char *name); +u16 networkGetExpectedSeqFrom(u16 id); +bool networkSeqIsLowerThan(u16 firstID, u16 secondID); + void networkSend(void *packet, size_t size); void networkSendWaitFlush();