Fix checksum in Stage1HandshakeBuilder
This commit is contained in:
parent
962551f81c
commit
512328f710
|
@ -10,11 +10,11 @@ import java.util.Arrays;
|
|||
import static java.lang.Math.abs;
|
||||
|
||||
public class Stage1HandshakeBuilder {
|
||||
private static class Movement {
|
||||
public static class Movement {
|
||||
double deltaYaw;
|
||||
double deltaPitch;
|
||||
|
||||
Movement(double deltaYaw, double deltaPitch) {
|
||||
public Movement(double deltaYaw, double deltaPitch) {
|
||||
this.deltaPitch = deltaPitch;
|
||||
this.deltaYaw = deltaYaw;
|
||||
}
|
||||
|
@ -22,6 +22,10 @@ public class Stage1HandshakeBuilder {
|
|||
public Movement getOpposite() {
|
||||
return new Movement(-this.deltaYaw, -this.deltaPitch);
|
||||
}
|
||||
|
||||
public Movement convertToChecksum() {
|
||||
return new Movement(this.deltaYaw % 0.05, this.deltaPitch % 0.05);
|
||||
}
|
||||
}
|
||||
|
||||
private final ArrayList<Movement> movements = new ArrayList<>();
|
||||
|
@ -113,7 +117,9 @@ public class Stage1HandshakeBuilder {
|
|||
totalMovement.deltaPitch += abs(movement.deltaPitch);
|
||||
});
|
||||
|
||||
if (totalMovement != handshake.get(10) || !totalMovement.getOpposite().equals(handshake.get(11))) {
|
||||
Movement checksum = totalMovement.convertToChecksum();
|
||||
|
||||
if (checksum != handshake.get(10) || !checksum.getOpposite().equals(handshake.get(11))) {
|
||||
return null;
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Reference in New Issue
Block a user