group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
UserSettings.hpp File Reference
#include "InputBindings.hpp"
#include <string>
Include dependency graph for UserSettings.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  UserSettings
 Per-user gameplay settings loaded from SDL's pref-path TOML file. More...

Namespaces

namespace  user_settings
 User-settings persistence helpers.

Functions

std::string user_settings::getPath ()
 Return the full path to the per-user settings TOML file.
UserSettings user_settings::load (const std::string &path)
 Load settings from disk, falling back to defaults for missing or invalid values.
bool user_settings::save (const std::string &path, const UserSettings &settings)
 Save settings to disk.

Variables

constexpr float user_settings::kReferenceMouseDpi = 800.0f
 Reference mouse hardware used to map default sensitivity to cm/360.
constexpr float user_settings::kDefaultMouseCmPer360 = 30.0f
 Default mouse travel for one full turn at the reference DPI.
constexpr float user_settings::kPi = 3.14159265358979323846f
constexpr float user_settings::kDefaultMouseSensitivity = (2.0f * kPi) / ((kDefaultMouseCmPer360 / 2.54f) * kReferenceMouseDpi)
 Mouse-look sensitivity in radians per SDL relative mouse unit.
constexpr float user_settings::kMinMouseSensitivity = 0.0001f
 Settings-slider minimum. The maximum is mirrored so default sits centered.
constexpr float user_settings::kMaxMouseSensitivity = 2.0f * kDefaultMouseSensitivity - kMinMouseSensitivity
constexpr float user_settings::kMouseSensitivityDisplayScale = 1000.0f
 UI scale for displaying tiny rad/pixel sensitivity values legibly.