Skip to content

Conversation

@JaceCear
Copy link
Contributor

@JaceCear JaceCear commented Mar 3, 2025

Sometimes you want your game aspect ratio to be different from your monitor.
It was already possible to do in windowed-mode by resizing, but this enables it for fullscreen mode as well.

  • This will still need translations for any language that is not English or German.
  • "Portrait" aspect ratios lead to artifacts at the bottom of the screen while boosting. That is also the case in windowed mode.

@JaceCear JaceCear changed the title Add custom aspect ratios Add custom aspect ratios, fix German 'Vormat' typo. Mar 3, 2025
@DeaTh-G
Copy link
Contributor

DeaTh-G commented Mar 4, 2025

The change regarding aspect ratios is too large to be considered as part of a typo fix pull request. Could you separate these two topics into different PRs?

@JaceCear
Copy link
Contributor Author

JaceCear commented Mar 4, 2025

The change regarding aspect ratios is too large to be considered as part of a typo fix pull request. Could you separate these two topics into different PRs?

Sure, will do!
Just thought this would be more efficient! ^^

@JaceCear JaceCear changed the title Add custom aspect ratios, fix German 'Vormat' typo. Add custom aspect ratios Mar 4, 2025
@JaceCear JaceCear changed the title Add custom aspect ratios Options: Add custom aspect ratios Mar 4, 2025
@hyperbx
Copy link
Member

hyperbx commented Mar 7, 2025

I don't think this is something we should be exposing in the options menu, it seems a bit too advanced for that when the amount of people looking to input a custom aspect ratio is probably quite slim.

This could just be exposed in config.toml instead using a single float called CustomAspectRatio, which you'd set to the result of (width / height), for example:

AspectRatio = "Custom"
CustomAspectRatio = 1.777777777777778 # (16 / 9)

@JaceCear
Copy link
Contributor Author

JaceCear commented Mar 7, 2025

I don't think this is something we should be exposing in the options menu, it seems a bit too advanced for that when the amount of people looking to input a custom aspect ratio is probably quite slim.

This could just be exposed in config.toml instead using a single float called CustomAspectRatio, which you'd set to the result of (width / height), for example:

AspectRatio = "Custom"
CustomAspectRatio = 1.777777777777778 # (16 / 9)

Hmm, it's a bit inconvenient to only have it in a config file, I'd say.

Usage-wise I've seen myself edit it multiple times during single play sessions, and having to edit a config file by calculating a float is much more cumbersome than just quickly editing them in the menu.

People who have no use for it can just ignore the fields, right?

Jon from GVG had to use his VR Headset in his video to get a widescreen aspect ratio, a menu option would remove the need for his "hack".

@hyperbx
Copy link
Member

hyperbx commented Mar 7, 2025

Usage-wise I've seen myself edit it multiple times during single play sessions

For what reason do you need to change the aspect ratio multiple times like this?

People who have no use for it can just ignore the fields, right?

We've had internal discussions about this and didn't think it should be part of the menu itself for simplicity sake.

Dynamic aspect ratio is plenty enough for the vast majority of people, this is more of a power user setting.

Jon from GVG had to use his VR Headset in his video to get a widescreen aspect ratio, a menu option would remove the need for his "hack".

No, he used a virtual desktop with an ultrawide aspect ratio. It's less of a hack than it is a novelty, he's done this before with other games.

@blueskythlikesclouds
Copy link
Member

I agree that such a niche option does not need to be in the options menu, especially not in the front page where it would hide more important video options.

@DarioSamo
Copy link
Contributor

I maintain the philosophy that the UI shouldn't get more cumbersome to use to cover a very small percentage of the use cases that people want. The proposed UI design is not good. It's not easy to understand and it just looks very confusing to have three options entirely dedicated to the aspect ratio.

I've rarely seen requests for custom aspect ratios and having it as a configurable option in the toml would be preferrable. You don't want to expose things front and center that the vast majority of people won't need and make the process of using the UI more cumbersome for them.

@JaceCear
Copy link
Contributor Author

JaceCear commented Mar 7, 2025

Alright, I retreat! ^^

Should I try to add it in a way @hyperbx proposed it, or do you want to close to PR?

I feel like in the future it wouldn't hurt to have an "Advanced" graphics settings menu to expose "unexposed" settings for people who want to change them with having to go to a config.

For what reason do you need to change the aspect ratio multiple times like this?

Sometimes for improving framerate by choosing a wider aspect ratio, sometimes just wanting a portrait aspect-ratio instead of a langscape one, giving Daytime stages a different feel.

You don't want to expose things front and center that the vast majority of people won't need and make the process of using the UI more cumbersome for them.

I guess one way to get around that would be to disable the fields while non-custom ratios are set?

@DarioSamo
Copy link
Contributor

Should I try to add it in a way @hyperbx proposed it, or do you want to close to PR?

It'd be good to have it accessible from the configuration file for sure!

I feel like in the future it wouldn't hurt to have an "Advanced" graphics settings menu to expose "unexposed" settings for people who want to change them with having to go to a config.

We can expose certain tweaks and knobs like this in the F1 menu, like the FPS toggle that is already there.

I guess one way to get around that would be to disable the fields while non-custom ratios are set?

Sadly that'd still take up visual space when disabled. And making them show up only when the custom option is used would cause some awkward menu shifting that doesn't adhere to what the game usually does on these menus.

@JaceCear
Copy link
Contributor Author

JaceCear commented Mar 7, 2025

It'd be good to have it accessible from the configuration file for sure!

Alright, I will do that, then!

We can expose certain tweaks and knobs like this in the F1 menu, like the FPS toggle that is already there.

Yeah, that makes sense!

@JaceCear
Copy link
Contributor Author

JaceCear commented Mar 7, 2025

Applied the changes!

I don't really like that the game needs to be restarted for value changes to take effect, so in the future it'd be cool if the config file could be reloaded at runtime, when any changes were done to it, while you're still in the options menu. Or is there a function I can call once for the same effect?

@blueskythlikesclouds
Copy link
Member

By the way, this PR is currently on hold right now because it's a bit awkward that the user can switch to custom aspect ratio from the options menu, but you need to edit values in config.toml to configure it. This is weird UX.

A better option might be that the aspect ratio option in the options menu gets disabled entirely if a custom aspect ratio gets specified in the config.toml.

@JaceCear
Copy link
Contributor Author

JaceCear commented Apr 6, 2025

By the way, this PR is currently on hold right now because it's a bit awkward that the user can switch to custom aspect ratio from the options menu, but you need to edit values in config.toml to configure it. This is weird UX.

A better option might be that the aspect ratio option in the options menu gets disabled entirely if a custom aspect ratio gets specified in the config.toml.

I just did what was told me! ^^

One other idea I had was adding a slider with a 1.0x in the middle and the user could adjust that to their liking, either going landscape or wide(r) screen.
That slider could be disabled when other ratios are selected.

Though the best case would be an extra menu pop-up when selecting the Custom aspect ratio, I guess, and the slider being in there, instead of an extra row in the regular settings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants