f1_game_packet_parser/packets/
participants.rs1use super::{read_name, u8_to_bool};
2use crate::constants::{Nationality, Platform, YourTelemetry};
3
4use binrw::BinRead;
5use serde::{Deserialize, Serialize};
6
7#[non_exhaustive]
8#[derive(
9 BinRead, Eq, PartialEq, Ord, PartialOrd, Clone, Debug, Serialize, Deserialize,
10)]
11#[br(little, import(packet_format: u16))]
12pub struct ParticipantsData {
13 #[br(try_map(u8_to_bool))]
15 pub ai_controlled: bool,
16 pub driver_id: u8,
20 pub network_id: u8,
22 pub team_id: u8,
25 #[br(try_map(u8_to_bool))]
27 pub my_team: bool,
28 pub race_number: u8,
30 pub nationality: Nationality,
32 #[br(try_map(read_name))]
34 pub name: String,
35 pub your_telemetry: Option<YourTelemetry>,
37 #[br(if(packet_format >= 2023), try_map(u8_to_bool))]
40 pub show_online_names: bool,
41 #[br(if(packet_format >= 2024))]
44 pub tech_level: u16,
45 #[br(if(packet_format >= 2023))]
48 pub platform: Option<Platform>,
49}