Skip to content

Commit

Permalink
Minor refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
xorz57 committed Feb 18, 2024
1 parent 5ed54b6 commit 48a26b0
Show file tree
Hide file tree
Showing 2 changed files with 110 additions and 68 deletions.
63 changes: 61 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,67 @@ fn main() {
client.on_car_telemetry(Box::new(|packet: &PacketCarTelemetryData| {
println!("{packet:?}");
}));
client.on_event(Box::new(|_: &PacketEventData| {
// println!("{packet:?}");
client.on_event(Box::new(|packet: &PacketEventData| unsafe {
match &packet.event_string_code {
b"FTLP" => {
println!("{:?}", packet.event_details.fastest_lap);
}
b"RTMT" => {
println!("{:?}", packet.event_details.retirement);
}
b"TMPT" => {
println!("{:?}", packet.event_details.team_mate_in_pits);
}
b"RCWN" => {
println!("{:?}", packet.event_details.race_winner);
}
b"PENA" => {
println!("{:?}", packet.event_details.penalty);
}
b"SPTP" => {
println!("{:?}", packet.event_details.speed_trap);
}
b"STLG" => {
println!("{:?}", packet.event_details.start_lights);
}
b"DTSV" => {
println!("{:?}", packet.event_details.drive_through_penalty_served);
}
b"SGSV" => {
println!("{:?}", packet.event_details.stop_go_penalty_served);
}
b"FLBK" => {
println!("{:?}", packet.event_details.flashback);
}
b"BUTN" => {
println!("{:?}", packet.event_details.buttons);
}
b"OVTK" => {
println!("{:?}", packet.event_details.overtake);
}
b"SSTA" => {
println!("Session Started");
}
b"SEND" => {
println!("Session Ended");
}
b"DRSE" => {
println!("DRS Enabled");
}
b"DRSD" => {
println!("DRS Disabled");
}
b"CHQF" => {
println!("Chequered Flag");
}
b"LGOT" => {
println!("Lights Out");
}
b"RDFL" => {
println!("Red Flag");
}
_ => {}
}
}));
client.on_final_classification(Box::new(|packet: &PacketFinalClassificationData| {
println!("{packet:?}");
Expand Down
115 changes: 49 additions & 66 deletions src/packets/packet_event_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -406,83 +406,66 @@ impl PacketEventData {
};

let event_details: EventDataDetails = match &event_string_code {
b"FTLP" => {
let fastest_lap: FastestLap = FastestLap::unserialize(
b"FTLP" => EventDataDetails {
fastest_lap: FastestLap::unserialize(
&bytes[size_of::<PacketHeader>() + 4 * size_of::<u8>()..],
)?;
EventDataDetails { fastest_lap }
}
b"RTMT" => {
let retirement: Retirement = Retirement::unserialize(
)?,
},
b"RTMT" => EventDataDetails {
retirement: Retirement::unserialize(
&bytes[size_of::<PacketHeader>() + 4 * size_of::<u8>()..],
)?;
EventDataDetails { retirement }
}
b"TMPT" => {
let team_mate_in_pits: TeamMateInPits = TeamMateInPits::unserialize(
)?,
},
b"TMPT" => EventDataDetails {
team_mate_in_pits: TeamMateInPits::unserialize(
&bytes[size_of::<PacketHeader>() + 4 * size_of::<u8>()..],
)?;
EventDataDetails { team_mate_in_pits }
}
b"RCWN" => {
let race_winner: RaceWinner = RaceWinner::unserialize(
)?,
},
b"RCWN" => EventDataDetails {
race_winner: RaceWinner::unserialize(
&bytes[size_of::<PacketHeader>() + 4 * size_of::<u8>()..],
)?;
EventDataDetails { race_winner }
}
b"PENA" => {
let penalty: Penalty = Penalty::unserialize(
)?,
},
b"PENA" => EventDataDetails {
penalty: Penalty::unserialize(
&bytes[size_of::<PacketHeader>() + 4 * size_of::<u8>()..],
)?;
EventDataDetails { penalty }
}
b"SPTP" => {
let speed_trap: SpeedTrap = SpeedTrap::unserialize(
)?,
},
b"SPTP" => EventDataDetails {
speed_trap: SpeedTrap::unserialize(
&bytes[size_of::<PacketHeader>() + 4 * size_of::<u8>()..],
)?;
EventDataDetails { speed_trap }
}
b"STLG" => {
let start_lights: StartLights = StartLights::unserialize(
)?,
},
b"STLG" => EventDataDetails {
start_lights: StartLights::unserialize(
&bytes[size_of::<PacketHeader>() + 4 * size_of::<u8>()..],
)?;
EventDataDetails { start_lights }
}
b"DTSV" => {
let drive_through_penalty_served: DriveThroughPenaltyServed =
DriveThroughPenaltyServed::unserialize(
&bytes[size_of::<PacketHeader>() + 4 * size_of::<u8>()..],
)?;
EventDataDetails {
drive_through_penalty_served,
}
}
b"SGSV" => {
let stop_go_penalty_served: StopGoPenaltyServed = StopGoPenaltyServed::unserialize(
)?,
},
b"DTSV" => EventDataDetails {
drive_through_penalty_served: DriveThroughPenaltyServed::unserialize(
&bytes[size_of::<PacketHeader>() + 4 * size_of::<u8>()..],
)?;
EventDataDetails {
stop_go_penalty_served,
}
}
b"FLBK" => {
let flashback: Flashback = Flashback::unserialize(
)?,
},
b"SGSV" => EventDataDetails {
stop_go_penalty_served: StopGoPenaltyServed::unserialize(
&bytes[size_of::<PacketHeader>() + 4 * size_of::<u8>()..],
)?;
EventDataDetails { flashback }
}
b"BUTN" => {
let buttons: Buttons = Buttons::unserialize(
)?,
},
b"FLBK" => EventDataDetails {
flashback: Flashback::unserialize(
&bytes[size_of::<PacketHeader>() + 4 * size_of::<u8>()..],
)?;
EventDataDetails { buttons }
}
b"OVTK" => {
let overtake: Overtake = Overtake::unserialize(
)?,
},
b"BUTN" => EventDataDetails {
buttons: Buttons::unserialize(
&bytes[size_of::<PacketHeader>() + 4 * size_of::<u8>()..],
)?;
EventDataDetails { overtake }
}
)?,
},
b"OVTK" => EventDataDetails {
overtake: Overtake::unserialize(
&bytes[size_of::<PacketHeader>() + 4 * size_of::<u8>()..],
)?,
},
b"SSTA" => EventDataDetails {
// Unused Event Details
fastest_lap: FastestLap::default(),
Expand Down

0 comments on commit 48a26b0

Please sign in to comment.