andrei-drexler / ironwail

High-performance QuakeSpasm fork
GNU General Public License v2.0
489 stars 43 forks source link

Add desktop-fullscreen option and optionally decouple aspect ratio from window resolution. #204

Open KurtLoeffler opened 1 year ago

KurtLoeffler commented 1 year ago

This pull request introduces two improvements to the Video Options menu of Ironwail:

  1. Desktop Fullscreen Option:

    • Previously, running Ironwail in desktop fullscreen mode required manually setting a cvar.
    • This update adds a user-friendly option in the Video Options menu to enable desktop fullscreen mode.
  2. Decoupling Aspect Ratio from Window Resolution:

    • Before this update, the window/fullscreen size always dictated the aspect ratio that the game was rendered in.
    • This update decouples the aspect ratio from the window resolution, allowing users to choose a maximum aspect ratio regardless of their display's aspect ratio.
    • A new cvar, vid_maxaspect, has been added, with a default value of 0 (auto, match window/fullscreen aspect ratio).

ironwail_s0PXtGOBr3

KurtLoeffler commented 9 months ago

I realize now that the desktop fullscreen feature may not be as important as I originally thought for these reasons:

There are still advantages of the implementation in this pull request though:

If it is preferable to remove the desktop fullscreen part of this pull request and just keep the aspect ratio changes, I can do that.

Controlling aspect ratio independently of fullscreen resolution is desirable because on ultrawide monitors the UI stretches out to the edges and becomes hard to see. You can of course use an exclusive fullscreen mode with a specific resolution at the aspect ratio you desire, but this comes a lot of problems like slow alt+tabbing and possibly messing up other application window positions and sizes in Windows.