I added a managed release of the overlay library here. I had intended to add this on Friday, and I took a jab at it back then, but something came up and I couldn’t finish it.
Also, I’ve not packaged the source for the managed sample separately. So, just retrieve the latest source code from the source code tab if you want to check the sample source.
supermedo said
Tnx for posting this! Checking it out!
idolatry said
Awesome, thanks for this.
supermedo said
Here are some preliminary findings:
The overlay blinks on Update() when used with fullscreen games. This wasn’t happening when I was using the OverlayManager code from your post here: http://www.gamedev.net/community/forums/topic.asp?topic_id=367591
Otherwise, the overlay displays correctly on ATI and Nvidia computers running on WinXP with Quake2 (OpenGL), but doesn’t show with Starcraft (?) and Warcraft III (DirectX i guess). I’ve tried using a global hotkey to recreate the OverlayManager class during the game and it creates an error, because it fails to initialize the overlay manager (OverlayManager.Reset() method).
Another thing happens with SetSourceRectangle() and SetDestinationRectangle(): if I set source to the overlay and destination somewhere else on the screen, the overlay is displayed on the destination. But when any game is started it creates an error (just the beep sound and it closes).
Hope this helps and the problems can be fixed
Muhammad Haggag said
Blinking: I’m not sure what’s going on. What kind of hardware do you have? Someone on Codeplex reported blinking/flickering with SLI configurations IIRC.
Some games not working: Several games have been reported to not work for no apparent reason. It seems to be a combination of driver version + OGL/D3D incarnation used. Generally, overlays aren’t really that robust across different hardware.
Overlay creation error: You can’t create the overlay while a fullscreen game is running (I found this the hard way). A better strategy is to create the overlay and keep it hidden, until it’s triggered to show by a hotkey.
Crash: Is it the game crashes, or the overlay app? If it’s the overlay app, do you get any exception traces?
Generally, if you’re looking at overlays for developing a general-purpose redistributable application, you’re looking the wrong way. Writing global Direct3D and OpenGL hooks would be a much more stable solution, IMO. I’ve been meaning to work on that for quite a while, but haven’t had the chance to do anything on it.
idolatry said
That was my report on SLI, but it was blinking when the game refreshed, not the Overlay. Maybe something different?
Using WinXP SP2, nVidia cards (6600 GT) and latest drivers, overlay works fine on every game I’ve tested so far. Have to switch to SFR mode for SLI to stop the flickering, though.
Any chance you could expose x and y positioning, as well as width and height?
Muhammad Haggag said
I’ll look into exposing overlay positioning next weekend.
Paul said
Hi Muhammad,
I’ve been in the process of creating a Windows Live Messenger addin, with the goals to add overlays ala what Xfire does for ingame chat.
Unfortunately WLM requires libraries to be in the GAC, which isn’t too much of a deal, except for the reliance of ManagedOverlayLib on “‘msvcm90″ (or ‘msvcm80′ if you’re using VS2005). I’m not a C++ guy, but I gave a shot at recompiling it sans msvcm90 (http://msdn2.microsoft.com/en-us/library/ms235238(vs.90).aspx) and unfortunately I now have fatal linker errors.
Since C++ is your area, have you any thoughts on how I’d go about it?
Lena said
Somehow i missed the point. Probably lost in translation
Anyway … nice blog to visit.
cheers, Lena.
Bill PAPADOPOULOS said
Hi Muhhamad,
That overlay works fine on some fullscreen games, especially those games which are not demanding and are cooperative.
Big time games, just dont let anything showing up (layers, pop ups etc).
Developing in Xfire might do the trick (http://xfire.codehaus.org).
Xfire is an open source chat program that appears as an overlay during the game.
Java anyone?