1. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Download Package Now!
  2. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  3. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant here. Do not following these rules will lead to permanent exclusion from this website: Read the forum rules.

Elite Dangerous Horizons Plugin (Non VR Version) [Deleted]

Discussion in 'SimTools Plugins' started by value1, Dec 22, 2014.

Thread Status:
Not open for further replies.
  1. traveltrousers

    traveltrousers Active Member

    Joined:
    Jun 5, 2014
    Messages:
    116
    Location:
    Timbuktu, Tombouctou, Mali
    Balance:
    655Coins
    Ratings:
    +86 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, Motion platform
    So my pitch pointer is :

    Float
    810 offset
    348 offset
    8 offset
    "EliteDangerous64.exe"+029D3CF0

    and after poking around in the warthunder plugin example means when I hit Process_MemoryHook this should work.....

    BaseAddress = CUInt(ReadInt32(ProcessName, &H29D3CF0UI))
    BaseAddress = CUInt(ReadInt32(ProcessName, BaseAddress + &H810UI))
    BaseAddress = CUInt(ReadInt32(ProcessName, BaseAddress + &H348UI))
    BaseAddress = BaseAddress + &H8UI

    Pitch_MemHook = CSng(ReadSingle(ProcessName, BaseAddress))

    isn't this how I'm supposed to work through the offsets to get the reliable pointer? It seems the syntax on working out the pointer from the base address and offset is all I'm missing....

    help :)
    • Informative Informative x 2
  2. SilentChill

    SilentChill Problem Maker

    Joined:
    Jul 19, 2014
    Messages:
    2,542
    Occupation:
    Railway Maintenance
    Location:
    Morecambe, Lancashire, England
    Balance:
    19,412Coins
    Ratings:
    +3,300 / 31 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 6DOF
    Hiya mate you need to test in Frameshift and Jumping and also when you go into stations change ships and also when you turn flight assist on and off. Obviously when you look around the cockpit make sure the values don't change with the movement of your vision.

    The example code above you have the pointers the wrong way round should be 8 + 348 + 810, I have just tested and it does point to a Pitch value. Unfortunately the code above will never work even if it was correct as we have to read ED as 64bit thats where the GetBaseAddress.dll/wow64ext.dll comes into play

    Code:
     PAddress = Read64ULong(ProcessName, Baseaddress + &H29FFA38UI)
                PAddress = Read64ULong(ProcessName, PAddress + &H208UI)
                PAddress = PAddress + &H480UI
                DataFlagP = CSng(Read64Single(ProcessName, PAddress + &H0UI))
    
                If DataFlagP <> 0 Then
                    PAddress = PAddress
                    Pitch_MemHook = CSng(Read64Single(ProcessName, PAddress + &H0UI))
                Else
                    PAddress = SHSAddress + &H14UI
                    Pitch_MemHook = CSng(Read64Single(ProcessName, PAddress + &H0UI)) * 10
                End If
    
    That is the code I use for pitch in the Non-VR version so that it can tell whether it is in the SRV or Spaceship

    Unless Frontier go back to the way it was before the last update the pointers are different for Sway/Heave and Sway in VR and non Vr and the SRV pointers I have do not work in VR at all.

    Pitch / Roll and Yaw have their own separate memory locations they are not close/part of the Heave/Sway/Surge locations

    And for the pointers its best to have 2 PC's so you can do the scans for the pointers on both PC's to narrow them down more.

    For the GetBaseAddress information you would have to ask @value1 sure he would love to explain it :D
    • Informative Informative x 3
    • Like Like x 1
    • Funny Funny x 1
  3. traveltrousers

    traveltrousers Active Member

    Joined:
    Jun 5, 2014
    Messages:
    116
    Location:
    Timbuktu, Tombouctou, Mali
    Balance:
    655Coins
    Ratings:
    +86 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, Motion platform
    SilentChill, thanks for the update....

    I think a tutorial for 64 bit games would be very useful to future proof more games....

    Now my issue is adding references to the GetBaseAddress.dll/wow64ext.dll files, VS2015 doesn't want to add them! :(

    Values seem fine in frameshift, flight assist and looking around, I can't switch ships because I'm in Maia and there's no shipyard there.... another minor issue is that when you land the valves are locked, which is a pity because I'd like to feel the docking lift moving the ship. Should be easy enough to store a temp value each frame and if it hasn't changed lock the movement to zero.

    I'm also playing on a monitor with a gamepad for the first time ever :p VR, 6 tactile transducers and warthog HOTAS makes it a different game for sure.

    Any hints/code on GetBaseAddress would be appreciated.....
  4. value1

    value1 Nerd Staff Member Moderator SimAxe Beta Tester SimTools Developer Gold Contributor

    Joined:
    Jan 9, 2011
    Messages:
    2,149
    Location:
    Zug, Switzerland
    Balance:
    7,813Coins
    Ratings:
    +3,143 / 11 / -1
    My Motion Simulator:
    2DOF, DC motor, JRK, Joyrider
    Hi traveltrousers
    You can code a plugin for the 32 bit version of Elite - Dangerous first and show it here.
    By that you get accustomed to the finer details of plugin coding – and the community will receive a plugin for the 32 bit version :)
    • Like Like x 2
  5. traveltrousers

    traveltrousers Active Member

    Joined:
    Jun 5, 2014
    Messages:
    116
    Location:
    Timbuktu, Tombouctou, Mali
    Balance:
    655Coins
    Ratings:
    +86 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, Motion platform

    So I'll write a 32 bit version and you'll help me work out the 64 bit one?

    Deal! :)
    • Like Like x 1
    • Optimistic Optimistic x 1
  6. SilentChill

    SilentChill Problem Maker

    Joined:
    Jul 19, 2014
    Messages:
    2,542
    Occupation:
    Railway Maintenance
    Location:
    Morecambe, Lancashire, England
    Balance:
    19,412Coins
    Ratings:
    +3,300 / 31 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 6DOF
    When the game is updated and you can find time and do the pointer update before me then that's great. Send me the pointers I will update the plugin.

    At the moment both plugins are working so there is no issue ?
  7. Floydpr

    Floydpr Member Gold Contributor

    Joined:
    Jul 29, 2016
    Messages:
    34
    Location:
    Okc
    Balance:
    53Coins
    Ratings:
    +18 / 0 / -0
    My Motion Simulator:
    2DOF
  8. traveltrousers

    traveltrousers Active Member

    Joined:
    Jun 5, 2014
    Messages:
    116
    Location:
    Timbuktu, Tombouctou, Mali
    Balance:
    655Coins
    Ratings:
    +86 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, Motion platform
    Does anyone want a plugin for the open beta?
  9. kermitkong

    kermitkong Active Member Gold Contributor

    Joined:
    Apr 12, 2016
    Messages:
    183
    Occupation:
    Hardware Development
    Location:
    Germany
    Balance:
    1,152Coins
    Ratings:
    +248 / 0 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    If you have it I would like to try it , for me, I only need the VR version.
  10. kev b

    kev b Active Member Gold Contributor

    Joined:
    May 3, 2016
    Messages:
    111
    Occupation:
    Academic Lecturer - Electrical Engineering
    Location:
    Swindon, UK
    Balance:
    857Coins
    Ratings:
    +80 / 0 / -0
    My Motion Simulator:
    3DOF, Arduino, Motion platform, 6DOF
    Hi guys,
    So, the elite 2.3.10 update is now in place as of today and our motion has stopped again due to memory locations and pointers etc changing with each new update. Jeez, its so frustrating everytime there is an update to the game!. I guess its back to the joystick plugin again - sigh.
    @traveltrousers - have you tried your above-mentioned beta plugin with the latest version of elite? - they 'may' use the same memory data (If it does - can we have a copy?).
    I easily spend 10-20hrs/week in ED, all in VR and the motion chair so its always a big downer when it stops working. Its a kind of torture where ED hold the key to escape - give us motion a data api.
    Grrrrrr - I'm off for a beer coz I'm so hacked off
    • Agree Agree x 1
  11. SilentChill

    SilentChill Problem Maker

    Joined:
    Jul 19, 2014
    Messages:
    2,542
    Occupation:
    Railway Maintenance
    Location:
    Morecambe, Lancashire, England
    Balance:
    19,412Coins
    Ratings:
    +3,300 / 31 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 6DOF
    Grrrrr ........ Ok will sort it as soon as I can.

    You have to remember we make the plugins out of love for you guys so please have a little patience :thumbs
    • Like Like x 2
    • Agree Agree x 2
  12. traveltrousers

    traveltrousers Active Member

    Joined:
    Jun 5, 2014
    Messages:
    116
    Location:
    Timbuktu, Tombouctou, Mali
    Balance:
    655Coins
    Ratings:
    +86 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, Motion platform

    I just checked the update... this would only take me 10 minutes if I had the info on 64 bit pointers... ask value1 for a tutorial
  13. SilentChill

    SilentChill Problem Maker

    Joined:
    Jul 19, 2014
    Messages:
    2,542
    Occupation:
    Railway Maintenance
    Location:
    Morecambe, Lancashire, England
    Balance:
    19,412Coins
    Ratings:
    +3,300 / 31 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 6DOF
    If ya wanna give me the pointers for all the locations and I will put them in and make the plugin.

    P.s. 10 minutes is impossible
  14. traveltrousers

    traveltrousers Active Member

    Joined:
    Jun 5, 2014
    Messages:
    116
    Location:
    Timbuktu, Tombouctou, Mali
    Balance:
    655Coins
    Ratings:
    +86 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, Motion platform
    Thats how long the 32 bit one took... I think you guys need a new tutorial on pointer finding :)
  15. SeatTime

    SeatTime Well-Known Member

    Joined:
    Dec 27, 2013
    Messages:
    2,375
    Location:
    Newcastle Australia
    Balance:
    27,193Coins
    Ratings:
    +2,679 / 32 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    That is fast - why don't you write one :).
  16. value1

    value1 Nerd Staff Member Moderator SimAxe Beta Tester SimTools Developer Gold Contributor

    Joined:
    Jan 9, 2011
    Messages:
    2,149
    Location:
    Zug, Switzerland
    Balance:
    7,813Coins
    Ratings:
    +3,143 / 11 / -1
    My Motion Simulator:
    2DOF, DC motor, JRK, Joyrider
    If you honestly want to contribute to the community, send the pointers you have found to @SilentChill. This approach will also guarantee, that the pointers work on different systems.
  17. kev b

    kev b Active Member Gold Contributor

    Joined:
    May 3, 2016
    Messages:
    111
    Occupation:
    Academic Lecturer - Electrical Engineering
    Location:
    Swindon, UK
    Balance:
    857Coins
    Ratings:
    +80 / 0 / -0
    My Motion Simulator:
    3DOF, Arduino, Motion platform, 6DOF
    I started a thread on the ED forum last night hilighting our plight.
    I've had 73 replies so far and 43 participants, most of whom support my request for some kind of api.
    Some of the more seasoned participants have said we need to post our request on their 3rd-party - player tools and api development page.
    https://forums.frontier.co.uk/forumdisplay.php/173-Player-Tools-amp-API-Development
    There is a '3rd party devs submission form' in the stickies at the top.

    The feedback on my forum thread suggests that FD may largely unaware of 'us', and posting a specific request for what we actually need from them using the above link would definately be the way to go.
    I've had a look at the form and it does ask for a brief synopsis of what we would need. As I have little knowledge of what exactly goes into a simtools plugin I'm not really qualified to fill in the form. This is where I feel @SilentChill or @value1 skills and knowledge is required. What would be the minimum FD could supply in an api that would allow a plugin to be produced with simtools?

    I feel I made a pretty good casing point in my thread, it just needs someone more knowledgable than me to fill in the application on behalf of simtools. We'd get recognised and hopefully get an simple api giving us what we need. Eliminating the need for 'sim members' spending big hours re-patching each time. We have a shot at changing this now before my thread grows cold.

    What do you think?
    • Agree Agree x 2
    • Like Like x 1
    Last edited: Jun 27, 2017
  18. SilentChill

    SilentChill Problem Maker

    Joined:
    Jul 19, 2014
    Messages:
    2,542
    Occupation:
    Railway Maintenance
    Location:
    Morecambe, Lancashire, England
    Balance:
    19,412Coins
    Ratings:
    +3,300 / 31 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 6DOF
    Sounds exactly what we need to do. All FD need to output motion data via memory map or by tcp or udp.

    edit: I have submitted a form and I will go and look for some pointers now, seen as the 10 minute traveltrousers hasn't sent any :)
    Last edited: Jun 27, 2017
  19. value1

    value1 Nerd Staff Member Moderator SimAxe Beta Tester SimTools Developer Gold Contributor

    Joined:
    Jan 9, 2011
    Messages:
    2,149
    Location:
    Zug, Switzerland
    Balance:
    7,813Coins
    Ratings:
    +3,143 / 11 / -1
    My Motion Simulator:
    2DOF, DC motor, JRK, Joyrider
    There was an official "External API Requirements Thread" in the Frontier forum where I posted some time ago. Unfortunately there was never a reaction and most of the input to the thread has been neglected anyway.
    Is there an application form to fill? Can you provide a link?
    • Like Like x 1
  20. SilentChill

    SilentChill Problem Maker

    Joined:
    Jul 19, 2014
    Messages:
    2,542
    Occupation:
    Railway Maintenance
    Location:
    Morecambe, Lancashire, England
    Balance:
    19,412Coins
    Ratings:
    +3,300 / 31 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 6DOF
    • Like Like x 1
    • Informative Informative x 1
Thread Status:
Not open for further replies.