Jump to content
F1 2021 | BETA | Details and how to Apply Here Read more... ×

LonelyRacer

Members
  • Content Count

    71
  • Joined

  • Last visited

Everything posted by LonelyRacer

  1. LonelyRacer

    F1 2020 UDP Specification

    @Hoo I think the values one gets for S3 from (m_lastLapTime - (m_sectorTimeinMS + m_sectorTimeInMS)) are "very close". The issue here is that the m_laptime is float and the sectortimeInMS are ints. So if the laptime is 100.00056 and S1 is 35000 and S2 is 35000, you will get for S3 30.00056, i.e 30.001 (as a float + rounding) but 30.000 if you do the calculation in ints. In the past there was also odd rounding in the values shown in game, but I think those were cleared/fixed few releases back. A remedy in the UDP feed to the issue krz9 is having, would be to also report the laptime in MS, like the sector times. Then calculating the S3 would be simple int calculations and the float/int issue would go away. Cheers. PS. Edit To illustrate this, here is a short code in Java: public static void main(String[] args) { int s1 = 35000; int s2 = 35000; float total = 100.00056f; System.out.println((int) (total * 1000) - (s1 + s2)); System.out.println((total * 1000) - (float) (s1 + s2)); System.out.println((total * 1000.0) - ((float) s1 + (float) s2)); } Which results: 30000 30000.555 30000.55694580078 So depending bit how one does the conversion, the results vary, as expected with float vs int.
  2. LonelyRacer

    F1 2020 UDP Specification

    @Hoo One little request for F1 2021 (and might be valid for 2020, if there is still a patch coming for it). I just tested the new Thrustmaster SF1000 and it has 25 buttons , but the game only reports values for controller buttons. i.e. up to 14. Would it be possible, that the game would also enumerate to the UDP feed the other buttons, if the wheel has more than 14 buttons. The m_buttonStatus is int32, so it would be possible to send the data up-to 32 buttons. I am sure this is an issue with other new steering wheels from Fanatec too, which have more than 14 buttons. It would be great, if that could also be added to F1 2020, but hopefully it will be added at least to F1 2021. Cheers
  3. LonelyRacer

    F1 2020 UDP Specification

    @Hoo Great stuff. Thank you for the update and for relaying this to the devs. For 1), maybe invalid data for the enums could be -1 (but I don't remember, if all those are signed ints). In some other games invalid values are sometimes max possible values, i.e. e.g. for int16 it is set to 32767 for invalid/bad value. 4) You are correct. No TC is 0 and TC med or high is sent out as 2. Cheers
  4. LonelyRacer

    F1 2020 UDP Specification

    @Hoo I know you must be quite far into the development, but here is the list I promised containing some items I would like to see fixed/changes (hopefully maybe even before the BETA hits the road), which would make life easier for the tool devs. 1) No enum value 0: All places, where there is an enum (e.g. like with Team IDs), can you alter them so, that 0 is never valid value (e.g. with TeamID, Mercedes' ID would be something else than 0 and same in driverIds for Carlos Sainz). Now e.g. if there is no data in some packets, the data sent out is 0, so it becomes hard to see, if the data is missing or if the data is for the ID with 0. Would make the life of the developers so much easier. 2) Tyre wear as floats. Now the tyre wear is an int, which has forced me and other developers to build systems to estimate tyre wear from those int values with lapdistance. But e.g. in the tyre wear practice session the tyre wear values shown by the game are floats, not ints, so it is hard to add proper tyre wear analysis as shown in the game into our tools. 3) DriverIDs are now conflicting. In some mode the player car ID is reported as 100, but in the 2020 F2 driver list there is now drivers with ID 100 and 101 and 100 and 101 are driver IDs e.g. in league racing. 4) TC is either 0 or 2. This is the issue which was raised earlier and has been in the game, since the TC values have been reported. I.e. in the game there are 3 different TC modes, but the UDP only reports it either 0 or 2. Would be great to see this set that the proper values are shown. Bugs/issues in F1 2020 and older: Laptime for Quali inlap. At least in F12020, when a player drives back to pit after quali lap, the game reports for the inlap as last laptime from the previous quali lap. So the time is not from the inlap. Again this little thing forces the devs to look at, if a lap in quali session ends in pits, after which the laptime must be "guessed"/calculated. If one relies on the laptime sent by the game, the data will be bad. Lapdata for Ghost. In F1 2018 and F12019 in Time Trial the LapData contained the lapdistance data etc. for the Ghost. This was removed from F12020, which made it pretty hard to get the proper data for the Ghost for comparison purposes. I would like to see the Ghost's LapData, at least laptime, times + lapdistane, but preferably all the data to be added back. Cheers
  5. LonelyRacer

    F1 2020 UDP Specification

    I did few years ago a "league admin" version of my tool, where I collected statistics of key parameters of the cars and then displayed them in a way, which let league admins to check, if people were using cheats. This included odd g-forces, odd tire wear values, odd ERS usage etc. But this work got bit of a cold shower, when in F1 2019 and F1 2020 the telemetry data got mostly hidden, unless a person makes it available. You can still do some of that stuff (and my tool is still doing that), but it is bit harder, when you e.g. don't get the fuel usage and tire wear data from the other cars. Cheers.
  6. LonelyRacer

    New Podium Pass - XP

    If I remember right, the jumps are about 15% per level from the about 6k, so some 7k, 8, 9k, 10k, 11.5k & 13k I didn't know that, so I spent my pre-order Pitcoins for the VIP. Then I had to grind it to get the pitcoins back as I didn't know how much time I will have to play this week and after. Cheers.
  7. LonelyRacer

    New Podium Pass - XP

    Yeah, and it is 13917 XP for the 29-30 jump.
  8. LonelyRacer

    F1 2020 UDP Specification

    I am on PC, latest Steam version 1.15. I see correct values. Tested with single race, set fuel to 29.0L and got the same value from the game. I also noticed, if you do one-shot-quali, the game automatically adjusts your fuel load, i.e. you cannot set it yourself in the car settings. Cheers.
  9. LonelyRacer

    F1 2020 UDP Specification

    Hmm, interesting. I would check, all other data received is correct in the CarStatus per car, fuelMix, e.g. m_drsAllowed & m_tyreCompound and other data? Cheers
  10. LonelyRacer

    F1 2020 UDP Specification

    I have not seen the discrepancy. Are you sure you are getting data from the right car? cheers.
  11. LonelyRacer

    F1 2020 UDP Specification

    Luckily my tool has automated detection for ids/data not seen earlier. Here are the F2 2020 new drivers + new teams detected. These are from the Enums, my tool uses. TLA is automatically created, but should be correct. Drivers (I did edit the names, as the game only gives family name for these drivers). Format is (name, TLA, IDinGame) DanTicktum("Dan Ticktum", "TIC", 91), MarcusArmstrong("Marcus Armstrong", "ARM", 92), ChristianLundgaard("Christian Lundgaard", "LUN", 93), YukiTsunoda("Yuki Tsunoda", "TSU", 94), JehanDaruvala("Jehan Daruvala", "DAR", 95), GuilhermeSamaia("Guilhrme Samaia", "SAM", 96), PedroPiquet("Pedro Piquet", "PIQ", 97), FelipeDrugovich("Felipe Drugovich", "DRU", 98), RobertShwartzman("Robert Shwartzman", "SHW", 99), RoyNissany("Roy Nissany", "NIS", 100), MarinoSato("Marino Sato", "SAT", 101), F2 2020 Teams (took team names from the Race Director). Format is (IDinGame, Year, Long name, short name, Color Used e.g. in Map) F2_2020_ART(70, 2020, "ART Grand Prix", "Art 2020", Color.GRAY), // ART F2_2020_CAMPOS(71, 2020, "Campos Racing", "Campos 2020", Color.ORANGE), // Campos F2_2020_CARLIN(72, 2020, "Carlin", "Carlin 2020", Color.BLUE), //Carlin F2_2020_CHAROUZ(73, 2020, "Charouz Racing System", "Charouz 2020", Color.DARKBLUE), // Charouz F2_2020_DAMS(74, 2020, "DAMS", "DAMS 2020", Color.CYAN), // DAMS // light blue? F2_2020_UNI(75, 2020, "UNI-Virtuosi Racing", "UNI 2020", Color.YELLOW), // Uni virtu F2_2020_MP(76, 2020, "MP Motorsport", "MP 2020", Color.DARKRED), // MP Motorsport F2_2020_PREMA(77, 2020, "Prema Racing", "Prema 2020", Color.RED), // Prema F2_2020_TRIDENT(78, 2020, "Trident", "Trident 2020", Color.BLUE), // Trident F2_2020_BWT(79, 2020, "BWT HWA RACELAB", "BWT 2020", Color.PINK), // BWT F2_2020_HITECH(80, 2020, "Hitech Grand Prix", "Hitech 2020", Color.LIGHTGRAY), // Hitech If here are any errors, let me know. Cheers
  12. LonelyRacer

    F1 2020 UDP Specification

    Hoo, One more note. What you have now there in the LobbyPacket, you could easily be used. I see two ways_ You add to the data an id field, which is the same Id the players have in the other packets. This way the developers can then match the name with the data using the id. Or keep the lobby packet in the same order as the other packets, i..e. if a person is at index 0 in lobby packet, then that persons data is in other packets also at index 0. Cheers.
  13. LonelyRacer

    F1 2020 UDP Specification

    ACC has this through the Broadcast API. In ACC there can be many drivers per car. There is EntryListCar, which has car data (racenumber etc) and that has BroadcastDriverInfo[], which has first name, last name, short name, category and nationality. In Project Cars 2/AMS2 there is PacketParticipantsData, which has 3 arrays name[], nationality[], participantMPId[], name is String, 2 others are int16. There is also another struct ParticipantStatsInfo, which has array ParticipantStatsInfo[], which contains the players OnlineRep (has 2 elements, safety & "racecraft") + timing info. The PC2 stucture is bit messy, the ACC model is quite nice. With ACC there are some other issues with their broadcast API, which has some lag/latency issues, i.e. data is not always super up-to-date. Cheers.
  14. LonelyRacer

    F1 2020 UDP Specification

    Hi, I see those names too, i.e. player and "giocatore" (player in Italian), haven't seen yet 'joueur'. My wild guess is that these are PS4 or XBox players. I don't use the lobby packet for anything, as the player order in that packet is different than in any other packets. I was just checking it during the last days to see, if I could use it for something, but to no avail. Cheers.
  15. LonelyRacer

    F1 2020 UDP Specification

    @Hoo Found two issues during testing today 1) The tyreInnerTemperature in CarTelemetry is different, that what is being shown in the MFD. I suspect, that the value is the real inner air temperature, not "carcass" temp, which is shown in MFD. I think with F1 2019 and maybe even with the beta (cannot be sure on that), the tyresInnerTemperature was same as in MFD. Any change for a fix? 2) During Time Trial in F1 2019 the lap data info was sent, which contained e.g. the lap distance and some other info of the ghost. Now in F1 2020 only players data is available, all other data (even the personal best ghost) is just 0's. I hope this is bug and not intentional. It would be great, if at least for the active Ghost there would be the laptime + sector times and the lapdistance per each packet. I used the lapdistance with F1 2019 to show laptime trace for the ghost, so my users could see where they were gaining on the ghost and where they lost time to the ghost. So any change, we could get the ghost's LapData filled with data as it was in F1 2019? Extra: And one request for F1 2021. Any change you could change Sainz driverId to be something else than 0. Would make life easier, if/when we have to do data massage to fix/notice problems in the feed. Edit: The tyreInnerTemperature is ok. Just a note to self, if you change from using direct index number to using special method, it is a good idea to update all locations, where the direct index number was used. ;-.) Fix request: The lapdata for Ghost in Time Trial is still just 0's. Checked and in F1 2018 and f1 2019 the data was there. Would be great, if in addition to the players car, also Personal Best ghost + Active Ghost data would be filled in the PacketLapData in Time Trial. Cheers.
  16. LonelyRacer

    F1 2020 UDP Specification

    Just tested this as I had not noticed anything odd. This is the data I am also getting, the ERS was fixed as per earlier comments. And the DRS distance too is working for me.
  17. LonelyRacer

    F1 2020 UDP Specification

    Did a rerun and actually found out, it was in Sochi on T6, where I had a super crash, i.e. went straight into the wall (was changing the telemetry pages, pressing overtake and changing fuel mix all at the same time ;-)). I guess the RoadSurface id 12 is under the barriers. See the image for the spot. So nothing critical. Cheers.
  18. LonelyRacer

    F1 2020 UDP Specification

    It was on certain section. I can run the data recording to try see, where it was/is. Cheers.
  19. LonelyRacer

    F1 2020 UDP Specification

    It seems to show real driver names, but based on the lobby packet, you cannot tell who is who. Cheers.
  20. LonelyRacer

    F1 2020 UDP Specification

    Hi, I managed to get into some nice 10+ player lobbies. Here are my findings on the Lobby Packet With the lobby packet the "m_frameId" in the PacketHeader doesn't increase, as I was expecting to happen. My tool uses the frame change as trigger to update screen, so I had to make a workaround, i.e. lobby packet also trigger a "frame change" regardless of the header. FIX NEEDED: Would be great, if the frameId would increase with the lobby packet. The lobby packet data order is just "random". The packetHeader in other packets has different playerindex, than with the lobby packet. Still the playerIndex in the LobbyPacket's header isn't correct. So the lobby data is totally useless for anything than showing who are ready or not, but you will see that anyway when you are in the lobby. E.g. FinalClassification comes in the right order, so I am still assuming this is a bug in the lobby packet, i.e. the data order is faulty. Or if in the LobbyInfoData there were driverId, then one could use that to assign the data to the right driver. FIX NEEDED: The order of data in lobbyPacket should be the same as in other packets. Or add DriverId to the LobbyInfoData, Cheers.
  21. LonelyRacer

    F1 2020 UDP Specification

    Great additions. Thanks. One note: I just drove in Sochi and from my tool's log I noticed, there was road surface with id 12. Could you check, if that was a correct detection and if there are other road surfaces added to the data. Cheers
  22. LonelyRacer

    F1 2020 UDP Specification

    @Hoo I have been doing more driving on the weekend, when I noticed the beta was available. While driving and testing two requests came to my mind. In the MFD you see the warning sign, when temps are too low or high or there is some other issue with the car. 1) Any change, you guys could add data for the MFD warning sing, i.e. a uint8 into the Car Telemetry Packet, which would have values 0 (no warning), 1 (tires too cold), 2 (tires too hot), 3 (brakes too cold), 4 (brakes too hot) etc. It could even be a bitmask, if you have too hot brakes + engine problems at the same time. 2) Now there is EngineDamage in the CarStatus packet. Would it be possible to get the individual component's damage level there instead, i.e. MGUH, MGUK etc. Cheers.
  23. LonelyRacer

    F1 2020 UDP Specification

    Ok. No worries on the DRS. I actually made a solution in my tool, where the DRS status is "undefined" at the start of each session. Then if any of the drivers gets the 'canUseDRS', I turn the DRS status to Enabled. After that if there is DRSD, then it goes to Disabled status or if there is DRSE, it goes to enabled. Works quite well. The speed trap would be great. Fingers crossed. Cheers.
  24. LonelyRacer

    F1 2020 UDP Specification

    @Hoo, I think the ERS mode is different than what is mentioned in the first page. (Tested with 2nd week beta). The modes seems to be 0 = none, 1 = medium, 2 = overtake, 3 = hotlap Could you check if that is the case and maybe update the data on the first page. I haven't noticed issues on other enums, but will keep checking them as I test. Cheers.
  25. LonelyRacer

    F1 2020 UDP Specification

    Is there supposed to be data coming into the lobby packets? When I am in an online lobby, I just get empty data for all drivers, i.e. the teamId is 255, everything else is 0 and name is empty string. This with lobby with other players. The number of drivers in lobby gets updated and is correct. I would expect at least my own driver name to be visible. Cheers
×