Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Direct3D overlay
Goto page 1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
kittonkicker
I post too much
Reputation: 1

Joined: 19 Apr 2006
Posts: 2171

PostPosted: Mon Oct 06, 2008 3:34 pm    Post subject: Direct3D overlay Reply with quote

I'm messing about with Direct3D in an attempt to provide a more exciting experience for a popular game ^_^.

Does anyone know if its possible to draw overlayed graphics on a d3d8 game (i.e. for a graphical in-game trainer)? Everything I've found on the net is very d3d9 focussed and doesn't seem to do anything but produce a black screen in d3d8.

HALP PLIX.

EDIT: The best I can currently do is invoke the DrawText() d3d API which doesn't cause any issues...

_________________
All gone Sad


Last edited by kittonkicker on Mon Oct 06, 2008 4:06 pm; edited 1 time in total
Back to top
View user's profile Send private message
GMZorita
Grandmaster Cheater Supreme
Reputation: 0

Joined: 21 Mar 2007
Posts: 1361

PostPosted: Mon Oct 06, 2008 3:50 pm    Post subject: Reply with quote

Know if what is possible?
o.o
Draw on your screen? Ofc you just did it o.o.

_________________
Gone
Back to top
View user's profile Send private message
kittonkicker
I post too much
Reputation: 1

Joined: 19 Apr 2006
Posts: 2171

PostPosted: Mon Oct 06, 2008 4:03 pm    Post subject: Reply with quote

GMZorita wrote:
Know if what is possible?
o.o
Draw on your screen? Ofc you just did it o.o.


kittonkicker wrote:
Does anyone know if its possible to draw overlayed graphics on a d3d8 game (i.e. for a graphical in-game trainer)?


Are you actually retarded?

_________________
All gone Sad
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 471

Joined: 09 May 2003
Posts: 25831
Location: The netherlands

PostPosted: Mon Oct 06, 2008 4:16 pm    Post subject: Reply with quote

directx8 is a lot like directx9 basicaly the same function calls

to get a black screen try rendering a black square texture that has the same size as the screen. (e.g a 1x1 pixel texture which gets scaled to screen width and height)

I recommend using the ID3DXSprite class so you don't have to mess with vertexbuffers and the like but can just work with textures as 2d screen objects and also normal 2d screen coordinates.

Works just like the ID3DXFont class.

And don't worry too much about all the posts of people saying those classes are slow. when I used it the fps didn't drop at all (At most 0.2fps)

Just hook somewhere to get a valid direct3ddevice then use that to create the textures. And also hook present where you can draw your gui at the end

edit: Ce's directx mess uses some overlayed graphics

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping


Last edited by Dark Byte on Mon Oct 06, 2008 4:35 pm; edited 4 times in total
Back to top
View user's profile Send private message MSN Messenger
nwongfeiying
Grandmaster Cheater
Reputation: 2

Joined: 25 Jun 2007
Posts: 695

PostPosted: Mon Oct 06, 2008 4:17 pm    Post subject: Reply with quote

I would think it's possible as the one guy release a binary of a starfield. I think the hard part would be getting it to be in that location you want it to be in because of the ranges of monitor size and resolution people run their OS in.
Back to top
View user's profile Send private message
GMZorita
Grandmaster Cheater Supreme
Reputation: 0

Joined: 21 Mar 2007
Posts: 1361

PostPosted: Mon Oct 06, 2008 4:32 pm    Post subject: Reply with quote

kittonkicker wrote:
GMZorita wrote:
Know if what is possible?
o.o
Draw on your screen? Ofc you just did it o.o.


kittonkicker wrote:
Does anyone know if its possible to draw overlayed graphics on a d3d8 game (i.e. for a graphical in-game trainer)?


Are you actually retarded?

No, how about you?
Well if that was the question, it was really stupid. Because ofc its possible?
You just draw'd the text.
Look at the internet there are plenty of examples.

_________________
Gone
Back to top
View user's profile Send private message
lurc
Grandmaster Cheater Supreme
Reputation: 2

Joined: 13 Nov 2006
Posts: 1900

PostPosted: Mon Oct 06, 2008 5:02 pm    Post subject: Reply with quote

GMZorita wrote:
kittonkicker wrote:
GMZorita wrote:
Know if what is possible?
o.o
Draw on your screen? Ofc you just did it o.o.


kittonkicker wrote:
Does anyone know if its possible to draw overlayed graphics on a d3d8 game (i.e. for a graphical in-game trainer)?


Are you actually retarded?

No, how about you?
Well if that was the question, it was really stupid. Because ofc its possible?
You just draw'd the text.
Look at the internet there are plenty of examples.


GMZorita, just seriously GTFO.
He's talking about creating a full Graphical Interface where the user can actually give input to, not some text.
And don't go telling someone to go look on the internet and say there's plenty of examples when you don't know what the fuck hes talking about Rolling Eyes

And btw, its "Drew" not "Draw'd"

_________________
Back to top
View user's profile Send private message
GMZorita
Grandmaster Cheater Supreme
Reputation: 0

Joined: 21 Mar 2007
Posts: 1361

PostPosted: Mon Oct 06, 2008 5:12 pm    Post subject: Reply with quote

