diff options
| -rw-r--r-- | server/Brokenithm-Evolved-iOS/Program.cs | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/server/Brokenithm-Evolved-iOS/Program.cs b/server/Brokenithm-Evolved-iOS/Program.cs index 931ad63..85a2aa9 100644 --- a/server/Brokenithm-Evolved-iOS/Program.cs +++ b/server/Brokenithm-Evolved-iOS/Program.cs @@ -196,7 +196,7 @@ namespace Brokenithm_Evolved_iOS } iDeviceConnectionHandle conn = connection_map[udid]; iDeviceError status; - bool airEnabled = true; + byte[] airIdx = { 4, 5, 2, 3, 0, 1 }; byte[] buf = new byte[256]; uint read = 0; @@ -223,15 +223,25 @@ namespace Brokenithm_Evolved_iOS buf[1] == 'N' && buf[2] == 'P') { - // key input - if (airEnabled) + byte[] normalizedAir = new byte[6]; + byte[] normalizedSlider = new byte[32]; + for (int i = 0; i < 6; i++) { - sharedBufferAccessor.WriteArray<byte>(0, buf, 3, 6 + 32); + normalizedAir[i] = buf[3 + i] != 0 ? (byte)128 : (byte)0; } - else + + byte[] mappedAir = new byte[6]; + for (int i = 0; i < 6; i++) { - sharedBufferAccessor.WriteArray<byte>(6, buf, 3 + 6, 32); + mappedAir[i] = normalizedAir[airIdx[i]]; } + for (int i = 0; i < 32; i++) + { + normalizedSlider[i] = buf[3 + 6 + i] != 0 ? (byte)128 : (byte)0; + } + + sharedBufferAccessor.WriteArray<byte>(0, mappedAir, 0, 6); + sharedBufferAccessor.WriteArray<byte>(6, normalizedSlider, 0, 32); if (len > 3 + 6 + 32) { sharedBufferAccessor.WriteArray<byte>(6+32+96, buf, 3+6+32, len - (3 + 6 + 32)); @@ -242,9 +252,7 @@ namespace Brokenithm_Evolved_iOS buf[1] == 'I' && buf[2] == 'R') { - // air input control - airEnabled = buf[3] != 0; - Console.WriteLine(string.Format("Air input {0}", airEnabled ? "enabled" : "disabled")); + Console.WriteLine(string.Format("Air input {0}", buf[3] != 0 ? "enabled" : "disabled")); } else if (len >= 4 && buf[0] == 'F' && |
