1. Do you need support for Assetto Corsa Competizione? Please use the proper forum below and ALWAYS zip and attach the WHOLE "Logs" folder in your c:\users\*youruser*\AppData\Local\AC2\Saved. The "AppData" folder is hidden by default, check "Hidden items" in your Windows view properties. If you report a crash, ALWAYS zip and attach the WHOLE "Crashes" folder in the same directory.
  2. FOR ASSETTO CORSA COMPETIZIONE: If you report issues with saved games, please always zip and attach your entire User/Documents/Assetto Corsa Competizione/Savegame folder!
  3. If your game executable is missing, please add your entire Steam directory to the exceptions in your antivirus software, then run a Steam integrity check or reinstall the game altogether.

DOCS ACC Shared Memory Documentation

Discussion in 'ACC Blog' started by Fernando Barbarossa, Aug 28, 2019.

  1. Malc2169

    Malc2169 Gamer

    Don't stop there - make the whole of the setup accessible from Shared Memory please! Endless possibilities might follow!
     
  2. TheBigO

    TheBigO Gamer

  3. Hornet-Wing

    Hornet-Wing Rookie

    Just like TheBigO, I'm currently using keyboard shortcuts and macros to control the pitstop MFD to alter fuel, tyre pressures and repair. The ideal scenario would be if we could control the pitstop setup externally via shared memory, udp or more specific keyboard shortcuts. Alternatively, it would be great to see the state of the pitstop MFD page in shared memory.

    To make using macros more accurate it would be great to have:
    Whether "Change Tyres" is selected
    Compound Dry/Wet
    Whether "Change Brakes" is selected
    Whether "Suspension" is selected
    Whether "Bodywork" is selected

    As an extension it would be awesome to see:
    Pit Strategy Number
    Currently Selected Tyre Set
    Time Requred for Stop

    Thanks!
     
    artishock and TheBigO like this.
  4. Doug Duthie

    Doug Duthie Simracer

    Ah - I see the issue now. Imola is the only circuit that is capitalised in shared memory and inconsistent with the track code in the server results. I lower case all track codes to make them consistent. As it turns out, in Turkish, lowercase of "I" isn't "i"
     
  5. Holger Gunkel

    Holger Gunkel Rookie

    @ Doug Duthie - Hi, Even I stumbled on same idea: Really in Turkish the pairs of letters are "ı" and "I" but "i" and "İ"!!!
     
  6. Doug Duthie

    Doug Duthie Simracer

    Yes...I guess I should be using invariant culture, or possibly English when I lower case the tracks
     
  7. Holger Gunkel

    Holger Gunkel Rookie

    I've got some strange behaviour of the "gear" channel!

    The idea is, to track in Shared Memory those Channels, what's related to user actions while driving, those like changes of ECU Map or ABS while driving. - Every time, when parameter changes I log the new value recording a time stamp.
    My aim, to add a time related Math 2D channel for several parameters to MoTeC extension file.

    So, "gear" is already present in MoTeC Workspace, and it's changing same in steps, that's why I decided to log it for a proof of my results.

    I have a beep on every record for testing that thing while driving. - 1st I noted of getting 2 beeps on every gearshift!!! - Checking my log I found somthing like this:
    Code:
    TimeStamp;Gear;
    65318;1;
    88877;2;
    105851;1; <--?!?
    105902;3;
    107365;1; <--?!?
    107417;4;
    109552;1; <--?!?
    109604;5;
    113225;1; <--?!?
    113326;4;
    113860;3;
    114912;2;
    117544;1; <--?!?
    117596;3;
    119600;1; <--?!?
    119650;4;
    122891;1; <--?!?
    122942;5;
    125569;1; <--?!?
    125620;6;
    128522;5;
    128852;1; <--?!?
    128954;4;
    131188;3;
    134488;1; <--?!?
    134539;4;
    136544;1; <--?!?
    136595;5;
    139011;1; <--?!?
    139541;2;
    142354;1; <--?!?
    142405;3;
    Can me someone tell what happens????
     
  8. CDN_Hammer

    CDN_Hammer Rookie

    Can anyone point me to how to access the data about cars around the player? Specifically the "car left / car right / three wide" data would be helpful. Thanks in advance.
     
  9. expor

    expor Gamer

    Isn't gear offset by 1, because 0 is reverse? And then gear 1 is neutral? In which case you see the shifts as neutral, and then the resulting gear? I haven't tested this but I believe that's how the gears are logged.
     
    Neilski likes this.
  10. expor

    expor Gamer

    Maybe you can use the spline position to determine if a car is within a certain distance, and then the x, y, z coordinates to figure out where exactly related to player car they are.
     
  11. CDN_Hammer

    CDN_Hammer Rookie

    I can confirm that "0" is reverse, "1" is neutral etc.
     
  12. CDN_Hammer

    CDN_Hammer Rookie

    Thanks for the direction. I'll look into it. iRacing had a flag in the sdk that was easy to access, I was hoping there was something similar.
    Cheers.
     
  13. CDN_Hammer

    CDN_Hammer Rookie

    Perhaps this would be a good time to ask if the 'car left / right' data could be added to the physics output? It could be setup in the same way as the flags, with enumeration for car left, car right, two cars left, two cars right, car left and right.
    (Please Please Please!) :)
     
  14. Mattze

    Mattze Gamer

    1 is neutral gear. During shifting, the gear briefly jumps to neutral like an H-shifter.
    If you shift very fast, the sampling rate of the shared memory isn't high enough to register every disengagement, I guess. Therefore, neutral gear isn't tracked with every gear change.
    Another explanation could be that it has something to do with the automatic double-clutch. I'm not an expert, but your example shows that it only occurs during upshifts.
     
  15. Holger Gunkel

    Holger Gunkel Rookie

    Thx to @all
    Yes, I've seen the offset before, because there isn't a 7th gear in vehicle.
    That's what I couldn't understand, thank you.

    Now I do it with a filter for the briefly jumps to neutral and corrected the offset:
    Code:
    if (pf->gear == 1) { if (p_gear !=  1) p_gear = 1; else p_gear = 666;}
    if (p_gear != pf->gear) csvStream << tstamp << ';' << pf->gear - 1 << endl;
    p_gear = pf->gear;
    ... records just the 2nd sample when gearshift is going neutral!
     
    Last edited: Apr 29, 2021
  16. Iko Rein

    Iko Rein Gamer

    In my tool I collect all kinds of statistics, like GearShifts and with ACC I was getting double the real value, but not quite. I noticed the 'go via Neutral' by looking at the Gear trace, so I had coded in a test for ACC for the GearShifts

    Code:
    //Gear normalized -1 is R, 0 is N, rest as it should be
    if(prevGear != curGear && curGear > 0) {gearShifts++;}
    And this works with ACC, but e.g with PC2/AMS2 there is an issue that the gear values reported might have one extra value, so 5 to 4 gear change might be reported as 5 --> 0 --> 1 --> 4. And that adds extra complexity for checking if the change is valid. There checking clutch status is one extra info, but is not valid in all cases, so must be used with care. Oh, the joys/challenges of supporting many games.

    Cheers.
     
  17. CDN_Hammer

    CDN_Hammer Rookie

    Is there an official channel to request additions to the shared memory file (or is this it with tagging of Mr. Ferrum)?
     
  18. Doug Duthie

    Doug Duthie Simracer

    A question for all...

    I use a mechanism to automatically detect new ACC sessions to decide when to open a broadcast session and start recording. Firstly it looks to see if session information has changed - ie any of the following
    • static.numberOfsessions
    • static.numberOfCars
    • static.track
    • static.carModel
    • static.isOnline
    and the graphic.Status is ACC_LIVE

    No this is all fine there the player is driving, but doesn't work if the driver is in a team and isn't in the first stint (ie he is just watching the first driver until the change). In this case, graphic.status would appear to be ACC_OFF, with a few other oddities
    • graphic.session is ACC_PRACTICE (not ACC_RACE) - is this just because it is 0/unset?
    • static.isOnline is 0 rather than 1
    • static.numCars is 1 - not the number of cars in the race
    Note: The above could be incorrect - I'm just trying to see what diagnostics I have from another users recording.

    So, the question is, how can I reliably detect the session is running in this case. If there something else in shared memory that tells me a new session has started?

    Thanks
     
  19. TheBigO

    TheBigO Gamer

    As far as I know, is that the shared memory data is almost useless in a team race. Only the first stint gives reliable data, if you are the first driver. Something, that is a problem for my virtual race engineer as well.
     
  20. expor

    expor Gamer

    Detecting new sessions is horrible :(. I use the following, and only from broadcast API;
    • SessionId does not equal previous SessionId
    • SessionEndTime is higher than previous SessionEndTime (with a small margin)
    I could not find any other useful data, other than number of sessions in the shared memory. In my case all drivers are connected to the backend so when a driverswap is done the next driver automatically starts sending shared memory to the server. However for your app I think you can only rely on the UDP stream. It would be so helpful if each session has its own GUID...
     
Similar Threads
Forum Title Date
ACC Troubleshooting ACC Shared Memory Example Apr 23, 2020
Programming Language - Apps - GUI Themes Shared Memory or UDP Reference for ACC ? Sep 13, 2018
ACC PS4 - XB1 General Discussions AC to ACC Yesterday at 5:39 PM
ACC User Interface ACC on secondary (not main) monitor Sunday at 9:05 PM
ACC PS4 - XB1 General Discussions help me please !!! no keyboard key with my steering wheel in ACCC version PS4 Oct 20, 2021
ACC Troubleshooting My ACC is constantly freezing but used to run very smoothly... Oct 20, 2021
Programming Language - Apps - GUI Themes LF ACC accserver.exe server side broadcasting api/sdk Oct 18, 2021
ACC Screenshots & Videos ACC | Nurburgring - Wet (Rain) | HotLap | Ferrari 488 GT3 Evo - 2:06.063 Oct 18, 2021
ACC Tools ACC Replay parsing Oct 10, 2021
ACC Screenshots & Videos ACC | Monza - Wet (Rain) | Hot Lap + Setup | Ferrari 488 GT3 Evo - 1:56.823 Oct 6, 2021
ACC PS4 - XB1 General Discussions ACC Update? Season 2021? Oct 1, 2021
Chit Chat Room How to open multiplayer chat room in ACC (key binding) Sep 28, 2021
ACC Troubleshooting ACC UE 4 Fatal Error Sep 27, 2021
ACC Online Leagues / Championships room [ACC][PC][GT3][GT4] ACRL Multi-Class 6H of Brands Hatch | 16th Oct Sep 23, 2021
ACC Online Leagues / Championships room [ACC][PC][GT3] ACRL ACC Sprint Season 4 Sep 23, 2021

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice