Skip to content

Commit

Permalink
1
Browse files Browse the repository at this point in the history
  • Loading branch information
Ning committed Nov 17, 2021
2 parents 0c1d79a + 9b85b8e commit 106eb68
Show file tree
Hide file tree
Showing 13 changed files with 458 additions and 263 deletions.
68 changes: 68 additions & 0 deletions ConsoleApp1.sln
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,88 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTest", "UnitTest\UnitTe
{CFCC0A92-75B5-4473-9074-2E9D0906C20A} = {CFCC0A92-75B5-4473-9074-2E9D0906C20A}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "F1Tools", "D:\WorkSpace\F1Tools\F1Tools.csproj", "{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Debug|ARM.ActiveCfg = Debug|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Debug|ARM.Build.0 = Debug|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Debug|ARM64.Build.0 = Debug|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Debug|x64.ActiveCfg = Debug|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Debug|x64.Build.0 = Debug|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Debug|x86.ActiveCfg = Debug|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Debug|x86.Build.0 = Debug|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Release|Any CPU.Build.0 = Release|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Release|ARM.ActiveCfg = Release|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Release|ARM.Build.0 = Release|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Release|ARM64.ActiveCfg = Release|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Release|ARM64.Build.0 = Release|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Release|x64.ActiveCfg = Release|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Release|x64.Build.0 = Release|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Release|x86.ActiveCfg = Release|Any CPU
{CFCC0A92-75B5-4473-9074-2E9D0906C20A}.Release|x86.Build.0 = Release|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Debug|ARM.ActiveCfg = Debug|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Debug|ARM.Build.0 = Debug|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Debug|ARM64.Build.0 = Debug|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Debug|x64.ActiveCfg = Debug|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Debug|x64.Build.0 = Debug|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Debug|x86.ActiveCfg = Debug|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Debug|x86.Build.0 = Debug|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Release|Any CPU.Build.0 = Release|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Release|ARM.ActiveCfg = Release|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Release|ARM.Build.0 = Release|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Release|ARM64.ActiveCfg = Release|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Release|ARM64.Build.0 = Release|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Release|x64.ActiveCfg = Release|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Release|x64.Build.0 = Release|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Release|x86.ActiveCfg = Release|Any CPU
{0E5894D4-49C7-4168-8BB0-176135821ED0}.Release|x86.Build.0 = Release|Any CPU
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Debug|Any CPU.ActiveCfg = Debug|x86
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Debug|ARM.ActiveCfg = Debug|ARM
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Debug|ARM.Build.0 = Debug|ARM
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Debug|ARM.Deploy.0 = Debug|ARM
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Debug|ARM64.ActiveCfg = Debug|ARM64
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Debug|ARM64.Build.0 = Debug|ARM64
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Debug|ARM64.Deploy.0 = Debug|ARM64
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Debug|x64.ActiveCfg = Debug|x64
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Debug|x64.Build.0 = Debug|x64
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Debug|x64.Deploy.0 = Debug|x64
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Debug|x86.ActiveCfg = Debug|x86
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Debug|x86.Build.0 = Debug|x86
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Debug|x86.Deploy.0 = Debug|x86
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Release|Any CPU.ActiveCfg = Release|x86
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Release|ARM.ActiveCfg = Release|ARM
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Release|ARM.Build.0 = Release|ARM
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Release|ARM.Deploy.0 = Release|ARM
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Release|ARM64.ActiveCfg = Release|ARM64
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Release|ARM64.Build.0 = Release|ARM64
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Release|ARM64.Deploy.0 = Release|ARM64
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Release|x64.ActiveCfg = Release|x64
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Release|x64.Build.0 = Release|x64
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Release|x64.Deploy.0 = Release|x64
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Release|x86.ActiveCfg = Release|x86
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Release|x86.Build.0 = Release|x86
{F206CF3E-DFE6-408C-8A60-A7A066A1CDCB}.Release|x86.Deploy.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
Binary file removed F1Pannel.gif
Binary file not shown.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ F1 2020遥测工具
[点击此处](http://gitee.com/n-i-n-g/F1-2020-Telemetering-Tools/releases)下载

使用方法:在F1 2020的遥测设置中,将【UDP IP地址】和【UDP 端口】分别设置为工具上显示的IP地址和端口,并打开游戏中的【UDP遥测】选项即可

![F1Pannel](https://gongjiaxin.com/static/img/F1Pannel.gif)
16 changes: 5 additions & 11 deletions WpfApp1/DataHandle/DataReciver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public static class DataReciver
private static IPEndPoint IP;
public static MicroTimer MicroTimer;
private static int _port = 666;
private static GameVersion _version = GameVersion.F1_2020;
private static GameVersion _version = GameVersion.Unkonwn;

static DataReciver()
{
Expand All @@ -28,7 +28,9 @@ private static void MicroTimer_OnRunningCallback(int id, int msg, int user, int
var bytes = UDP.Receive(ref IP);
if (bytes.Length > 0)
{
var packet = TypeFactory.GetPacket(bytes, _version);
var packet = GetPacket(bytes, _version, out _version);
if (_version == GameVersion.Unkonwn)
return;
ReciveEvent?.Invoke(packet);
}
}
Expand All @@ -45,15 +47,7 @@ public static int Port
}
}

public static GameVersion Version
{
get => _version;
set
{
_version = value;
MicroTimer.Start();
}
}
public static GameVersion Version => _version;

public static void Dispose()
{
Expand Down
46 changes: 13 additions & 33 deletions WpfApp1/DataHandle/ShowDataHandle.cs
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
using System.Linq;
using static F1Tools.TypeFactory;
using static F1Tools.TypeFactory;

namespace F1Tools
{
public static class ShowDataHandle
{
private static int PlayerIndex = 0;

public static void F1Handle(F1Instrument f1, dynamic packet)
{
if (packet == null)
Expand All @@ -30,18 +27,13 @@ public static void F1Handle(F1Instrument f1, dynamic packet)

private static void Handle19(F1Instrument f1, Codemasters.F1_2019.Packet packet)
{
if (packet.PacketType == Codemasters.F1_2019.PacketType.Participants)
{
var curPack = packet as Codemasters.F1_2019.ParticipantPacket;
PlayerIndex = curPack.FieldParticipantData.ToList().FindIndex(t => !t.IsAiControlled);
}
else if (packet.PacketType == Codemasters.F1_2019.PacketType.CarTelemetry)
if (packet.PacketType == Codemasters.F1_2019.PacketType.CarTelemetry)
{
var curPack = packet as Codemasters.F1_2019.TelemetryPacket;
var data = curPack.FieldTelemetryData[PlayerIndex];
var data = curPack.FieldTelemetryData[curPack.PlayerCarIndex];

f1.SetBreak(data.Brake);
f1.SetThr(data.Throttle);
f1.SetBrake(data.Brake);
f1.SetThrottle(data.Throttle);
f1.SetSpeed(data.SpeedKph);
f1.SetRPM(data.EngineRpm);
f1.SetGear(data.Gear);
Expand All @@ -53,24 +45,18 @@ private static void Handle19(F1Instrument f1, Codemasters.F1_2019.Packet packet)
var data = curPack.FieldCarStatusData[0];

f1.DRSEnable(data.DrsAllowed);
//f1.DRSNegative(data.DrsFailure);
}
}

private static void Handle20(F1Instrument f1, Codemasters.F1_2020.Packet packet)
{
if (packet.PacketType == Codemasters.F1_2020.PacketType.Participants)
{
var curPack = packet as Codemasters.F1_2020.ParticipantPacket;
PlayerIndex = curPack.FieldParticipantData.ToList().FindIndex(t => !t.IsAiControlled);
}
else if (packet.PacketType == Codemasters.F1_2020.PacketType.CarTelemetry)
if (packet.PacketType == Codemasters.F1_2020.PacketType.CarTelemetry)
{
var curPack = packet as Codemasters.F1_2020.TelemetryPacket;
var data = curPack.FieldTelemetryData[PlayerIndex];
var data = curPack.FieldTelemetryData[curPack.PlayerCarIndex];

f1.SetBreak(data.Brake);
f1.SetThr(data.Throttle);
f1.SetBrake(data.Brake);
f1.SetThrottle(data.Throttle);
f1.SetSpeed(data.SpeedKph);
f1.SetRPM(data.EngineRpm);
f1.SetGear(data.Gear);
Expand All @@ -88,18 +74,13 @@ private static void Handle20(F1Instrument f1, Codemasters.F1_2020.Packet packet)

private static void Handle21(F1Instrument f1, Codemasters.F1_2021.Packet packet)
{
if (packet.PacketType == Codemasters.F1_2021.PacketType.Participants)
{
var curPack = packet as Codemasters.F1_2021.ParticipantPacket;
PlayerIndex = curPack.FieldParticipantData.ToList().FindIndex(t => !t.IsAiControlled);
}
else if (packet.PacketType == Codemasters.F1_2021.PacketType.CarTelemetry)
if (packet.PacketType == Codemasters.F1_2021.PacketType.CarTelemetry)
{
var curPack = packet as Codemasters.F1_2021.TelemetryPacket;
var data = curPack.FieldTelemetryData[PlayerIndex];
var data = curPack.FieldTelemetryData[curPack.PlayerCarIndex];

f1.SetBreak(data.Brake);
f1.SetThr(data.Throttle);
f1.SetBrake(data.Brake);
f1.SetThrottle(data.Throttle);
f1.SetSpeed(data.SpeedKph);
f1.SetRPM(data.EngineRpm);
f1.SetGear(data.Gear);
Expand All @@ -111,7 +92,6 @@ private static void Handle21(F1Instrument f1, Codemasters.F1_2021.Packet packet)
var data = curPack.FieldCarStatusData[0];

f1.DRSEnable(data.DrsAllowed);
//f1.DRSNegative(data.DrsFailure);
}
}
}
Expand Down
Loading

0 comments on commit 106eb68

Please sign in to comment.