Original Post
I have created a C++ overlay library based on the C++ Overlay Sample published almost a year and a half ago. It improves a number of things over the sample: 1. It works on nVidia cards, using either the YUY2 or UVYV surface formats. 2. It is packaged as a C++ library. A C++/CLI wrapper will be written as soon as I fix any outstanding issues with the native library. 3. A better sample is included, which shows how one can blit a window to the overlay. The project page can be found on Codeplex, here. Currently, the only available release is 0.5b, which includes 3 files: 1. DirectDrawOverlay-lib-0.5b.zip, the release and debug builds of the library. 2. DirectDrawOverlay-bin-0.5b.zip, the sample binary files. 3. DirectDrawOverlay-src-0.5b.zip, the source code (VS8 solution). Build instructions can be found at the project homepage. The sample Details on what the sample does can be found here.
The YUV issue There's a known issue with YUV formats--i.e, on nVidia cards--where the colors for some controls are messed up. Most notably, black-text-on-white is shown in the overlay as white-text-on-black. It's on my TODO list, and it's probably some silly conversion error, so ignore this for now. I need your help I need people with pre-Vista systems to test the sample on any fullscreen games they have, both Direct3D and OpenGL ones. So far, the one XP tester I had has never reported failure. With Vista systems, the situation is rather strange. The 2 Vista testers I had reported that: 1. Fullscreen DirectX SDK samples work fine with the overlay. 2. Fullscreen Direct3D applications other than the samples cause the overlay to be lost. 3. Fullscreen OpenGL applications cause the overlay to be lost. It's not entirely clear what's going on with #2, perhaps it has to do with multisampling or some setting used by the games by default. No idea what's going on with #3, though. It's either related to the new Vista driver architecture, or a driver issue. Further testing should provide some clues. Please include your graphics card type and driver version with any error reports.