Skip to content

Latest commit

 

History

History
42 lines (31 loc) · 1.47 KB

options-window.md

File metadata and controls

42 lines (31 loc) · 1.47 KB

Options Window and Config

Behaviour changes that landed in PR #335 for the options window and the config.ini it writes to.

For the camera architecture see camera-system.md.


What changed

The options window is now the same window in every scene (login, character select, gameplay) - it shares one layout, one apply path, and one backing config object. There is no separate per-scene options dialog.

What was added on top of that:

  • Resolution and windowed/fullscreen toggle apply without restarting. Switch them at any time from the options window.
  • Volume and render-level sliders round to the nearest level instead of truncating, so the slider endpoints actually reach 0 (mute) and the configured maximum.
  • Resolution combo-box clicks no longer leak through to the checkboxes behind the dropdown.

What it stores in config.ini

Settings are written next to the executable as config.ini. The options window writes to these sections:

  • [Window] - width, height, windowed flag.
  • [Graphics] - render levels, vsync, fps limit.
  • [Audio] - volumes.
  • [Login]
  • [ConnectionSettings]
  • [Camera] - orbital wheel-zoom radius (Zoom). New in this PR, the only key the camera rework added.

Missing keys fall back to compile-time defaults from src/source/Data/GameConfig/GameConfigConstants.h. If config.ini doesn't exist, it's created the first time anything calls Save().