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

[Suggestion] Openplanet UI scaling slider #123

Closed
1basti1 opened this issue Jun 18, 2022 · 9 comments
Closed

[Suggestion] Openplanet UI scaling slider #123

1basti1 opened this issue Jun 18, 2022 · 9 comments
Labels
enhancement New feature or request external library Needs changes in an external library

Comments

@1basti1
Copy link

1basti1 commented Jun 18, 2022

Openplanets UI (+plugins) get very big with lower resolutions, while the game UI looks completely normal. A slider to scale the UI of Openplanet + Plugins would be a super nice feature.

@codecat
Copy link
Member

codecat commented Jun 18, 2022

Technically possible right now, but since fonts aren't rendered as vectors, this will make scaled-up fonts blurry (and scaled-down fonts pixelated). So I haven't implemented it yet.

Something like this pull request or this one would be very nice to have before this can be properly implemented.

@codecat codecat added enhancement New feature or request external library Needs changes in an external library labels Jun 18, 2022
@1basti1
Copy link
Author

1basti1 commented Jun 18, 2022

Sounds good. I wouldn't mind to test this right now. maybe the fonts wouldn't be too bad in my case. haha

But a option would be so nice.

@codecat
Copy link
Member

codecat commented Jun 18, 2022

You can try this out right now, although it's more of a debug feature:

Developer -> Debug -> GUI Demo -> Configuration -> Style -> Fonts -> "global scale"

image

@1basti1
Copy link
Author

1basti1 commented Jun 18, 2022

I tried it and I like it actually.

Dashboard doesn't scale, because I can scale it myself.
That's great on one hand, on the other, not so much, when I use the same device with sometimes different resolutions, I have to scale more things at once and I'm to lazy for that. haha. it's probably just me with this usecase.

@codecat
Copy link
Member

codecat commented Jun 18, 2022

Well, Openplanet could make use of Windows' current display scaling values too which might solve your use case as well.

This would also have other implications on certain plugins, for example Better Chat might react kinda weird to an increased global scale 🤔

@1basti1
Copy link
Author

1basti1 commented Jun 18, 2022

I don't know about that, my usecase is a steam deck with Linux as you might know from discord. 😅

I know what could maybe be cool.

When you implement global scaling, maybe give the option to save it, so users can quickly switch between different resolutions/scalings.

That got me thinking... maybe give users the option to save the current layout of all plugins onscreen (+scaling when implemented)

So than I could have maybe 2 (or more) saves for native resolution + arbitrary resolutions.

Just a thought 😅

@fentras
Copy link

fentras commented Jul 3, 2022

Another workaround would be to render whole ImGui at a lower resolution. It'll fix janky fonts but will make everything blurry.

1600x900 (native)

1600x900

960x540

960x540

@codecat
Copy link
Member

codecat commented Jul 3, 2022

Another option is to require a game restart to change the scaling, then all fonts loaded can receive a scale amount. That should probably have some reasonable limit though, like 200% maximum.

@codecat
Copy link
Member

codecat commented May 1, 2023

I have now implemented this (requiring game restarts) for the next update. Some plugins might need to update their code in order to display properly, which I hope many plugin devs will start doing over time. Here's a screenshot from the Discord thread where I gave developers a headsup about this upcoming feature:

image

@codecat codecat closed this as completed May 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request external library Needs changes in an external library
Projects
None yet
Development

No branches or pull requests

3 participants