Managed Overlay Library

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.

About these ads

9 Comments »

  1. supermedo said

    Tnx for posting this! Checking it out! :)

  2. idolatry said

    Awesome, thanks for this.

  3. 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 :)

  4. 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.

  5. 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?

  6. I’ll look into exposing overlay positioning next weekend.

  7. 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?

  8. Lena said

    Somehow i missed the point. Probably lost in translation :) Anyway … nice blog to visit.

    cheers, Lena.

  9. 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?

RSS feed for comments on this post · TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: