Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unify config.ini and UIni.pas defaults. #917

Merged

Conversation

DeinAlptraum
Copy link
Contributor

Don't ship config.ini

Resolves #872

@DeinAlptraum
Copy link
Contributor Author

DeinAlptraum commented Oct 25, 2024

@barbeque-squared I went with your proposed defaults, and additionally:
Game.Players = 1 (likely irrelevant anyway)
Game.Sorting = Artist (this is what I assume the average user expects)
Game.Fullscreen = Off (no preference tbh)
Sound.PreviewVolume = 30% (all in favor of lower values, hope this is fine. I personally use 20%)
Record.Threshold = 10% (on my setup, I need 10% with 12dB mic boost to even get decent recognition, so I assume a lower value would be better)
Jukebox.SingLineColor = 47B3FF (that's the first one you proposed, rgb(71,179,255). imo the 2nd one is a bit too light)
PlayerColor: since 10 out of 12 players still follow a regular system, I decided to just list the exceptions separately, but it may make sense to remove this from the loop completely and list all of them explicitly once IMaxPlayerCount is reduced to 6...

@bohning
Copy link
Collaborator

bohning commented Oct 25, 2024

I'd vote for Game.Fullscreen = On if you have no preference.

@s09bQ5
Copy link
Collaborator

s09bQ5 commented Oct 25, 2024

I'd vote for Fullscreen = On only if it does not attempt to change the video mode. Usually the monitor/beamer is already using the native resolution, so any resolution change would be bad.

@DeinAlptraum
Copy link
Contributor Author

I checked the code, but tbh I don't really understand what the resolution/video mode stuff does.

Should we set this to Off just to be safe?

@barbeque-squared
Copy link
Member

Without having double-checked the code, iirc Borderless <something> is the one that will never touch your monitor resolution or refresh rate. I think Fullscreen is the only one that touches it. I have messed around with resolution and video stuff on my local builds, so I have some idea of what does what, but I'll try to look at this specifically (and the PR in general) later today or tomorrow.

I've been running USDX in Borderless <something> since forever, if you want to go fullscreen by default that's probably the one to go for.

@bohning
Copy link
Collaborator

bohning commented Oct 29, 2024

Same here, borderless is the way to go fullscreen without affecting video mode from my experience.

@basisbit
Copy link
Member

Borderless is the most commonly used fullscreen mode. Fullscreen is needed to make people happe who have very high or very wide screens, and want their own selected resolution and the rest of the screen to be borders, or who use unusual multi-monitor setups.

@DeinAlptraum
Copy link
Contributor Author

Changed the default to borderless

@barbeque-squared
Copy link
Member

Linux-wise (and probably Mac?) this PR is thumbs up!

I did see (from the code) that the Windows installer (and so possibly also the uninstaller/updater?) does something with config.ini (do a git grep config.ini and you'll find them easily enough) which I'm having a hard time to figure out if that needs changing or not.

(I'll retry the failed Windows build but my computer doesn't like locally-built installers at all)

@DeinAlptraum
Copy link
Contributor Author

Good point. I don't entirely understand what that section of the installer does either, but I checked that the installer works normally

@barbeque-squared
Copy link
Member

The CI build installer worked for me (it even has a little thing built in to it after installing where you can set the resolution/mode/sorting/etc -- which already has all the correct defaults) so at the very least, this PR doesn't appear to massively break the Windows installer either.

I'll let it open for another day or so in case anyone finds weirdness on Windows, otherwise I'll merge it tomorrow.

@basisbit
Copy link
Member

What is the reason for this PR in the first place? Why not ship with a config.ini file? I would consider it to be bad UX if the user first has to start the game once, just to be able to edit a config.ini file

@barbeque-squared
Copy link
Member

@basisbit you can still create a config file with only the parts you actually want to edit before the first run. the Windows installer even still creates one for you! All the other distributables (at least Windows portable, any Linux package) never shipped a config.ini in the first place, which is how pretty much every other (non-enterprise) software works? Anything meant for end users has to assume the end user will eventually delete/corrupt whatever config it shipped with, and deleting it shouldn't result in white text on white background.

If in the future we do want to ship a minimal config, it would be something that the CI generates, but that's only useful to consider if we actually get reports/questions about it. I'm pretty certain neither the Windows installer nor the Windows portable come with a songs folder and people are able to figure that out just fine.

@barbeque-squared barbeque-squared merged commit 25b57b3 into UltraStar-Deluxe:master Nov 1, 2024
5 checks passed
@DeinAlptraum DeinAlptraum deleted the config-default branch November 1, 2024 09:45
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.

included config.ini is different from auto-generated config.ini
5 participants