danoon2 / Boxedwine

Emulator that can run 32-bit Windows programs/games on multiple platforms via Wine
GNU General Public License v2.0
811 stars 65 forks source link

scale only apply to the initial window #54

Open mkende opened 2 years ago

mkende commented 2 years ago

I’m trying BoxedWine with a game which displays with a pretty small resolution, so I start it with -scale 200 -scale_quality 2. The splash screen of the game is indeed twice its normal size, but after that the BoxedWine window is reside a couple of times during the initialization of the game and, when the game finally starts, it is not scaled.

I have tried using the -showWindowImmediately argument, but it is not recognised by BoxedWine version 20.1.2 that is currently available for download.

danoon2 commented 2 years ago

I should document that better. scale only work with GDI rendering. GDI rendering is used for everything other than DirectX/OpenGL. If your game is DirectDraw, you can tell Wine to output DirectDraw using GDI instead of OpenGL. In the Boxedwine UI this is down with the "DD GDI Renderer" checkbox for the game in the "Containers" tab. This can not be done from the command line, but you could launch regedit from the command line and manually create the correct registry key. If your game is Direct3D or OpenGL, scaling won't work.

Folder

HKEY_CURRENT_USER\Software\Wine\Direct3D

add string key

DirectDrawRenderer

and set the value to

gdi

mkende commented 2 years ago

Thanks for the explanation, I had tried to set the registry key but had set the renderer one and not DirectDrawRenderer .I had not noticed that it was not supported by older Wine.

Any chance that scaling can be made to work with the OpenGL renderer (or maybe the future Vulkan renderer)? In addition to the limitation that you mention, I have noticed that colors work badly with gdi (I have several games where the colors are inverted when using the gdi renderer and -bpp 8 which is sometime required to start them).

danoon2 commented 2 years ago

@mkende Which version of Wine are you using? I noticed starting around Wine 5.0 8-bit games started to work a lot better.

I would like to scale OpenGL, but I never figured out how to do it.

mkende commented 2 years ago

This inverted coIor issue happened with Wine 5.0.

danoon2 commented 2 years ago

What game is it? Do you know if this issue happen with Wine on Linux?

mkende commented 2 years ago

I’ve seen that with a couple of games, one of them was Hover!. I haven’t been able to reproduce the problem on Linux, but also there is no easy way there to set the screen to 256 colors which triggered this on Windows.