Shared Memory API

Discussion in 'Community Workshop' started by Mikael Hermansson, Jun 7, 2015.

  1. pixeljetstream

    pixeljetstream Well-Known Member Beta tester

    Joined:
    Jan 29, 2015
    Ratings:
    +412 / 0 / -0
    Fully agree with @Exxon, an official plugin mechanism to render custom UI would be very cool indeed, simply make it mandatory for plugins to support the DX version you have and provide device/context as well as appropriate interface (init, deinit, windowresize, draw,..). Ideally also make your own widgets freely position-able.

    If shared memory would expose positions of the other race cars, we could create the spotter warnings as well, hell in theory even code own radio/engineer based on analysis of telemetry (okay maybe a bit far fetched hehe).

    This could "outsource" some possibilities, and you could license the access in such ways that prevents commercial or legal exploits. The downside of course is if plugins cause instabilities and people complain to you instead of the plugin maker...

    However the upside is that this type of modding doesn't affect your primary revenue stream of "content", and it may lift some of the pressure on certain feature requests, or allow you to take over work from the community later.
     
    • Like Like x 2
    • Love it! Love it! x 1
    Last edited: Jun 11, 2015
  2. Mikael Hermansson

    Mikael Hermansson Well-Known Member

    Joined:
    May 3, 2015
    Ratings:
    +48 / 0 / -0
    I'm loving the enthusiasm, and I definitely understand the benefits of having this type of access, but opening up our D3D device/context to the public probably won't happen, since it could potentially allow people to circumvent the (so far) reliable solution we have for protecting our game assets.

    With that said, one of our developers suggested we could maybe potentially have some sort of drawing API instead. You'd of course be limited to what we expose, but it might be a decent middle-ground.

    There are other interesting ways you could go about this as well. Letting the plugin DLLs setup their own D3D device/context and passing us a shared DXGI surface could be another way to do it. That way you could use pretty much any D3D version you want to, or even D2D, which has some nice font rendering and stuff.

    Anyway, any of these methods quickly turn into quite a bit of work for us, but we definitely see the benefits of having this, and as you said, we could all benefit from community members implementing stuff that we don't have the time or resources to.

    We'll have to think it over. No promises. :)
     
    • Like Like x 2
    • Wonderful Wonderful x 2
    Last edited: Jun 12, 2015
  3. Alexease

    Alexease New Member

    Joined:
    Jan 29, 2015
    Ratings:
    +0 / 0 / -0
  4. Rodger Davies

    Rodger Davies Well-Known Member

    Joined:
    Jan 29, 2015
    Ratings:
    +594 / 0 / -0
    A lot of this thread is over my head, but I really appreciate the conversations you guys are having. I just wanted to recommend checking out XD; it's a fantastic plugin that enhanced my GTR2 experience immensely for years.
     
    • Like Like x 1
  5. Mikael Hermansson

    Mikael Hermansson Well-Known Member

    Joined:
    May 3, 2015
    Ratings:
    +48 / 0 / -0
  6. Cosmic

    Cosmic Well-Known Member

    Joined:
    Feb 19, 2015
    Ratings:
    +74 / 0 / -0
    Can you send "Time Remaining" data?

    Since the game goes by time and not laps and doesn't currently have White or Checkered Flags it would be nice to have that info on DashMeterPro. I emailed the DashMeterPro dev a while back and he said they do not receive that info.

    I know I could use the Position Bar in game but its a little too busy and distracting. I use DashMeterPro to turn as much of that stuff off and clear up the cockpit.
    It would be nice if the Position Bar could only display Time Remaining and/or Position without the middle bar though, I would settle for that :)
    Thanks
     
    • Like Like x 1
    • Useful Useful x 1
  7. switchface

    switchface Well-Known Member

    Joined:
    Jan 30, 2015
    Ratings:
    +111 / 0 / -0
    I came here from the SimXperience Owner's forum - a lot of this thread is way over my head.

    I'm looking to add a motec type display so that I can have tachometer, shift lights, etc on a small screen mounted by my wheel. Many have recommended Z1, but I am unfamiliar with any of the offerings. My only title of interest is R3E, so it seems this thread is helping contribute to my solution? Any particular suggestions?
     
  8. ViperNo23

    ViperNo23 Member

    Joined:
    Feb 1, 2015
    Ratings:
    +17 / 0 / -0
  9. Mikael Hermansson

    Mikael Hermansson Well-Known Member

    Joined:
    May 3, 2015
    Ratings:
    +48 / 0 / -0
    This thread is more for the implementation of such applications, not necessarily the use of them. The Hardware section of the forums might be a better place for this type of question.
     
  10. switchface

    switchface Well-Known Member

    Joined:
    Jan 30, 2015
    Ratings:
    +111 / 0 / -0
    @Mikael Hermansson in regards to way this data is being implemented, I have a weird scenario that occurs with my stage 4 motion rig. When I complete a race and the car goes on its auto-pilot parade lap while the results are showing on screen, the motion output is amplified. This is surprising and awkward since I'm no longer racing (I'm reading who won) and most often a guest is undoing the harness and stepping off the rig. I would think there is no point to this, so are you able to not output telemetry data once the race is finished?
     
    • Agree Agree x 1
  11. Mikael Hermansson

    Mikael Hermansson Well-Known Member

    Joined:
    May 3, 2015
    Ratings:
    +48 / 0 / -0
    That's a good point. I'll see if we can do something about that. Thanks.
     
  12. le_poilu

    le_poilu Well-Known Member

    Joined:
    Jan 30, 2015
    Ratings:
    +278 / 0 / -0
    Indeed.
    I noticed this too with SimXperience Simvibe. The shakers continue to shake hard after the race, it can be good to stop them :p
    Same thing about watching replay all datas are outputted. Maybe a on/off switch for telemetry output would be nice so we can decide when we want it.
     
    • Agree Agree x 2
  13. Stefan Mizzi

    Stefan Mizzi Well-Known Member

    Joined:
    Feb 6, 2015
    Ratings:
    +625 / 0 / -0
    Hi Mikael,

    Any news regarding a C# sample program please? :)

    Thanks!
     
  14. Mikael Hermansson

    Mikael Hermansson Well-Known Member

    Joined:
    May 3, 2015
    Ratings:
    +48 / 0 / -0
    Completely slipped my mind! Sorry about that. I'll see if I can throw one together this weekend.
     
  15. Stefan Mizzi

    Stefan Mizzi Well-Known Member

    Joined:
    Feb 6, 2015
    Ratings:
    +625 / 0 / -0
    Thanks and no rush mate! :)
     
  16. Mikael Hermansson

    Mikael Hermansson Well-Known Member

    Joined:
    May 3, 2015
    Ratings:
    +48 / 0 / -0
    Just pushed a C# sample to the GitHub repo. I hope it's somewhat easy to understand. :)
     
  17. mr_belowski

    mr_belowski Well-Known Member Beta tester

    Joined:
    Apr 23, 2015
    Ratings:
    +1,307 / 0 / -0
    The memory block doesn't appear to contain 'race time remaining' - if the race length is time, rather than laps, is there a way to get the remaining race time?
     
  18. Mikael Hermansson

    Mikael Hermansson Well-Known Member

    Joined:
    May 3, 2015
    Ratings:
    +48 / 0 / -0
    Unfortunately there isn't. It's been requested before and we'll be adding it some time soon.
     
    • Like Like x 1
  19. mr_belowski

    mr_belowski Well-Known Member Beta tester

    Joined:
    Apr 23, 2015
    Ratings:
    +1,307 / 0 / -0
    Great, thanks :)
     
  20. Stefan Mizzi

    Stefan Mizzi Well-Known Member

    Joined:
    Feb 6, 2015
    Ratings:
    +625 / 0 / -0
    Thank you! :)