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 004752c0d8c..5773722595c 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) {