Fixed connecting to galaxy bug where players are stuck there

This commit is contained in:
Obique PSWG
2015-08-08 11:00:24 -05:00
parent b31156d958
commit e38c966bd5
4 changed files with 36 additions and 15 deletions
+25 -6
View File
@@ -79,10 +79,14 @@ public class OutboundNetworkHandler {
Iterator <SequencedPacket> it = sequenced.listIterator();
while (it.hasNext()) {
SequencedPacket sp = it.next();
if (sp.getSequence() <= sequence)
if (sp.getSequence() <= sequence) {
it.remove();
else
break;
} else {
if (sp.isSent())
sp.setSent(false);
else
break;
}
}
}
}
@@ -92,10 +96,15 @@ public class OutboundNetworkHandler {
Iterator <SequencedPacket> it = sequenced.listIterator();
while (it.hasNext()) {
SequencedPacket sp = it.next();
if (sp.getSequence() <= sequence)
if (sp.getSequence() > sequence) {
if (sp.isSent())
sp.setSent(false);
else
break;
} else if (!sp.isSent() || sp.getSequence() == sequence) {
pushAssembledUnencrypted(sp.getPacket()); // Pre-encrypted before putting into list
else
break;
sp.setSent(true);
}
}
}
}
@@ -220,10 +229,12 @@ public class OutboundNetworkHandler {
private static class SequencedPacket implements Comparable <SequencedPacket> {
private final short sequence;
private final byte [] packet;
private boolean sent;
public SequencedPacket(short sequence, byte [] packet) {
this.sequence = sequence;
this.packet = packet;
sent = false;
}
public short getSequence() {
@@ -234,6 +245,14 @@ public class OutboundNetworkHandler {
return packet;
}
public boolean isSent() {
return sent;
}
public void setSent(boolean sent) {
this.sent = sent;
}
@Override
public int compareTo(SequencedPacket sp) {
if (sequence < sp.getSequence())