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

Options menu upgrade #130

Merged
merged 18 commits into from
Nov 3, 2023

Conversation

NancokPS2
Copy link
Contributor

@NancokPS2 NancokPS2 commented Oct 30, 2023

  • Input names no longer show "(Physical)"

  • The server no longer loads local settings (All server relevant settings should go in the ENV system)

  • Added ShaderMaterial-based class that automatically chooses a colorblindness shader based on settings

  • Added several options

    • Set shadow filtering and resolution quality
    • Set anti aliasing
    • Change tooltip delay
    • Change language (merely adds support for changing language should a user add their own, a disclaimer is included in the tooltip)
    • Set global illumination from certain, costly nodes to half resolution
    • Set maximum FPS and VSync
    • Enable or disable full screen
    • Hotkeys to hide or show the chat/GUI independently
    • Button to open the User Data folder
    • Support for custom translations
    • Colourblind filter option (no implementation yet)

I'm not that experienced with graphical options, so i am not sure if the tooltips for them are completely accurate.
Also some of them have no effect at the moment, since we don't actually use lighting nor 3D for much of anything.

Tested by entering the options menu in-game and playing with the settings. All of them do as they say and are saved locally.

(Crossed out items have been added)

Considerations for future PRs:

  • Mono/Stereo audio toggle or slider (why do games not have this option anymore?)
  • Texture/Decal/Projector filter default quality
  • Button to open the local save folder
  • Actual functionality for importing languages during run-time.
  • Audio output latency (lowering this can cause audio crackling and performance loss in slower hardware)
  • Video delay compensation (for people playing on high latency monitors, like a TV)
  • Renderer selection (this is already handled by Godot and there's little reason to change it, but could help with edge cases of incompatibility)
  • Max renderable objects/lights (only affects Compatibility mode)
  • Controller support

From Kashan's

  • Separate audio sliders for sound effects, music and dialogue (if there is any)
  • Subtitle options for opacity of text box or font
  • Colorblind/Accessibility options (longer term project/goal probably) (somewhat done)
  • Toggle Hud (screenshot mode)
  • Option to disable chat completely (multiplayer games and gamers...)
  • Toggle damage # pop ups (or some category of 'pop ups') (edited)
  • Cussing toggle (this is a family friendly minecraft server)

@NancokPS2 NancokPS2 marked this pull request as ready for review October 30, 2023 19:06
@NancokPS2 NancokPS2 marked this pull request as draft October 31, 2023 14:45
@NancokPS2 NancokPS2 marked this pull request as ready for review October 31, 2023 15:00
@jonathaneeckhout
Copy link
Owner

@NancokPS2 can you rebase?

Thx

@NancokPS2
Copy link
Contributor Author

@NancokPS2 can you rebase?

Thx

Done, there where two conflicts on a single file and that was that, some divine intervention right there.

@jonathaneeckhout
Copy link
Owner

Thanks for your PR again.

Issues:

  • when I launch the game, it is at full screen, when I open the game menu and open the options menu, the game's window size is shrunk. It seems to be because the fullscreen option is false

Question:

  • what does the tooltip delay do?

@NancokPS2
Copy link
Contributor Author

NancokPS2 commented Nov 2, 2023

Tooltip delay affects the time it takes for a tooltip to appear whenever you hover over a Control node (IF they have one set at all, most settings do)
However, it is currently impossible to affect it during runtime so the setting doesn't do anything (i removed it until Godot team blesses us with the option)

I fixed the oddities by having the settings no longer load with the menu and do so at game-start instead.

@jonathaneeckhout
Copy link
Owner

Tested it and works nice.

Could you change 1 more thing?

Can the full screen be true as default? This is the intended size the game should be played in.

If you fix this, I will merge it.

thx

@jonathaneeckhout
Copy link
Owner

Correcting myself:

Fullscreen should not be the default setting.

I've corrected the behavior so that at default if the fullscreen is not checked the window is not reloaded to windowed mode, which made the game flicker.

I also fixed a naming.

Will merge now

@jonathaneeckhout jonathaneeckhout merged commit be67eda into jonathaneeckhout:main Nov 3, 2023
3 checks passed
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.

2 participants