narzoul / DDrawCompat

DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11
BSD Zero Clause License
885 stars 67 forks source link

Query: window z-ordering and window borders #198

Closed BEENNath58 closed 1 year ago

BEENNath58 commented 1 year ago

One thing that Windows fails to do correctly is remove the border where it should. This problem doesn't happen always.

For example, in Star Wars Shadows of the Empire, the configuration window overlaps the main game window, and the main game window still has the border on the screen. I managed to utilise DDrawCompat 0.10 and the main game window now overlaps the config window correctly and hides the border.

In Messiah by Shiny Entertainment, I managed to use the Christmas 2K15 release of DDC and it removes the window correctly too (there is no multiple windows here).

So it seems to me both the problems were fixed since the very early days of DDC. Would it be possible by you to locate where I should look for the changes, since these things aren't included in many of the older wrappers than DDC

narzoul commented 1 year ago

I'm guessing it may have just been the exclusive fullscreen mode enabled by SetAppCompatData (same as the DXPrimaryEmulation -DisableMaxWindowedMode shim). I haven't done anything specific to remove window borders until the RemoveBorders setting was added recently, as far as I can remember.

BEENNath58 commented 1 year ago

I'm guessing it may have just been the exclusive fullscreen mode enabled by SetAppCompatData (same as the DXPrimaryEmulation -DisableMaxWindowedMode shim). I haven't done anything specific to remove window borders until the RemoveBorders setting was added recently, as far as I can remember.

Yup that was the setting I was looking for. I have been using the ForceSimpleWindow shim for a long time, but it was doing unnecessary changes in many cases and didn't fit perfectly.

Thanks