Commit Graph
291 Commits
Author SHA1 Message Date
Vasily b7ff972997 Update desktop overlay waiting logic
The old version waited for a set amount of time (2 seconds) before
checking and then exiting. The new logic checks every second for up to 7
seconds. This should deal with variances in startup time across
machines. On my machine the desktop overlay seems to be initialized
after 2-3 seconds.
2019-03-10 23:12:26 +01:00
Vasily 0bb22090ba Replace easylogging parsing from string to explicit calls
This makes sure that there are no typos in the string. And prevents the
few bytes of string from being included in the final binary.
2019-03-10 23:12:26 +01:00
Vasily ef223b90a1 Remove end user changing logging settings
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.
2019-03-10 23:12:26 +01:00
Vasily fd4ab3b0e5 Remove old comments 2019-03-10 23:12:26 +01:00
Vasily 09251b04aa Move openvr_into openvr folder 2019-03-10 23:12:26 +01:00
Vasily 4a108f319a Remove old comment 2019-03-10 23:12:26 +01:00
Vasily 9f85af81d1 Save desktop width setting
The 2 seconds is arbitrarily chosen. The problem seems to be that
Valve's own overlays are not being initialized before custom overlays,
leading to the Desktop overlay sometimes not being present when our
overlay initializes.

The second if statement inside the first one checking a second time is
definitely a little disgusting, but for now it gets the job done.

The 4.0 default was arbitrarily chosen by whoever decided to initialize
the variable in the class.
2019-03-10 23:12:26 +01:00
Vasily 1d103a5265 Move desktop overlay set up into separate function 2019-03-10 23:12:26 +01:00
Vasily 293ca21af5 Convert openvr_init from class to function
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.
2019-03-10 23:12:26 +01:00
Vasily 37e0366e9d Move OpenVR init function out of Overlaycontroller
This prevents the issue of OpenVR not being initialized in constructors
of other objects, and there's really no reason not to do it.
2019-03-10 23:12:26 +01:00
Vasily 9f24099a93 Update documentation for new command line arguments 2019-03-10 23:12:26 +01:00
Vasily 45bb199a0d Replace arg parsing function with Qt built ins
This automatically provides version and help functions, and offloads the
arg parsing to a third party lib.
2019-03-10 23:12:26 +01:00
Vasily 5d2901be33 Remove option forcing bindings to show up in SteamVR
Overlay applications show up in the bindings menu after SteamVR beta
1.3.1, making these features unnecessary.
2019-03-10 23:12:26 +01:00
Vasily 84be2090c8 Move setup code in main to separate file
This makes it easier to find the entry point for the program and also
moves a lot of implementation out of the main.cpp file.
2019-03-10 23:12:26 +01:00
Kung-vr 282827d1ff Resubmit for appveyor 2019-03-10 00:16:00 +09:00
Kung-vr 566762ebce Improve clampVelocity parameter readability 2019-03-08 20:18:18 +09:00
Kung-vr 40b283e313 Add bindable axis lock actions 2019-03-07 17:19:17 +09:00
Kung-vr a00d2717e8 Implemented gravity 2019-03-06 20:37:14 +09:00
Kung-vr 884343783c Move quaternion functions to quaternion namespace 2019-03-04 01:39:33 +09:00
Kung-vr db54adaa4d Make drag hand swap action functional 2019-03-04 00:56:17 +09:00
Kung-vr f233a537a5 Make snap turn and reset offset binds functional 2019-03-03 20:41:29 +09:00
Kung-vr c0270fc965 temp change to avoid compiler warnings 2019-03-03 02:27:36 +09:00
Kung-vr f4373f4a99 Fix some implicit conversion warnings 2019-03-03 02:14:44 +09:00
Kung-vr 1482d224ad Slight formatting change for clang 2019-03-03 01:19:24 +09:00
Kung-vr 0f2f956b2e Manual Merge Cleanup 2019-03-03 01:02:53 +09:00
Kung-vr 3792488372 Merge branch 'master' into alpha-kung 2019-03-03 00:27:35 +09:00
Kung-vr 53d5431da7 Add actions and placeholder functions to movecentertab 2019-03-02 23:54:27 +09:00
Vasily 38a2765b10 Add proper exit to shutdown code
The old shutdown code did not correctly exit but instead just
continuously called the QApplication notify function until it
SEGFAULTed. This led to crashes whenever SteamVR was shut down. Users
with Windows Error Reporting turned on would get a 100+ MB crashdump
file along with increased shutdown time for SteamVR.

