Just interested to draw in wow, but staying out of process. Maybe some funcs to place simple graphic objects?
The goal is to keep track on WP's. (so any object at WP node can help me)
Just interested to draw in wow, but staying out of process. Maybe some funcs to place simple graphic objects?
The goal is to keep track on WP's. (so any object at WP node can help me)
Your best bet is creating an "invisible" window overlayed on top of the WoW window and do your drawing there (use DirectX of course, GDI is too slow and choppy). It will probably be harder then simply drawing in the injected process.
I mean drawing in 3d space. So thats not the way it should be done.
You can't just draw onto the DirectX buffer very easily. You would at least need an EndScene hook and a locking mutex so that you can let your hook know where/how many/what to do with the buffer. Not going to be simple. Galpha's suggestion would be the easiest if you desire staying out of process.
DirectDraw may be possible, but ugly and hack-ish.
Oh guys, ofc im hooking EndScene, jsut im sure WoW should have some graphics API which it uses to draw, thats why there might be things to draw primitives / lines / dots.
Hide before Apoc cuts your head off for not knowing when you're in/out of process... But depending on what language you're using and how you've hooked endscene (which i bet you can't explain because you've copy/pasted it) you should already have or at least be able to get the d3d9 device which you can call the drawing functions on...
“Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning.” - Rich Cook
I remember that there was a in game addon which showed places to avoid and where a boss would use his spells etc by drawing lines and making circles in wow but that was removed in wotlk
Also found this:
http://www.youtube.com/watch?v=13MI7...layer_embedded
That was made by Mnvbc on this forumhe might be able to grant your wish
![]()
Last edited by Neer; 03-26-2011 at 06:25 PM.
If you properly injected a dll instead of ugly asm injection, drawing functions would also be easily implemented by hand...
There's much stuff on rendering in wow on this forum.
What alche001 referred to was AVR (Augmented Virtual Reality) AVR - Addons - Curse.
I don't think there's a dedicated drawing function exposed via lua because of AVR's "misuse".
AVR had its own meshing API and drawing functions.
First of all AVR was disabled by blizzard in last WOTLK pathces.
Why are you sure i copy/pasted EndScene? Ofc im able to grab D3D device, but as soon as i use ASM injections thats too hard to use D3D API.Hide before Apoc cuts your head off for not knowing when you're in/out of process... But depending on what language you're using and how you've hooked endscene (which i bet you can't explain because you've copy/pasted it) you should already have or at least be able to get the d3d9 device which you can call the drawing functions on...
And im OUT od process (not in terms of security ofcourse). Single memory writes are not moving my bot "into" the process.
When i was writing bot for Lineage 2 it had some API like Canvas:rawLine Canvas:
rawArc (which i used to make ingame radar). But those were drawing in 2D.
If noone have an idea what im talking about than stop flaming and close this thread...
I suggest you read this and get your terms straight before yelling at me for flaming because what i said was legitimately usefull: http://www.mmowned.com/forums/world-...cess-bots.html
But to sum above link up: writing ASM into wow = injection = you're in process = save yourself the trouble and inject a dll...
“Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning.” - Rich Cook
For me staying in process means that my bot will be fully injected into WoW process.
Injecting single asm code is not exactly beeing "in process". (in terms of functionality)
Thats my point. Anyone here cant change it.
Actually, a dll is nothing more than a few lines of asm properly written by a compiler.
You don't have to map the virtual addresses manually, that's done by windows for you.
Much less error prone and you are able to write your (calling-) code in your favorite language.
If you really insist on staying "out of process" (which you really aren't, even in terms of functionality), you will lose the advantage of being able to apply the most exciting things discussed in this forum.
Plus, you are denying the work of the big ones here, who really don't want to mess around with asm injection and can't provide you with your specific information.
Who needs an internal function for drawing a circle if it can be done in <10 lines of C++/C#?
You could write it in one of your beloved asm code caves - good luck with it!
Heh, reason im not injecting dll - is not to stay out of process. Thats not really matter for me. I've just done alot already and i dont want to rewrite everything to dll. (Atleast untill i finish my current project)
If you're writing a private bot, just inject a damn DLL. You lose nothing in terms of security if you're already calling engine functions remotely, and you gain exponentially in terms of functionality and ease of development.
For public bots it gets more complicated, but if you're writing a public bot you've already got bigger problems.![]()
Im not sure yet. This is simple gathering bot. Maybe i will release it for free when i finish with all this stuff.