Files
OpenVR-AdvancedSettings-frame/src/settings/settings.h
T

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