For clarity the shutdown functions should probably be collected in a
single function.
2019-03-02 09:45:33 +01:00
Vasily 4814c4686f Add brackets to optimize statement
Not having brackets forces the compiler to see the statement as (xdelta
* 360.0) * 8.0, which requires two `mulsd` operations. Adding the
brackets only requires one.

More details here
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/pull/87
2019-02-21 18:48:53 +01:00
Vasily 90ad7e7270 Remove extra parens 2019-02-21 18:48:53 +01:00
Vasily 81ae0efd1c Add -Wmissing-variable-declarations to all clang/gcc compilers 2019-02-21 18:48:53 +01:00
Vasily 9d46358309 Add -Wzero-as-null-pointer-constant and fix occurences 2019-02-21 18:48:53 +01:00
Vasily 896559cc20 Add -Wextra-semi and fix occurences 2019-02-21 18:48:53 +01:00
Vasily dacfe05425 Fix -Wconversion 2019-02-21 18:48:53 +01:00
Vasily cff2fc7eba Fix more -Wfloat-conversion warnings 2019-02-21 18:48:53 +01:00
Vasily b861ae0075 Fix -Wfloat-conversion warnings 2019-02-21 18:48:53 +01:00
Vasily cfefec59e3 Fix -Wsign-conversion warnings 2019-02-21 18:48:53 +01:00
Vasily bc8ab72363 Fix clang -Wdouble-promotion cast 2019-02-21 18:48:53 +01:00
Vasily 60b9f71b9a Fix gcc -Wdouble-promotion warnings
For some reason GCC uses the float version of sqrt even though all
arguments and results are floats.
2019-02-21 18:48:53 +01:00
Vasily edf14b6bf9 Fix clang -Wdouble-promotion
gcc instance failed before compiling.
2019-02-21 18:48:53 +01:00
Vasily 4d06360c92 Fix gcc and clang -Wdouble-promotion 2019-02-21 18:48:53 +01:00
Vasily 85fbbbbd42 Gcc and clang fix for -Wdouble-promotion 2019-02-21 18:48:53 +01:00
Vasily 8444a4972b Attempt different fix for clang -Wdouble-promotion 2019-02-21 18:48:53 +01:00
Vasily 400654898b Fix gcc -Wdouble-promotion issues 2019-02-21 18:48:53 +01:00
Vasily 88dad1087f Fix clang -Wdouble-promotion issues 2019-02-21 18:48:53 +01:00
Vasily ec014a1e74 Add -Wdouble-promotion switch to clang/gcc compilers
It introduces a lot of ugly casts. Long term the floats should probably
be changed to doubles everywhere since we're only compiling for 64 bit
x86.
2019-02-21 18:48:53 +01:00
Vasily 34204d2441 Add -Wnon-virtual-dtor and resolve issues
The IPolicyConfig file is a third party file and since it describes a
third party API we can't make changes to it. Adding it via the system
includes disables warnings on most compilers.
2019-02-21 18:48:53 +01:00
Vasily 7234e2ba6c Convert Linux only cast from old style 2019-02-21 18:48:53 +01:00
Vitaly acb666a142 Remove old style casts and enable warnings for them 2019-02-21 18:48:53 +01:00
Vasily 81af2b9c72 Add -Wshadow and solve warnings 2019-02-21 18:48:53 +01:00