Fixed player sprites

This commit is contained in:
ElijahZAwesome 2018-02-08 17:16:11 -06:00
parent cd4681780c
commit 06b18f3c64
3 changed files with 24 additions and 3 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View file

@ -106,7 +106,7 @@ void networkHandleRecieve() {
actualSize -= sizeof(u16); actualSize -= sizeof(u16);
//if the seq id was expected handle the packet //if the seq id was expected handle the packet
u32 nextID = networkSeqRecvLast[sourceNetworkNodeID]+1; u16 nextID = networkGetExpectedSeqFrom(sourceNetworkNodeID);
if(seqID==nextID) { if(seqID==nextID) {
networkSeqRecvLast[sourceNetworkNodeID] = seqID; networkSeqRecvLast[sourceNetworkNodeID] = seqID;
ackToSend = seqID; ackToSend = seqID;
@ -117,8 +117,8 @@ void networkHandleRecieve() {
} else { } else {
processPacket(readPointer, size); processPacket(readPointer, size);
} }
} else if(seqID<=nextID-1) { } else if(networkSeqIsLowerThan(seqID, nextID)) {
ackToSend = nextID-1; ackToSend = seqID;
} }
readPointer += size; readPointer += size;
actualSize -= size; actualSize -= size;
@ -527,6 +527,24 @@ bool networkGetNodeName(u16 id, char *name) {
return false; 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) { int fitInSendBuffer(size_t size) {
//add "header" length //add "header" length

View file

@ -40,5 +40,8 @@ u16 networkGetLocalNodeID();
bool networkIsNodeConnected(u16 id); bool networkIsNodeConnected(u16 id);
bool networkGetNodeName(u16 id, char *name); bool networkGetNodeName(u16 id, char *name);
u16 networkGetExpectedSeqFrom(u16 id);
bool networkSeqIsLowerThan(u16 firstID, u16 secondID);
void networkSend(void *packet, size_t size); void networkSend(void *packet, size_t size);
void networkSendWaitFlush(); void networkSendWaitFlush();