Can we please use symbolic constants for window style?
I forgot to do that :/
Why are we bothering with WS_VISIBLE in the tests? It can't prove anything since we strip it out anyway when checking. (I'm not sure why we do that, but.) This also makes the tests confusing to read...
I don't think we care about WS_VISIBLE, I just picked the style used by the game without paying particular attention to it.
The style management bothers me, because it doesn't seem very declarative. We believe the style the application sets here is the one they want to restore, except we don't believe it about WS_POPUP | WS_SYSMENU? Why not?
This is about the implementation patch, right? The idea behind masking those style flags is to make sure we don't introduce unintended window style changes by picking up the flags we override in wined3d_swapchain_state_setup_fullscreen() -> fullscreen_style() (e.g. if the application didn't touch style). I don't know that's any better than just saving the current state as is. I'll check if it matters for the game, but I suspect the answer is no. The game didn't seem to be picky about window states, but it does expect to keep the window position it set while still in fullscreen.
I guess a possible idea would be to flag window style (or even size) changes in our wndproc and only update the relevant saved window state. Not sure if that would be a change in the right direction though.