Commit Graph

3027 Commits

Author SHA1 Message Date
Bjorn eb97230c0d
Merge pull request #281 from alloverse/fix-pixeldensity
fix crash in lovrGraphicsGetPixelDensity
2020-08-05 11:11:27 -06:00
Nevyn Bengtsson b938a839e0 fix crash in lovrGraphicsGetPixelDensity
Neither Quest nor Pico check for null on its out-params.
Better to send in dummy params to avoid nulls.
2020-08-05 14:48:58 +02:00
bjorn e0decf5327 Fix ModelData pointer alignment;
ModelData manages a single allocation and creates pointers into
that allocation.  These pointers were tightly packed, creating
alignment issues which triggered undefined behavior.  Now, the
pointers are all aligned to 8 byte boundaries.
2020-08-04 12:28:21 -06:00
bjorn 83ff4783c2 ALIGN macro aligns up instead of down;
So you don't have to add (n - 1).  Hopefully this turns out to be
the common case.
2020-08-04 12:23:45 -06:00
bjorn 86fee211f1 Default errhand implementation handles restart event; 2020-08-04 12:21:38 -06:00
bjorn f1b447662d Fix lovr.headset.getDriver when passed a Device; 2020-08-04 12:19:22 -06:00
Bjorn 5116ae75f2
Merge pull request #280 from alloverse/fix-pico
Fix Pico build
2020-08-04 10:44:47 -06:00
Nevyn Bengtsson 4dcca11a78 fix case problem in VrApi include path
in the sdk, 'Include' folder is capital I. With lowercase in
cmake, build fails on case sensitive file systems.
2020-08-04 14:59:23 +02:00
Nevyn Bengtsson 27384ac62c Fix Pico build
* lovrPlatformGetBundlePath was missing the root argument
* ANDROID_SDK can't be assumed to be the parent of the ndk folder, in case it's a side-by-side installation of the NDK. Instead, ANDROID_SDK should be provided with -D
* One more thing we could mention in the docs that I ran into: Installing java with apt gave me an incompatible version. It worked better to just -DJAVA_HOME= to the java that comes with Android studio (/snap/android-studio/91/android-studio/jre on ubuntu).
2020-08-04 10:42:04 +02:00
bjorn ee95e6c6bd Refactor OBJ model loading;
It no longer uses sscanf and no longer overflows its buffer.
2020-08-04 00:12:58 -06:00
bjorn b45baacb66 Handle active attributes that don't have a location;
There are some attributes that don't have a location (gl_InstanceID
is being reported for some reason).  Their location is -1 and this
causes a left shift of a negative value which is undefined.
2020-07-30 02:46:17 -06:00
bjorn 4160743b77 Fix desktop game packaging issue;
Accidentally hardcoded it to "assets" when updating Android.
2020-07-29 16:30:14 -06:00
bjorn 826fc098bc Set identity to empty string if save mount fails; 2020-07-29 16:27:17 -06:00
Bjorn 617d508d68
Merge pull request #269 from jmiskovic/savemount
Config parameter for save directory precedence
2020-07-29 16:26:07 -06:00
bjorn ae2e14f98f rm save directory mount failure fix;
This is a temporary revert to make a merge easier.
2020-07-29 16:25:29 -06:00
bjorn 99fdcc8287 Fix calling convention of GL debug callback; 2020-07-29 14:56:46 -06:00
bjorn d4f88f3d8d lovr.log: strip trailing newline in default implementation;
GL debug messages sometimes have newlines...
2020-07-29 14:24:57 -06:00
bjorn f0a5a8838b OpenGL debug messages and contexts;
The new t.graphics.debug flag controls the following:

