• Visit Rebornbuddy
  • RaptureATKUnitManager/AtkAddonControl

    Discussion in 'Community Developer Forum' started by mistahmikey, Aug 30, 2015.

    1. mistahmikey

      mistahmikey New Member

      Joined:
      Jun 29, 2015
      Messages:
      161
      Likes Received:
      3
      Trophy Points:
      0
      Was wondering if there is any more detailed information about the in-game windowing system than I have been able to find. I am not a windows/.net developer (Linux is my normal environment), so I have no idea what the "RaptureAtkUnit" is, and I could find nothing about it via google. In particular, an explanation of how to use the AtkAddonControl.SendAction method and its parameters would be very helpful. Also, how does one determine the correct window name parameter for the RaptureAtkUnitManager.GetWindowByName? I tried listing RaptureAtkUnitManager.Controls method to list them, but the window I was interested in (in this case the Appraiser Collector window) didn't appear to be in the list, even though I had it open.

      Would it be possible for Mastahg to post the code for one of the RemoteWindows so we could have a working example?

      Thanks.
       
    2. y2krazy

      y2krazy Community Developer

      Joined:
      Jun 21, 2011
      Messages:
      2,803
      Likes Received:
      70
      Trophy Points:
      48
    3. mistahmikey

      mistahmikey New Member

      Joined:
      Jun 29, 2015
      Messages:
      161
      Likes Received:
      3
      Trophy Points:
      0
      Yep, have taken a look at that documentation, but it is insufficient to really understand how it all works (at least for my feeble mind), hence the questions. Thanks for the info, though :)
       
    4. kagamihiiragi17

      kagamihiiragi17 Community Developer

      Joined:
      Jun 24, 2014
      Messages:
      873
      Likes Received:
      25
      Trophy Points:
      0
      Example code will do you no good. All data sent to a window needs to be reverse engineered from the game, so unless you have experience with reverse engineering and have the programs necessary to do so, trying to use SendAction will be pretty much useless for you.
       
    5. mistahmikey

      mistahmikey New Member

      Joined:
      Jun 29, 2015
      Messages:
      161
      Likes Received:
      3
      Trophy Points:
      0
      Well dang. I am familiar with IDA Pro, but not familiar with windows internals, so that won't be happening anytime soon. I'll just hope the RebornBuddy coding wizards get around to adding that window in the future.

      Thanks for the reply.
       
    6. kagamihiiragi17

      kagamihiiragi17 Community Developer

      Joined:
      Jun 24, 2014
      Messages:
      873
      Likes Received:
      25
      Trophy Points:
      0
      What are you trying to do with the appraiser collector window?
       
    7. mistahmikey

      mistahmikey New Member

      Joined:
      Jun 29, 2015
      Messages:
      161
      Likes Received:
      3
      Trophy Points:
      0
      Automatically turn in collectables. If you look at this post, https://www.thebuddyforum.com/rebor...938-modification-exmatts-fishing-profile.html, in OrderBotTags.zip there is an tag I created (TurnInCollectables) that interacts with this window using keystrokes. It works, but it must be manually configured to identify what collectables are required and where they are in the window, and relies on a bit of hocus/pocus to decide if the collectable cannot be turned in. It would be nice if the current list of desired collectables could be obtained directly from the window, and then have the ability to interact directly with the ones you wish to turn in, so it isn't possible for focus issues, timing issues, etc. to creep in and mess things up.
       
    8. kagamihiiragi17

      kagamihiiragi17 Community Developer

      Joined:
      Jun 24, 2014
      Messages:
      873
      Likes Received:
      25
      Trophy Points:
      0
      That sounds relatively complex. If you want to mess around with trying to read data from the window, pull the pointer from RB and then poke around with it in IDA - you'll find that almost all data in the windows are usually at least 3 pointers deep though.
       
    9. mistahmikey

      mistahmikey New Member

      Joined:
      Jun 29, 2015
      Messages:
      161
      Likes Received:
      3
      Trophy Points:
      0
      Ok, I might be willing to take a shot at it, assuming the free version of IDA is sufficient. Do you know if this is the case?

      Assuming it is, is RaptureATK a product that is layered on top of the MS Windows internal windowing system? If so, is there any info you can point me to that describes it? If not, is there a relevant MS Windows internal data structure for a window that you can point me to?

      Thanks for you help.
       
    10. kagamihiiragi17

      kagamihiiragi17 Community Developer

      Joined:
      Jun 24, 2014
      Messages:
      873
      Likes Received:
      25
      Trophy Points:
      0
      Completely custom for FFXIV.
       
    11. mistahmikey

      mistahmikey New Member

      Joined:
      Jun 29, 2015
      Messages:
      161
      Likes Received:
      3
      Trophy Points:
      0
      Any chance you could explain or provide an example of how to properly use the AtkAddonControl.SendAction Method?
       
    12. kagamihiiragi17

      kagamihiiragi17 Community Developer

      Joined:
      Jun 24, 2014
      Messages:
      873
      Likes Received:
      25
      Trophy Points:
      0
      Not really, it's different for every window. Generally speaking, any action has a number of 'parameters' which are sent to the window. They're sent in pairs. The first parameter of SendAction is the number of pairs, followed by pairs of parameters.
       
    13. mistahmikey

      mistahmikey New Member

      Joined:
      Jun 29, 2015
      Messages:
      161
      Likes Received:
      3
      Trophy Points:
      0
      Whelp, I have procurred IDA Pro and have been playing around with it a bit, but not being a Windows guy, the learning curve is a bit steep. If you have any pointers on how best to use IDA to search for relevant information (particularly, what debugger do you use for finding pointers to dynamic data and how do you use IDA to search for them), I sure would appreciate the jump start. I don't need a complete tutorial; anything you are willing to provide will help I am sure.
       
    14. ExMatt

      ExMatt Active Member

      Joined:
      Jul 5, 2015
      Messages:
      1,030
      Likes Received:
      14
      Trophy Points:
      38
      I have brute forced this one. The tag I created is quite feature rich, take a look and borrow anything you want, or just use the tag as is.

      https://github.com/MGramolini/ExBuddy/blob/master/OrderBotTags/Common/TurnInCollectablesTag.cs
       

    Share This Page