The details of the API are in the `/docs/specsSettings-API.md` file.
The enums do not list all available settings, more are to be added as
the settings API replaces inline QSettings calls.
* fixed Chaperone toggle, toggle state on launch
* made update rates based on variable frame rate assuming 90 default
* added overlay color back in
* fixed opacity value not synching
* updated to ovr 1.8.19
* fixed license issue
* rolled back ovr update
* fixed overlay toggle state, formatting, and clamped max opacity to .85%
AppVeyor automatically updated to LLVM 8 while everything else was on 7.
It is not possible to downgrade to LLVM 7 on AppVeyor, so we'll update
everything else to LLVM 8.
* Add checks for seated improve shutdown state
Seated mode chaperone update is still broken. Normal standing mode space motion needs testing on WMR and Rift
* Fix updating chaperone on room setup completion
* Implement seated universe recenter/offsets/motion
Addresses #145
* Add Option "Allow External App Chaperone Edits"
This option is added to the settings tab. It allows external apps to modify the chaperone but only if the current offset is 0,0,0 and rotation is 0. The option is disabled by default.
The `QMessageLogContext` is only filled out in debug builds. Release
builds will have null pointers in `file` and `line`. This causes any
error attempted to be logged to result in a null pointer dereference.
Since we never use debug builds anyway, simply removing the uses of
`file` and `line` makes sense.
Github issue
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/139
* Fix indentation in action manifest
* Rename action sets to drop unnecessary prefix notation
Since the variable is in the action_sets namespace it does not make
sense to prepend it with an identifier for it being constant, or a set.
* Rename input keys to drop prefix notation
The vars are in a namespace that only contains constant inputs, it
doesn't make sense to prepend it to every var.
* Rename actions to drop prefixes
It is implicit that actions are const values for sets, therefore the
prefix is not needed.
* Remove unneeded action set member func
* Move active action set in preparation for more action sets
* Move action strings above class
Class is not able to use variables in namespaces, which is stupid.
* Move sets into member variable
* Split music into separate action set
* Convert action_manifest.json to spaces only
* Refactor actions into separate action sets
* Rename main set to haptic
* Reorder action sets
The haptics and misc sets are misc bindings.
* format
* fixed manifest path issue
* Change path concat to use QDir
The old way was not platform independent.
* Move accessibility actions to motion set
* Remove "(Held)" from action name
Might be confusing for end users.
* Replace slash with platform independent separator
* Make paths output native paths
Them being in the overlay controller required them to be static, which
forces the compiler to give them a memory location at compile time. They
also don't really fit into the overlaycontroller.
Fixes
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/63
Removes the ability for end users to change logging settings. This was
deemed unnecessary because logging is a developer troubleshooting tool
and users being able to change it could almost only introduce problems.
People who want to change the logging settings can compile from source.
Since the OpenVR initialization code is no longer inside the
overlaycontroller there is no need for it to be available during object
construction. Therefore it doesn't make sense to have it be an object.
The shutdown call was completely removed because shutdowns are handled
by an OpenVR event that calls the relevant shutdown code. The destructor
for the old object was never called, removing it adds clarity to the
actual operation of the code and also removes unnecessary code.
Compare old and new pose via a relative quaternion rather than relative yaw, then calculate the resulting yaw-difference from the quaternion in one go.