- If enabled, a debug context is created
- If disabled, a no-error context is created
- If enabled, GL debug messages are forwarded to lovr.log
2020-07-28 16:12:30 -06:00
bjorn e3aa4c7d5d t.graphics.debug flag; 2020-07-28 16:12:15 -06:00
bjorn 5a17b48e4e Add GL_KHR_debug; 2020-07-28 16:08:37 -06:00
bjorn b024e71a98 Fix luax_vlog stack balancing; 2020-07-28 15:31:02 -06:00
bjorn c423b1292a Fix save directory to use system path separator; 2020-07-27 18:15:16 -06:00
bjorn 91fb120dcc tup: pico rules; 2020-07-27 17:20:58 -06:00
bjorn 55f66f217e Adjust pico SDK version to 27; 2020-07-27 17:09:16 -06:00
bjorn ac58a1aeba Pico: Draw the rest of the owl;
Add entrypoints, headset backend code, fill in the Activity, and
add various special cases to account for the asynchronous render loop,
lack of sRGB support, and OpenGL state resets.
2020-07-27 14:56:21 -06:00
bjorn 58ab637465 Custom os implementation for pico; 2020-07-27 14:28:40 -06:00
bjorn b0b9e38da6 Pico: add pico jar and missing DRIVER_PICO enumerant; 2020-07-27 14:25:57 -06:00
bjorn a59c7fee40 Fix AndroidManifest.xml path;
The file has to literally be named AndroidManifest.xml so it has
to be copied to that name.
2020-07-27 14:18:28 -06:00
bjorn e7d4e6cf7b Start pico headset backend; 2020-07-27 13:58:52 -06:00
bjorn 35a4c062c3 vrapi gitignore case sensitivity; 2020-07-27 13:48:06 -06:00
bjorn d25e20fb9d mv AndroidManifest.xml AndroidManifest_vrapi.xml; 2020-07-27 13:47:32 -06:00
bjorn 92bd4f60cf CMake: Clean up more android files; 2020-07-27 13:16:22 -06:00
bjorn dc2774f136 CMake: Make vrapi an imported target; 2020-07-27 13:16:07 -06:00
bjorn 87b979f51c mv Activity.java Activity_vrapi.java; 2020-07-27 12:50:27 -06:00
bjorn 4a7557b0d1 Clean up Android CMake stuff; 2020-07-27 12:48:01 -06:00
bjorn 066a8a3795 opps; 2020-07-27 11:28:35 -06:00
bjorn 472c59bc7b Fix windows build; 2020-07-19 17:57:05 -06:00
Bjorn 2ed8c8953f
Merge pull request #276 from EliasFleckenstein03/master
Fixed errors & warnings when compiling on linux
2020-07-11 11:14:26 -07:00
Elias Fleckenstein 7860322af9
Reverted size_t in ine 104 back to ssize_T 2020-07-11 15:32:15 +02:00
Elias Fleckenstein ea9fadc1ad
Fixed errors & warnings when compiling on linux
I added header files with #include to prevent the implicit declaration warnings and fixed a typo in function size_t lovrPlatformGetExecutablePath(char* buffer, size_t size).
2020-07-10 16:32:45 +02:00
bjorn 6eab6d2a40 tup: rm manual GL flavor config; 2020-07-06 20:34:53 -06:00
bjorn b9d6d7b70c tup: rm core/gpu settings; 2020-07-06 20:31:38 -06:00
bjorn 3139730d8d tup: Allow custom CMake build folder; 2020-07-06 20:22:57 -06:00
bjorn a10363d21b tup.config: Document Android settings; 2020-07-06 20:21:42 -06:00
bjorn 9abed055d8 lovr.log;
lovr.log is a new callback that is invoked whenever LÖVR wants to
send the project a message.  For example, this could be a performance
warning from the graphics module, an error message from one of the
headset backends, or an API deprecation notice.

The callback's signature is (message, level, tag).  The message is a
string containing the message to log, level is a string that is currently
one of "debug", "info", "warn", "error", and tag is an optional string
that is used to indicate the source of the message for grouping purposes.

The default implementation of the callback just prints the message,
but the callback can be overridden to do things like filter messages,
write them to a file, or even render them in VR.  Projects can also
invoke the callback directly to log their own messages.
2020-07-06 16:20:55 -06:00
bjorn 8b8681ad2f rm core/hash; 2020-07-06 16:01:31 -06:00
bjorn d045929065 ShaderBlock:getShaderCode: add namespace support; 2020-07-04 17:50:00 -06:00
bjorn 29f8365eed Clean up os_android and fix event polling issues; 2020-07-03 20:17:39 -06:00
bjorn eb008935e8 vrapi: wasPressed/wasReleased; 2020-07-03 18:12:14 -06:00
bjorn 59a1c14c04 rm oculus_didChange; 2020-07-03 17:59:18 -06:00