Page 2 of 2 FirstFirst 12
Results 26 to 34 of 34

Thread: RS3 DirectX Intercept/Hook - Identifying rock types

  1. #26
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    Quote Originally Posted by lovebotter View Post
    Do you have any ETA on a directx plugin?
    Having allot of trouble with the FPS drop after a few hours within OGL..

    I don't have an ETA and I won't and I'm sorry for that. Something like a Direct-X hook plugin by myself would take quite a bit of free time. I don't have that luxury atm. When I started on it, I had tons of free time and I could have finished it or released a beta plugin but I don't have that time anymore.

    It's not hard, it's just I don't have time. It could take a weekend at most to get a beta out and then bug fixes, feedback, suggestions would begin and take more time than an initial release.

    When the current project at work cools down and I don't have to work weekends and weekdays and overtime, then I can probably put in quite a bit of work on a plugin base (models, textures, text, etc). I'm actually working right now ( on my weekend :l ).

    The little time I have, I visit the forums to answer questions or help out where I can otherwise I spend it exercising so I don't become a fat programmer.


    To complete a beta plugin.. Basically:

    1. Override IDirect3DTexture9's lock and unlock functions to do a hash of the pixels.
    2. Override IDirect3DDevice9's DrawPrimitive and DrawIndexedPrimitive to get the current texture into an std::vector<IDirect3DDevice9*>.
    3. Override IDirect3DVertexBuffers' lock and unlock functions to do a hash of the vertices, colours, or normals.
    4. Override IDirect3DDeviceSwapChain9's Present function to feed the data to Simba or Draw the ID's on screen.
    5. Override IDirect3DDevice9's Reset function to font reset and restore for safe ID drawing.
    6. Debug and test everything then release a beta plugin + source.

    The first is already done.
    The second is already done.
    The third is partially done (see this thread for more details above [only thing missing is the overriding and adding other functionality]).
    The fourth is no where in sight but can be copied from the OpenGL 4.0 plugin source.
    The fifth is already done.
    The sixth you do every time you add new functionality.
    Last edited by Brandon; 05-16-2015 at 07:52 PM.
    I am Ggzz..
    Hackintosher

  2. #27
    Join Date
    May 2012
    Posts
    499
    Mentioned
    23 Post(s)
    Quoted
    228 Post(s)

    Default

    Thanks for the detailed reply!

    Wouldnt copying the fourth part from the OGL plugin reproduce the same lag experienced?

  3. #28
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    Quote Originally Posted by lovebotter View Post
    Thanks for the detailed reply!

    Wouldnt copying the fourth part from the OGL plugin reproduce the same lag experienced?
    Nope. Communication is not the source of lag in OpenGL. It's the design of the plugin and the mass amount of patches since its very first release. The latest patches reduced that lag a lot but it isn't enough. I have to implement the new way of determining what fonts are rendered (described on the OpenGL thread). Changing the storage of fonts for OpenGL plugin will increase the speed drastically.
    Last edited by Brandon; 05-16-2015 at 08:19 PM.
    I am Ggzz..
    Hackintosher

  4. #29
    Join Date
    May 2012
    Posts
    499
    Mentioned
    23 Post(s)
    Quoted
    228 Post(s)

    Default

    Quote Originally Posted by Brandon View Post
    Nope. Communication is not the source of lag in OpenGL. It's the design of the plugin and the mass amount of patches since its very first release. The latest patches reduced that lag a lot but it isn't enough. I have to implement the new way of determining what fonts are rendered (described on the OpenGL thread). Changing the storage of fonts for OpenGL plugin will increase the speed drastically.
    I'm currenlty only using getModel in my script though? Yet it still starts laging horribly after a couple of hours. I'll pm you the script later if that's of any help.

  5. #30
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    Quote Originally Posted by lovebotter View Post
    I'm currenlty only using getModel in my script though? Yet it still starts laging horribly after a couple of hours. I'll pm you the script later if that's of any help.

    I'll release a beta plugin for Direct-X this weekend or sometime this week (I'll try to aim for tomorrow or tonight). I started writing the code for sending information to Simba. It'll be on github shortly. You won't have any lag.

    The OpenGL plugin will take way more time (even though I already wrote most of it for OSX and Linux, the Windows part is a pain).. It's not as easy as Direct-X and requires more attention to detail and efficiency (not that Direct-X doesn't require the same, but it's a lot easier to maintain).
    I am Ggzz..
    Hackintosher

  6. #31
    Join Date
    May 2012
    Posts
    499
    Mentioned
    23 Post(s)
    Quoted
    228 Post(s)

    Default

    Quote Originally Posted by Brandon View Post
    I'll release a beta plugin for Direct-X this weekend or sometime this week (I'll try to aim for tomorrow or tonight). I started writing the code for sending information to Simba. It'll be on github shortly. You won't have any lag.

    The OpenGL plugin will take way more time (even though I already wrote most of it for OSX and Linux, the Windows part is a pain).. It's not as easy as Direct-X and requires more attention to detail and efficiency (not that Direct-X doesn't require the same, but it's a lot easier to maintain).
    That is great news! Hope it works out because my current dragon pickaxe farming script (srl-6 based) already missed out on 2 dpicks (out of 37 though). That shouldnt happen with ogl/directx.

  7. #32
    Join Date
    Dec 2011
    Posts
    2,147
    Mentioned
    221 Post(s)
    Quoted
    1068 Post(s)

  8. #33
    Join Date
    Apr 2013
    Posts
    11
    Mentioned
    1 Post(s)
    Quoted
    3 Post(s)

    Default

    I'm working on a method for DirectX world walking in my free time. The terrain has a stride of 20, using the vertices we can find the primitive the player is standing on and the 2D screen coordinate of any tile/primitive relative to the player location. This is all relative because camera angle affects the number of vertices and primitive count (which are about 10000 and 3000 respectively). When I change the render mode in drawIndexedPrimitive yo wireframe I notice the ground AND minimap are effected, so I assume that texture shown above could be used similar to SPS to find the Gielinor coordinate.

    If you are interested in faking keyboard/mouse input like SMART, take a look at these Windows API.
    http://www.drdobbs.com/windows/insid...stem/184408943
    There is also DirectX.DirectInput but I think that is only for processing input. And I don't think RuneScape even loads it, so hooks might be futile. Worth a look anyway.

  9. #34
    Join Date
    Jan 2012
    Location
    East Coast
    Posts
    733
    Mentioned
    81 Post(s)
    Quoted
    364 Post(s)

    Default

    Quote Originally Posted by Brandon View Post
    I don't have an ETA and I won't and I'm sorry for that. Something like a Direct-X hook plugin by myself would take quite a bit of free time. I don't have that luxury atm. When I started on it, I had tons of free time and I could have finished it or released a beta plugin but I don't have that time anymore.

    It's not hard, it's just I don't have time. It could take a weekend at most to get a beta out and then bug fixes, feedback, suggestions would begin and take more time than an initial release.

    When the current project at work cools down and I don't have to work weekends and weekdays and overtime, then I can probably put in quite a bit of work on a plugin base (models, textures, text, etc). I'm actually working right now ( on my weekend :l ).

    The little time I have, I visit the forums to answer questions or help out where I can otherwise I spend it exercising so I don't become a fat programmer.


    To complete a beta plugin.. Basically:

    1. Override IDirect3DTexture9's lock and unlock functions to do a hash of the pixels.
    2. Override IDirect3DDevice9's DrawPrimitive and DrawIndexedPrimitive to get the current texture into an std::vector<IDirect3DDevice9*>.
    3. Override IDirect3DVertexBuffers' lock and unlock functions to do a hash of the vertices, colours, or normals.
    4. Override IDirect3DDeviceSwapChain9's Present function to feed the data to Simba or Draw the ID's on screen.
    5. Override IDirect3DDevice9's Reset function to font reset and restore for safe ID drawing.
    6. Debug and test everything then release a beta plugin + source.

    The first is already done.
    The second is already done.
    The third is partially done (see this thread for more details above [only thing missing is the overriding and adding other functionality]).
    The fourth is no where in sight but can be copied from the OpenGL 4.0 plugin source.
    The fifth is already done.
    The sixth you do every time you add new functionality.
    @Brandon; how are 3 and 4 going? Is there anything the community can do to help?

Page 2 of 2 FirstFirst 12

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •