-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
There is another easy way to test if the game is using an overlay on Windows: Take a screenshot with the print key. If the mouse pointer shows up, it is *not* an overlay. If it does not show up, it might be an overlay or a user32 mouse pointer.
Am 2014-02-16 10:06, schrieb Christopher Thielen:
No luck so far: I ran the application for about 30 seconds and generated a 975 MB log file but a case insensitive "overlay" appears not at all.
If the game looks for overlay flags it may not even call any overlay-related function if it doesn't find the flags present. And there's no way to find out at which flags it looks, short of disassembling the game code.
What you can do is looking for IDirectDraw::GetCaps calls (grep the log for ddraw7_GetCaps). If it does not call that it doesn't look at overlay capabilities and my theory is moot. If it does, you can try to add overlay capabilities and see if it starts calling IDirectDrawSurface::UpdateOverlay (look for ddraw_surface7_UpdateOverlay) and friends.
Unfortunately there's not a one-button switch to fake overlay capabilities. You may have to look at a DDCAPS structure returned from Windows and add / remove capabilities from Wine's until they look more alike. I know that I looked into Setter 3's overlay mouse pointer and it was rather tricky to figure out what the game wanted. I think it needed a proper dwMinOverlayStretch and dwMaxOverlayStretch value set, among other things.
Some hints to get you started: DDCAPS_OVERLAY, DDSCAPS_OVERLAY, dwMaxVisibleOverlays, dwMinOverlayStretch, etc.