Commit Graph

113 Commits

Author SHA1 Message Date
bjorn 4a47afca38 Organize api folder; 2019-05-19 00:31:42 -07:00
bjorn 7c2a119324 SteamVR Input 2019-05-12 22:23:28 -07:00
bjorn db3c3dbb1e Fix lovr.headset.hands; 2019-05-12 22:23:28 -07:00
bjorn 6ff35420bd More leap fixes;
Also reduce branching in headset accessors.
2019-05-12 22:23:28 -07:00
bjorn 2ecae65925 trackpad -> touchpad;
Sorry
2019-05-12 22:23:02 -07:00
bjorn 57321db2cd lovr.headset.getDriver accepts devices; 2019-05-12 22:23:02 -07:00
bjorn 5413f6a427 Device iterators; 2019-05-12 22:23:02 -07:00
bjorn 7807b1abd7 lovr.headset.getAcceleration, getAngularAcceleration;
Add missing getBonePose impls.

Refactor some ovr stuff.
2019-05-12 22:23:02 -07:00
bjorn b6e1e5e3b0 lovr.headset.getBonePose; Device shorthands; 2019-05-12 22:23:02 -07:00
bjorn 05f4ba7342 Change everything;
Use enums because they make things easier.
2019-05-12 22:23:02 -07:00
bjorn 801f997b0a Use vectors for headset pose accessors; 2019-05-12 22:22:29 -07:00
bjorn 344edd8c30 Add missing OpenXR string constant; 2019-05-12 22:22:29 -07:00
bjorn e22d98e09e Finish Leap backend; 2019-05-12 22:22:29 -07:00
bjorn 5ff49e73c2 Leap WIP; 2019-05-12 22:22:29 -07:00
bjorn 400598735c rm isTracked for now; 2019-05-12 22:22:29 -07:00
bjorn df5de9a35e Use strings for paths;
It's probably slower, but it's way less complicated, so it seems like
a win for now.  Can implement compile-time hashing, tries etc. later
if it's identified as a performance issue for a real person.

Also a bunch of cleanup in openvr.c and oculus.c.
2019-05-12 22:22:29 -07:00
bjorn 45931d005a lovr.headset.isTracked; 2019-05-12 22:22:29 -07:00
bjorn bb06b211cd Add missing getDirection binding; 2019-05-12 22:22:29 -07:00
bjorn 5c6163580b rm unused headset.h; 2019-05-12 22:22:29 -07:00
bjorn d8581106d4 Support Vive trackers again;
/trackers/1
2019-05-12 22:22:29 -07:00
bjorn 85d461e71c Fixup lovr.headset.getName; 2019-05-12 22:22:29 -07:00
bjorn 50e77fc023 Combine getVelocity and getAngularVelocity impls; 2019-05-12 22:22:29 -07:00
bjorn a9ef3656a1 lovr.headset.getDirection; 2019-05-12 22:22:29 -07:00
bjorn 965f39f834 Do less work in lovr.headset.getPosition/getOrientation; 2019-05-12 22:22:29 -07:00
bjorn 9a8b119a81 Add missing enum; 2019-05-12 22:22:29 -07:00
bjorn 77f848ea8f Update oculus backend; 2019-05-12 22:22:29 -07:00
bjorn f5b976cfae Actually read paths in API; 2019-05-12 22:22:29 -07:00
bjorn e406678b1c rm luax_pushpath; 2019-05-12 22:22:29 -07:00
bjorn 2584809c23 Reorganize path enum; 2019-05-12 22:22:29 -07:00
bjorn 4edb8de0b0 Shorten path enum prefix; 2019-05-12 22:22:29 -07:00
bjorn 86537141ac Add eye path; 2019-05-12 22:22:29 -07:00
bjorn b42c3ffc0e Rename hands to hand; 2019-05-12 22:22:29 -07:00
bjorn 60d2111937 Add proximity to Subpaths; 2019-05-12 22:22:29 -07:00
bjorn b0067233f7 getType -> getName; 2019-05-12 22:22:29 -07:00
bjorn fd985c95ff rm isMounted; 2019-05-12 22:22:29 -07:00
bjorn da6fd4d07c Remove Controllers; 2019-05-12 22:22:29 -07:00
bjorn cb0a40a4b6 lovr.headset.isDown; lovr.headset.isTouched; 2019-05-12 22:21:06 -07:00
bjorn 45757f2fa3 Fixes; 2019-05-12 22:21:06 -07:00
bjorn b95280006a lovr.headset.newModel; 2019-05-12 22:21:06 -07:00
bjorn cb79973b98 lovr.headset.vibrate;
Signature changed to take strength, duration, and frequency.  All
are optional.
2019-05-12 22:21:06 -07:00
bjorn 36e4529dca lovr.headset.getAxis;
Takes a path and returns 1-3 float values representing the components
of the axis at the path.  The "touchx" and "touchy" axes are now just
"touchpad".
2019-05-12 22:21:06 -07:00
bjorn 5ab8904809 Controller polyfill; rm Controller pose functions; OpenVR paths; 2019-05-12 22:21:06 -07:00
bjorn f87b4e6a25 Read paths; Desktop driver uses paths; 2019-05-12 22:21:06 -07:00
bjorn 48cf7e1874 Start paths; 2019-05-12 22:21:06 -07:00
bjorn 8208238df7 Support multiple tracking drivers;
Now the lovr.headset module initializes one display driver (the
first one in the list) and multiple tracking drivers.  Only drivers
that implement 'renderTo' will be considered for display driver.

Tracking drivers are stored in a linked list, and retrieving pose
information involves trying all of the tracking drivers until the
pose is found.
2019-05-12 22:21:06 -07:00
bjorn 196b4ed010 Rename math to maf;
It's funnier and more compatible with some compiler setups,
since it won't get confused with the system <math.h>.
2019-04-20 11:39:20 -07:00
bjorn 44be3608a7 lovr.headset.getDirection; Controller:getDirection; 2019-04-12 15:08:45 -07:00
bjorn ae470d8804 Make registertype/extend type a macro;
Just a nice-to-have.
2019-04-05 03:48:36 -07:00
bjorn 85c51399a6 Fix MSVC warnings; 2019-03-17 00:58:13 -07:00
bjorn 569c9f7a11 Refactor asynchronous headset render errors;
It's now a more general error stored in the registry instead of
in a global variable.  There are more helper functions.
2019-03-06 23:17:29 -08:00