lurc wrote:
GMZorita wrote:
kittonkicker wrote:
GMZorita wrote:
Know if what is possible?
o.o
Draw on your screen? Ofc you just did it o.o.


kittonkicker wrote:
Does anyone know if its possible to draw overlayed graphics on a d3d8 game (i.e. for a graphical in-game trainer)?


Are you actually retarded?

No, how about you?
Well if that was the question, it was really stupid. Because ofc its possible?
You just draw'd the text.
Look at the internet there are plenty of examples.


GMZorita, just seriously GTFO.
He's talking about creating a full Graphical Interface where the user can actually give input to, not some text.
And don't go telling someone to go look on the internet and say there's plenty of examples when you don't know what the fuck hes talking about :roll:

And btw, its "Drew" not "Draw'd"

Fine sorry my mistake.

_________________
Gone
Back to top
View user's profile Send private message
kittonkicker
I post too much
Reputation: 1

Joined: 19 Apr 2006
Posts: 2171

PostPosted: Mon Oct 06, 2008 5:29 pm    Post subject: Reply with quote

Thanks DB! It's pretty hard to find anything D3D8 on the net since it's total depreciated now...even MSDN doesn't have any info about the APIs anymore!!

What I want is to code is something like a console window, which the user can type commands into... but I'd like it to have some sort of transparancy so the user can still see whats going on in the game.

I've also got a sort of windowing system planned, so I guess I'll need to mess about with the wndproc to capture the window messages >.>! Should be pretty interesting once it's finished!

I was experimenting with vertex buffers... which is how I got my wonderful black screen! I think it's because it's clearing the original buffers? I'm still VERY new to Direct3D.

So far as getting the d3ddevice, I've got a proxy d3d8.dll which stores the pointer so I can manipulate it as I please. I found a pretty useful source online which does all the class wrappering for d3d8 for me, so I've done a bit of experimenting in the "Present()" api... quite basically I've drawn some text (like I said in my OP). Hopefully that'll allow me to expand!!

_________________
All gone Sad
Back to top
View user's profile Send private message
&Vage
Grandmaster Cheater Supreme
Reputation: 0

Joined: 25 Jul 2008
Posts: 1053

PostPosted: Mon Oct 06, 2008 5:57 pm    Post subject: Reply with quote

I think you can use the CreateTexture();
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 471

Joined: 09 May 2003
Posts: 25831
Location: The netherlands

PostPosted: Mon Oct 06, 2008 10:53 pm    Post subject: Reply with quote

transparency is easy with ID3DXSprite
When rendering it just fill in the alpha part of the color to something fitting and make sure alphablending is enabled for it (I think thats by default, but could be i'm mistaken)

p.s: just remembered it was the .EndScene method I hooked to do my rendering

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
tombana
Master Cheater
Reputation: 2

Joined: 14 Jun 2007
Posts: 456
Location: The Netherlands

PostPosted: Tue Oct 07, 2008 2:26 am    Post subject: Reply with quote

It's much easier than that. I've been searching for it too in the past and I found DirectDraw Overlays. They can draw over direct3d applications, but not over other directdraw applications I think. (I used it to draw something over Flyff).
The advantage is that this is very easy. You don't need to hook anything or whatever. I have examples in both c++ and masm but I won't be home till next week so I can't show you. Just google directdraw overlays and you'll find it.
If it matters for you, one disadvantage is that you can't capture it on screenshots. The videocard will draw this over your screen just before sending it to the monitor, and you won't see that on a screenshot. That's also why you can't make screenshots of movies in windows media player.

EDIT: This is the sample I used:
http://www.gamedev.net/community/forums/topic.asp?topic_id=445141
Also, when you have an nvidea card you will probably notice all kinds of weird colors. The creator of the sample wrote his own blitter to convert those color formats, but it's much easier. You should create an extra surface, offscreen, and draw everything on that. When that's done you use directdraw's blt function to copy it to the overlay surface and it'll correct the color formats for you.

Tombana
Back to top
View user's profile Send private message
Wintermoot
Expert Cheater
Reputation: 0

Joined: 08 Nov 2007
Posts: 198

PostPosted: Tue Oct 07, 2008 2:41 am    Post subject: Reply with quote

Just do as most trainers do and hook some functions. Look for "D3D_Starterkit_v3.0b". That includes D3D8 (Although, it is detected usually so, just use it to learn from...)
Back to top
View user's profile Send private message
kittonkicker
I post too much
Reputation: 1

Joined: 19 Apr 2006
Posts: 2171

PostPosted: Tue Oct 07, 2008 12:31 pm    Post subject: Reply with quote

Tried it DB's way... seems to work pretteh well. Thanks for the ideas though guys.

Check attached screenie ^_^.

_________________
All gone Sad
Back to top
View user's profile Send private message
Zand
Master Cheater
Reputation: 0

Joined: 21 Jul 2006
Posts: 424

PostPosted: Tue Oct 07, 2008 12:34 pm    Post subject: Reply with quote

You using a wrapper DLL?
Why not just work on a console MS client?

EDIT - How'd you get a proxy-DLL to work?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming All times are GMT - 6 Hours
Goto page 1, 2, 3, 4, 5  Next
Page 1 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites