From cfc6a47f768f1839ac815e7a05d06b9c3fb6509c Mon Sep 17 00:00:00 2001 From: Gold856 <117957790+Gold856@users.noreply.github.com> Date: Tue, 24 Oct 2023 12:15:40 -0400 Subject: [PATCH] [sim] DS plugin: Fix off-by-one error when setting alliance station (#5819) --- .../halsim_ds_socket/src/main/native/cpp/DSCommPacket.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/simulation/halsim_ds_socket/src/main/native/cpp/DSCommPacket.cpp b/simulation/halsim_ds_socket/src/main/native/cpp/DSCommPacket.cpp index 004752c0d8..5773722595 100644 --- a/simulation/halsim_ds_socket/src/main/native/cpp/DSCommPacket.cpp +++ b/simulation/halsim_ds_socket/src/main/native/cpp/DSCommPacket.cpp @@ -146,7 +146,9 @@ void DSCommPacket::DecodeUDP(std::span packet) { m_lo = packet[1]; // Comm Version is packet 2, ignore SetControl(packet[3], packet[4]); - SetAlliance(packet[5]); + // DS sends values 0, 1, and 2 for Red, but kUnknown is 0, so the value needs + // to be offset by one + SetAlliance(packet[5] + 1); // Return if packet finished if (packet.size() == 6) {