f1_game_packet_parser/packets/
lobby.rs1use super::{read_name, u8_to_bool};
2use crate::constants::{Nationality, Platform, ReadyStatus, 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 LobbyInfoData {
13 #[br(try_map(u8_to_bool))]
15 pub ai_controlled: bool,
16 pub team_id: u8,
19 pub nationality: Nationality,
21 #[br(if(packet_format >= 2023))]
24 pub platform: Option<Platform>,
25 #[br(try_map(read_name))]
27 pub name: String,
28 pub car_number: u8,
30 #[br(if(packet_format >= 2024))]
33 pub your_telemetry: Option<YourTelemetry>,
34 #[br(if(packet_format >= 2024), try_map(u8_to_bool))]
37 pub show_online_names: bool,
38 #[br(if(packet_format >= 2024))]
41 pub tech_level: u16,
42 pub ready_status: ReadyStatus,
44}