115 lines
3.0 KiB
C++
115 lines
3.0 KiB
C++
#pragma once
|
|
#include <string>
|
|
|
|
namespace settings
|
|
{
|
|
enum class BoolSetting
|
|
{
|
|
PLAYSPACE_lockXToggle,
|
|
PLAYSPACE_lockYToggle,
|
|
PLAYSPACE_lockZToggle,
|
|
PLAYSPACE_momentumSave,
|
|
PLAYSPACE_turnBindLeft,
|
|
PLAYSPACE_turnBindRight,
|
|
PLAYSPACE_turnBounds,
|
|
PLAYSPACE_moveShortcutLeft,
|
|
PLAYSPACE_moveShortcutRight,
|
|
PLAYSPACE_dragBounds,
|
|
PLAYSPACE_allowExternalEdits,
|
|
PLAYSPACE_oldStyleMotion,
|
|
PLAYSPACE_universeCenteredRotation,
|
|
PLAYSPACE_enableSeatedMotion,
|
|
PLAYSPACE_adjustChaperone,
|
|
PLAYSPACE_showLogMatricesButton,
|
|
PLAYSPACE_simpleRecenter,
|
|
|
|
APPLICATION_disableVersionCheck,
|
|
APPLICATION_previousShutdownSafe,
|
|
APPLICATION_vsyncDisabled,
|
|
APPLICATION_crashRecoveryDisabled,
|
|
APPLICATION_enableDebug,
|
|
|
|
AUDIO_micProximitySensorCanMute,
|
|
AUDIO_micReversePtt,
|
|
|
|
VIDEO_brightnessEnabled,
|
|
VIDEO_isOverlayMethodActive,
|
|
VIDEO_colorOverlayEnabled,
|
|
|
|
CHAPERONE_disableChaperone,
|
|
// LAST_ENUMERATOR must always be set to the last value
|
|
LAST_ENUMERATOR = CHAPERONE_disableChaperone,
|
|
};
|
|
|
|
enum class DoubleSetting
|
|
{
|
|
PLAYSPACE_heightToggleOffset,
|
|
PLAYSPACE_gravityStrength,
|
|
PLAYSPACE_flingStrength,
|
|
|
|
UTILITY_desktopWidth,
|
|
|
|
VIDEO_brightnessOpacityValue,
|
|
VIDEO_brightnessValue,
|
|
VIDEO_colorOverlayOpacity,
|
|
VIDEO_colorRed,
|
|
VIDEO_colorGreen,
|
|
VIDEO_colorBlue,
|
|
VIDEO_colorRedNew,
|
|
VIDEO_colorGreenNew,
|
|
VIDEO_colorBlueNew,
|
|
|
|
CHAPERONE_switchToBeginnerDistance,
|
|
CHAPERONE_hapticFeedbackDistance,
|
|
CHAPERONE_alarmSoundDistance,
|
|
CHAPERONE_showDashboardDistance,
|
|
CHAPERONE_fadeDistanceRemembered,
|
|
// LAST_ENUMERATOR must always be set to the last value
|
|
LAST_ENUMERATOR = CHAPERONE_fadeDistanceRemembered,
|
|
};
|
|
|
|
enum class StringSetting
|
|
{
|
|
KEYBOARDSHORTCUT_keyboardOne,
|
|
KEYBOARDSHORTCUT_keyboardTwo,
|
|
KEYBOARDSHORTCUT_keyboardThree,
|
|
// LAST_ENUMERATOR must always be set to the last value
|
|
LAST_ENUMERATOR = KEYBOARDSHORTCUT_keyboardThree,
|
|
};
|
|
|
|
enum class IntSetting
|
|
{
|
|
PLAYSPACE_snapTurnAngle,
|
|
PLAYSPACE_smoothTurnRate,
|
|
PLAYSPACE_dragComfortFactor,
|
|
PLAYSPACE_turnComfortFactor,
|
|
|
|
APPLICATION_debugState,
|
|
APPLICATION_customTickRateMs,
|
|
|
|
UTILITY_alarmHour,
|
|
UTILITY_alarmMinute,
|
|
// LAST_ENUMERATOR must always be set to the last value
|
|
LAST_ENUMERATOR = UTILITY_alarmMinute,
|
|
};
|
|
|
|
std::string initializeAndGetSettingsPath();
|
|
|
|
void saveChangedSettings();
|
|
|
|
void saveAllSettings();
|
|
|
|
[[nodiscard]] bool getSetting( const BoolSetting setting );
|
|
void setSetting( const BoolSetting setting, const bool value );
|
|
|
|
[[nodiscard]] double getSetting( const DoubleSetting setting );
|
|
void setSetting( const DoubleSetting setting, const double value );
|
|
|
|
[[nodiscard]] int getSetting( const IntSetting setting );
|
|
void setSetting( const IntSetting setting, const int value );
|
|
|
|
[[nodiscard]] std::string getSetting( const StringSetting setting );
|
|
void setSetting( const StringSetting setting, const std::string value );
|
|
|
|
} // namespace settings
|