[REL] rF2 Shared Memory Tools for Developers

Discussion in 'Other' started by The Iron Wolf, Jan 19, 2017.

  1. The Iron Wolf

    The Iron Wolf Registered

    Joined:
    Feb 20, 2016
    Messages:
    984
    Likes Received:
    984
    03/29/2019 - v3.5.0.9

    Plugin:

    • Expose LSI messages in DMA mode.
    • Clear out accumulated damage on return to Monitor.
    • Harden DMA mode against crashes.
    Monitor:

    • Implement Frozen Order detection based on LSI messages. That's the only way to handle FO in the online sessions.
     
  2. The Iron Wolf

    The Iron Wolf Registered

    Joined:
    Feb 20, 2016
    Messages:
    984
    Likes Received:
    984
    05/01/2019 - v3.6.0.0

    Plugin:

    • Fix version string not behaving as expected (breaking rF2Extended change, Sorry!)
    • Reduce amount of string copies in DMA mode.
     
    MaD_King likes this.
  3. Seven Smiles

    Seven Smiles Registered

    Joined:
    Oct 5, 2010
    Messages:
    1,119
    Likes Received:
    1,162
    For anyone like me using this in Python: I was using @k3nny's Python mapping but I have written https://github.com/TonyWhitley/hpp2py to autogenerate Python classes from the C structs in rF2 Shared Memory. The code produced is not 100% but I corrected any errors in the working version https://github.com/TonyWhitley/pyRfactor2SharedMemory/blob/master/rF2data.py (though that is not complete, I didn't edit all the enums). That is imported by https://github.com/TonyWhitley/gearshift/blob/Shared-Memory-Only/sharedMemoryAPI.py The two together replace k3nny's Mmap_for_DSPS_V22.py
     
    Last edited: Nov 10, 2019
    The Iron Wolf likes this.
  4. The Iron Wolf

    The Iron Wolf Registered

    Joined:
    Feb 20, 2016
    Messages:
    984
    Likes Received:
    984
    11/08/2019 - v3.7.0.0

    Plugin:

    • Expose rF2Graphics (GraphicsInfoV02) buffer via $rFactor2SMMP_Graphics$. Note that it is not subsribed to by default.
    • It is now possible to configure which buffers get updated and which don't. This is done via UnsubscribedBuffersMask value in the CustomPluginVariables.json file. To specify buffers to unsubscribe from, add desired flag values up.
    Telemetry = 1, Scoring = 2, Rules = 4, MultiRules = 8, ForceFeedback = 16, Graphics = 32

    So, to unsubscribe from Multi Rules and Graphics buffeers set UnsubscribedBuffersMask to 40 (8 + 32).
     
    Seven Smiles likes this.
  5. The Iron Wolf

    The Iron Wolf Registered

    Joined:
    Feb 20, 2016
    Messages:
    984
    Likes Received:
    984
    11/10/2019 - v3.7.1.0
    Plugin:

    • Expose UsubscribedBuffersMask via rF2Extended::mUnsubscribedBuffersMask. This can be used by clients to validate UBM, and might be made client writable in the future.

    Thanks @Seven Smiles for making me realize I overlooked this.
     
    Seven Smiles likes this.
  6. davehenrie

    davehenrie Registered

    Joined:
    Jul 6, 2016
    Messages:
    7,586
    Likes Received:
    4,470
    uh.,..... whut???
     
    Seven Smiles and ADSTA like this.
  7. Seven Smiles

    Seven Smiles Registered

    Joined:
    Oct 5, 2010
    Messages:
    1,119
    Likes Received:
    1,162
    You can stop when you get to the end of
    :D
    I use Shared Memory as part of my gearshift and headlights programs which are written in Python. I'm not aware of anyone else doing that but if they are...
     
    The Iron Wolf likes this.
  8. Corti

    Corti Registered

    Joined:
    Sep 29, 2014
    Messages:
    1,447
    Likes Received:
    2,715
    same name and different version? or no link update? :rolleyes:
     
    The Iron Wolf likes this.
  9. The Iron Wolf

    The Iron Wolf Registered

    Joined:
    Feb 20, 2016
    Messages:
    984
    Likes Received:
    984
    Thanks for bringing that up, I'll check it out. I was in rush to reduce mess with SimHub going out of sync with Crew Chief :)

    Edit: fixed the link
     
    Last edited: Nov 13, 2019
  10. D Nichols

    D Nichols Registered

    Joined:
    Jun 18, 2019
    Messages:
    32
    Likes Received:
    16
    Is anyone using this with Winzarten Second/Monitor?

    I am struggling to get it to register that the game is running. Crewchief picks it up and works as it should. Do I need install second/monitor on the same HDD to allow it to find it easier?
     
  11. GeraArg

    GeraArg Registered

    Joined:
    Oct 4, 2010
    Messages:
    604
    Likes Received:
    1,066
    Someone knows how I capture the vehicle class, bah the opponent filter? The rf2VehicleScoring don't have that property. :/
    [​IMG]
     
  12. Lazza

    Lazza Registered

    Joined:
    Oct 5, 2010
    Messages:
    12,548
    Likes Received:
    6,711
    @GeraArg from a quick test recently I suspect that each of the vehicle classes/categories can be used in the filter, but only one (the first?) will come up as the vehicle class in scoring/telemetry info. The filter you've selected won't change that.
     
    GeraArg likes this.
  13. GeraArg

    GeraArg Registered

    Joined:
    Oct 4, 2010
    Messages:
    604
    Likes Received:
    1,066
    For example, the vehicle class in the GT3 pack from S397, all cars class are "GT3" and the vehicle name is the name in the skin/team, not the car selected.
    That is a little problem for me because I'm written an solution like RSR Live Timing for AC and two things are critical, filters the car and the track (also have a similar problem, capture the name but not the version of the track) who use the player.
    :)
     
  14. Lazza

    Lazza Registered

    Joined:
    Oct 5, 2010
    Messages:
    12,548
    Likes Received:
    6,711
    Yeah, that's very much an issue. There's no defined standard on class name formats and the track info as you say can be vague (in rF1 where track files were always accessible I calculated and added a checksum to the track name in motec logs, otherwise different versions could conflict in i2Pro and break each other's track layouts - I haven't bothered doing similar in rF2 because encrypted track files obviously can't be accessed, and I hate implementing solutions that are always broken for some content).

    Perhaps whispering in the correct ear will help unveil a little more useful information. The old ISI comments suggest such but a number of suggestions over the years have gone unnoticed, so I'm not sure.
     
    GeraArg likes this.
  15. GeraArg

    GeraArg Registered

    Joined:
    Oct 4, 2010
    Messages:
    604
    Likes Received:
    1,066

    The only odd solution I found for this is add all content by hand but i can't support anyone who use a custom skin/team and also have to install all mods and tracks for get the names and put into the database. Is a ugly work :/
    Maybe for the first release I do that with a limited number of tracks and cars/teams but I hope find other solution.
    Also this solution have a big problem for the di**heads who whant to cheat the leaderboard, encrypt the messages without at least a checksum don't stop them.
     
  16. GeraArg

    GeraArg Registered

    Joined:
    Oct 4, 2010
    Messages:
    604
    Likes Received:
    1,066
  17. Justifier

    Justifier Registered

    Joined:
    Apr 23, 2018
    Messages:
    47
    Likes Received:
    22
    @The Iron Wolf Hi, I am having a problem where the deltabest is not working in the various dx11 huds available and keeps going straight to green 9.99999 after crossing the start/finish line and doesn't work properly. Is this related to the shared memory plugin? Is there a fix for this? Thanks in advance.
     
  18. lagg

    lagg Registered

    Joined:
    Oct 1, 2012
    Messages:
    3,043
    Likes Received:
    1,959
  19. Justifier

    Justifier Registered

    Joined:
    Apr 23, 2018
    Messages:
    47
    Likes Received:
    22
    Your answer is not clear at all. So if I do a fast first full lap then I have to go even faster just for the delta to start working? I haven't seen this stated anywhere else. I also haven't seen anyone else having this problem which I thought a bit strange. I spread the message as I am not sure whether the issue is with the individual huds or the memory plugin or something else. Cheers
     
  20. badun

    badun Registered

    Joined:
    Nov 7, 2018
    Messages:
    23
    Likes Received:
    22
    I think you are referring to an RF2 hud, RF2 huds dont use this plugin, apps like simhub and crew chief use this plugin. the S397 huds have had that delta bug for years. simhud has no problems at all.
     
    The Iron Wolf likes this.

Share This Page