Commit graph

388 commits

Author SHA1 Message Date
Simon
52799aa99d Squashed commit of the following:
commit 0adeb4ba3b
Merge: 7feea565 d8653ad7
Author: Simon <simonbrown77@googlemail.com>
Date:   Sat May 7 14:32:21 2022 +0100

    Merge branch 'OpenXR' of https://github.com/DrBeef/ioq3quest into OpenXR

commit 7feea56514
Author: Simon <simonbrown77@googlemail.com>
Date:   Sat May 7 14:32:14 2022 +0100

    Update Version Number

commit d8653ad70e
Merge: 79983b2b 7e6aa6da
Author: Simon <simonbrown77@googlemail.com>
Date:   Sat May 7 14:31:45 2022 +0100

    Merge pull request #76 from lvonasek/OpenXR

    OpenXR delayed controller pose fixed

commit 79983b2bc5
Merge: 325641f9 7f89d6d1
Author: Simon <simonbrown77@googlemail.com>
Date:   Sat May 7 14:31:31 2022 +0100

    Merge pull request #77 from petr666/OpenXR

    Update gamma values to better suit OpenXR build

commit 7f89d6d19b
Author: Petr Bartos <petr.bartos@plus4u.net>
Date:   Sat May 7 13:56:03 2022 +0200

    Update gamma values to better suit OpenXR build

commit 7e6aa6dab8
Author: Lubos <tridosm@gmail.com>
Date:   Sat May 7 11:32:11 2022 +0200

    OpenXR sync actions before updating controllers

commit 027a7e96c3
Author: Lubos <tridosm@gmail.com>
Date:   Fri May 6 10:34:50 2022 +0200

    OpenXR implement controller velocity again

commit af80d5c284
Author: Lubos <tridosm@gmail.com>
Date:   Fri May 6 10:18:51 2022 +0200

    Compile fix

commit ab1e853554
Author: Lubos <tridosm@gmail.com>
Date:   Fri May 6 10:14:08 2022 +0200

    OpenXR input cleanup

commit be158b4ad9
Author: Lubos <tridosm@gmail.com>
Date:   Fri May 6 09:39:49 2022 +0200

    OpenXR sync input actions from renderer

commit ed96160ffc
Author: Lubos <tridosm@gmail.com>
Date:   Fri May 6 09:25:59 2022 +0200

    OpenXR do not use pose velocity to track controllers

commit 42bf984ef8
Author: Lubos <tridosm@gmail.com>
Date:   Thu May 5 22:39:10 2022 +0200

    OpenXR apply controller pose from renderer

commit 92941b3547
Author: Lubos <tridosm@gmail.com>
Date:   Thu May 5 22:26:33 2022 +0200

    OpenXR delayed controller pose fixed

commit 325641f90e
Merge: de198fba 3ee3f590
Author: Simon <simonbrown77@googlemail.com>
Date:   Thu May 5 16:30:07 2022 +0100

    Merge pull request #75 from lvonasek/OpenXR

    OpenXR menuyaw and recenter support added

commit 3ee3f59058
Author: Lubos <tridosm@gmail.com>
Date:   Thu May 5 12:22:36 2022 +0200

    OpenXR do not recenter on renderer reload

commit 7072b0b89e
Author: Lubos <tridosm@gmail.com>
Date:   Wed May 4 21:05:45 2022 +0200

    OpenXR recenter sets yaw always to 0

commit 8e5f6414a6
Author: Lubos <tridosm@gmail.com>
Date:   Wed May 4 16:19:48 2022 +0200

    OpenXR recenter integrated

commit 08a4fc7fbf
Author: Lubos <tridosm@gmail.com>
Date:   Tue May 3 18:37:28 2022 +0200

    OpenXR use the same coordinate system in all layers

commit a1de0e1ffe
Author: Lubos <tridosm@gmail.com>
Date:   Mon May 2 22:17:53 2022 +0200

    OpenXR menuYaw support added

commit de198fba0d
Author: Simon <simonbrown77@googlemail.com>
Date:   Mon May 2 10:01:42 2022 +0100

    Update version numbers and add openxr identifier

commit b83f99fe5b
Merge: c623bf13 9c14728b
Author: Simon <simonbrown77@googlemail.com>
Date:   Mon May 2 09:43:47 2022 +0100

    Merge pull request #74 from lvonasek/OpenXR

    OpenXR left controller mapping fixed

commit 9c14728bc9
Merge: 11a849b1 0695c7ac
Author: Lubos <tridosm@gmail.com>
Date:   Sun May 1 19:41:45 2022 +0200

    Merge branch 'master' into OpenXR

commit 11a849b189
Author: Lubos <tridosm@gmail.com>
Date:   Sun May 1 19:09:12 2022 +0200

    OpenXR controller mapping fixed

commit 712584eae8
Merge: df4bc0c0 c623bf13
Author: Luboš Vonásek <tridosm@gmail.com>
Date:   Sun May 1 19:04:45 2022 +0200

    Merge branch 'DrBeef:OpenXR' into OpenXR

commit c623bf1399
Merge: cb152467 e42a2f4e
Author: Simon <simonbrown77@googlemail.com>
Date:   Sun May 1 14:10:23 2022 +0100

    Merge pull request #72 from lvonasek/OpenXR

    OpenXR jitter fixed

commit e42a2f4e0d
Author: Lubos <tridosm@gmail.com>
Date:   Sun May 1 14:34:38 2022 +0200

    Compile fix

commit acbff1e736
Author: Lubos <tridosm@gmail.com>
Date:   Sun May 1 13:59:41 2022 +0200

    OpenXR camera view moved into renderer

commit cb152467ba
Merge: decc2d02 26071937
Author: Simon <simonbrown77@googlemail.com>
Date:   Sun May 1 10:20:40 2022 +0100

    Merge pull request #69 from lvonasek/feature_openxr

    OpenXR integration

commit 26071937c8
Author: Lubos <tridosm@gmail.com>
Date:   Sun May 1 11:17:50 2022 +0200

    OpenXR frameskip integrated

commit f735535dce
Author: Lubos <tridosm@gmail.com>
Date:   Sat Apr 30 22:57:48 2022 +0200

    OpenXR attempt to fix flickering

commit 0eb1d43b4a
Author: Lubos <tridosm@gmail.com>
Date:   Sat Apr 30 21:28:26 2022 +0200

    2D aspect ratio fixed

commit 9d07c27604
Author: Lubos <tridosm@gmail.com>
Date:   Sat Apr 30 21:23:53 2022 +0200

    Hud model rendering fixed

commit 30c9b4eaa0
Author: Lubos <tridosm@gmail.com>
Date:   Sat Apr 30 17:03:54 2022 +0200

    Release build fixed

commit 405ca571ad
Author: Lubos <tridosm@gmail.com>
Date:   Sat Apr 30 14:10:27 2022 +0200

    OpenXR foveation removed

commit 61b3192bce
Author: Lubos <tridosm@gmail.com>
Date:   Sat Apr 30 14:02:21 2022 +0200

    OpenXR projection matrix calculation from example code

commit ecd50dbcb1
Author: Lubos <tridosm@gmail.com>
Date:   Fri Apr 29 21:21:10 2022 +0200

    OpenXR low framerate fixed

commit f5a8429fc1
Author: Lubos <tridosm@gmail.com>
Date:   Fri Apr 29 19:21:29 2022 +0200

    Solution for black rectangles in the scene

commit 9ae93a5fe9
Merge: 10548445 decc2d02
Author: Lubos <tridosm@gmail.com>
Date:   Fri Apr 29 14:58:35 2022 +0200

    Merge branch 'master' into feature_openxr

commit 1054844524
Merge: 65e2031e 3cdf1858
Author: Lubos <tridosm@gmail.com>
Date:   Wed Apr 27 21:52:55 2022 +0200

    Merge branch 'master' into feature_openxr

commit 65e2031e95
Author: Lubos <tridosm@gmail.com>
Date:   Tue Apr 26 22:02:04 2022 +0200

    OpenXR integration fixes

commit c321b97894
Author: Lubos <tridosm@gmail.com>
Date:   Mon Apr 25 16:48:09 2022 +0200

    OpenXR multiview integrated

commit 5947168966
Author: Lubos <tridosm@gmail.com>
Date:   Sun Apr 24 20:25:19 2022 +0200

    OpenXR minor fixes

commit 249847930b
Author: Lubos <tridosm@gmail.com>
Date:   Sun Apr 24 18:06:02 2022 +0200

    OpenXR use just one framebuffer

commit b11122e368
Author: Lubos <tridosm@gmail.com>
Date:   Sat Apr 23 21:06:35 2022 +0200

    OpenXR touch controllers completely implemented

commit 0bf485664c
Author: Lubos <tridosm@gmail.com>
Date:   Sat Apr 23 19:44:18 2022 +0200

    OpenXR haptics and refreshrate fixed

commit 4716387e52
Author: Lubos <tridosm@gmail.com>
Date:   Sat Apr 23 15:54:07 2022 +0200

    OpenXR input except buttons implemented

commit 7bd1fe31c2
Author: Lubos <tridosm@gmail.com>
Date:   Fri Apr 22 21:18:49 2022 +0200

    OpenXR input in progress

commit 3c26e08f01
Author: Lubos <tridosm@gmail.com>
Date:   Fri Apr 22 18:41:26 2022 +0200

    Old code removed

commit 4d2644cae2
Author: Lubos <tridosm@gmail.com>
Date:   Fri Apr 22 18:32:42 2022 +0200

    OpenXR fov fixed

commit 501869a051
Author: Lubos <tridosm@gmail.com>
Date:   Fri Apr 22 17:56:14 2022 +0200

    OpenXR motion tracking in game mode added

commit b152d21ddc
Author: Lubos <tridosm@gmail.com>
Date:   Fri Apr 22 16:14:36 2022 +0200

    OpenXR cylinder projection added

commit 3e9c80679e
Merge: 0de4a0d1 39f669dd
Author: Lubos <tridosm@gmail.com>
Date:   Fri Apr 22 14:13:18 2022 +0200

    Merge branch 'master' into feature_openxr

commit 0de4a0d196
Author: Lubos <tridosm@gmail.com>
Date:   Fri Apr 22 13:45:22 2022 +0200

    OpenXR tracking added init, first working rendering

commit 8431b1aa83
Author: Lubos <tridosm@gmail.com>
Date:   Thu Apr 21 21:15:02 2022 +0200

    OpenXR add missing foveation

commit 4ff90d8ba0
Author: Lubos <tridosm@gmail.com>
Date:   Thu Apr 21 21:00:02 2022 +0200

    OpenXR renderer cleanup

commit d736af15bd
Merge: 7b9d51ec fe180129
Author: Lubos <tridosm@gmail.com>
Date:   Thu Mar 31 17:47:45 2022 +0200

    Merge branch 'master' into feature_openxr

commit 7b9d51ec30
Author: Lubos <tridosm@gmail.com>
Date:   Thu Mar 31 17:47:36 2022 +0200

    OpenXR renderer in progress

commit e7a2229edc
Merge: abeaf046 bcf9287a
Author: Lubos <tridosm@gmail.com>
Date:   Wed Mar 30 09:44:15 2022 +0200

    Merge branch 'master' into feature_openxr

commit abeaf04607
Author: Lubos <tridosm@gmail.com>
Date:   Tue Mar 29 19:57:47 2022 +0200

    OpenXR initialization fixed

commit f2fefbf708
Author: Lubos <tridosm@gmail.com>
Date:   Tue Mar 29 17:13:48 2022 +0200

    OpenXR initialization added

commit 96bf69cb15
Author: Lubos <tridosm@gmail.com>
Date:   Tue Mar 29 12:56:37 2022 +0200

    VR API removed
2022-05-07 14:34:37 +01:00
Lubos
c7b6aa02b7 Lightmap issue fixed (optimized) 2022-04-17 22:45:28 +02:00
Petr Bartos
6a69763d23 More menu updates 2022-04-04 21:40:03 +02:00
Simon
5f7755b219 Removing the old unused gl1 renderer - phase 1 2022-03-30 21:57:33 +01:00
Lubos
663dd1d5b2 Forgotten variable removed 2022-03-30 18:28:41 +02:00
Lubos
25154e5b9f Restore mediump float precision and fast-math C flag 2022-03-30 18:27:12 +02:00
Lubos
7be9731347 Fast math flag replacement 2022-03-25 15:56:05 +01:00
Lubos
89f001a72f Do not use fast-math flag, it leads to lightmap issues 2022-03-20 18:58:35 +01:00
Simon
f8fb5d0e1b Revert "Soft keyboard support added"
This reverts commit fdf2decde3.
2022-03-16 23:07:20 +00:00
Lubos
fdf2decde3 Soft keyboard support added 2022-03-15 16:33:17 +01:00
Petr Bartos
3c19d4bf46 Menu revamp; option to toggle alt layout; updated defaults 2022-03-09 00:50:56 +01:00
Simon
9489c0f106 Moved source files
so that it is easier to debug in Android Studio
2022-02-25 23:18:45 +00:00
Simon
08193518cc Mostly VR Options Menu
Some other things in there too:
- Incomplete implementation of scoped zoom for rail gun (needs more work)
- VR Options Menu
- Incomplete / Failed attempt at accessing the Android keyboard, leaving in case some revelation occurs
-
2022-02-19 09:14:32 +00:00
Simon
1b8dbcb6dc Several Changes
- world scale cvar - defaulted to 32.0
- extra latency mode enabled by default
- used sound implementation (OpenSLES) from RTCW which should eliminate the slight delay that SDL/OpenAL seems to have
- multiple cvar changes courtesy of vr_bummser
2022-01-30 23:36:14 +00:00
XsparkieX
bcc28a0ae3 Added support for building for Android on Windows. 2021-02-01 21:37:07 +01:00
XsparkieX
791e90b22a Initial Oculus Quest support added. 2020-09-06 13:40:32 +02:00
Tim Angus
c0d797f308 Simplify glsl -> C stringification 2020-08-29 21:40:57 +01:00
Zack Middleton
302f12b8f6 Don't use host pkg-config when cross-compiling
Fix cross-compiling using mingw-w64 on Ubuntu 18.04.

pkg-config --cflags libcurl is now pulling in a Linux include directory
which breaks compiling.
2018-10-01 23:48:45 -05:00
Simon McVittie
fb4b206709 Allow pkg-config binary to be overridden with PKG_CONFIG
This is one of the de facto standard interfaces used in Linux
distributions for cross-compilation (alongside overriding CC and
similar variables), and in particular is used in Debian and its
derivatives.

Signed-off-by: Simon McVittie <smcv@debian.org>
2018-06-12 11:27:42 +01:00
Zack Middleton
f4db711024 Use SDL 2.0.1 headers for macOS ppc64
The libSDL2-2.0.0.dylib in repo doesn't support ppc64 though.

Based on patch by MAN-AT-ARMS.
2018-05-12 13:41:35 -05:00
Zack Middleton
ffd9ce1902 Limit -maltivec to specific source files on OpenBSD too (untested) 2018-05-12 13:30:40 -05:00
Simon McVittie
5909b9a1cf Isolate the Altivec code so non-Altivec PPC targets can use the same binary.
Moved all the code using Altivec intrinsics to separate files. This 
means we can optionally use GCC's -maltivec on just these files, which
are chosen at runtime if the CPU supports Altivec, and compile the rest
without it, making a single binary that has Altivec optimizations but
can still work on G3.

Unlike SSE and similar extensions on x86, there does not seem to be
a way to enable conditional, targeted use of Altivec based on runtime
detection (which is what ioquake3 wants to do) without also giving the
compiler permission to use Altivec in code generation; so to not crash
on CPUs that do not implement Altivec, we'll have to turn it off
altogether, except in translation units that are only entered when
runtime Altivec detection is successful.

This has been tested on Linux PPC (on an Altivec-enabled CPU),
but we may need further work after testing trickles out to other
PowerPC devices and ancient Mac OS X builds.

I did a little work on this patch, but the majority of the effort belongs 
to Simon McVittie (thanks!).
2018-05-12 14:14:47 -04:00
Zack Middleton
1caf1fb875 Fix compiling Makefile (broke in macOS frameworks commit) 2018-04-26 11:47:11 -05:00
Zack Middleton
3bc3fa1b3b Fix compiling against macOS system OpenAL and SDL2 frameworks 2018-04-26 11:23:47 -05:00
Zack Middleton
45af2594a0 Add SDL 2.0.1 headers for macOS PPC
code/libs/macosx/libSDL2-2.0.0.dylib has 2.0.8 for x86 and x86_64 and
2.0.1 for PPC. Add 2.0.1 headers for PPC with modifed SDL_platform.h to
allow compiling using macOS 10.5 SDK. Using separate headers allows the
engine to check the SDL version for enabling newer SDL features.
2018-04-26 11:21:36 -05:00
Zack Middleton
1284205012 Remove duplicate setting of FREETYPE_CFLAGS in Makefile 2018-04-03 20:11:53 -05:00
Zack Middleton
acef71af5e Rename (already updated) opusfile-0.8 to opusfile-0.9 2018-03-16 13:29:20 -05:00
Zack Middleton
8611eb421d Rename (already updated) opus-1.1.4 to opus-1.2.1 2018-03-16 13:29:19 -05:00
Zack Middleton
cb24c59567 Update opus from 1.1.4 to 1.2.1 2018-03-16 13:29:19 -05:00
Zack Middleton
c38c823a2a Rename (already updated) libvorbis-1.3.5 to libvorbis-1.3.6 2018-03-16 13:29:19 -05:00
Zack Middleton
ebd3d516ac Rename (already updated) libogg-1.3.2 to libogg-1.3.3 2018-03-16 13:11:27 -05:00
Zack Middleton
d4e7d987a3 Fix MAC_OS_X_VERSION_MIN_REQUIRED for macOS 10.10 and later
Manually specifying MACOSX_VERSION_MIN=10.10 or later would use the
wrong value for MAC_OS_X_VERSION_MIN_REQUIRED define. 1100 instead of
101000.
2018-02-08 10:23:44 -06:00
Zack Middleton
7166a3cd39 Enable compiler optimization on all macOS architectures
It seems to improve framerate and still work on x86 and x86_64. I
haven't tested ppc64 as I don't have the hardware. ppc64 isn't built
into the universal bundle either.

I noticed this because compiling opus warns it may be slow due to
optimization being disabled.
2017-12-16 12:51:56 -06:00
Mickaël Thomas
6ecfa4f263 Fix shader corruption on OpenBSD
OpenBSD's sed (and possibly other platforms') interprets `\r` as a
literal `r` rather than a carriage return, which leads to all `r`
letters being stripped from the shaders' source.

This fixes the issue by using the POSIX-compliant `tr -d '\r'` to remove
carriage returns.

Thanks to @ryan-sg for reporting the issue
2017-10-16 16:23:14 +01:00
Mickaël Thomas
7d012f229e Fix a race condition in the makedirs target
A race condition can happen when running "make all" with parallel jobs.

The issue is that the build directory can be created by another
concurrent job between the moment it was detected as missing and the
moment mkdir is called (which fails if the directory already exists).

This fixes the problem by always using `mkdir -p` which doesn't fail if
the directory already exists.
2017-10-16 16:22:37 +01:00
Walter Barrett
96f94a2891 Fix compiling GLSL shaders under Windows.
Now the `sed` command cope with files using Windows-style line endings.
2017-10-07 08:02:25 -05:00
Zack Middleton
e657dbd6b2 Fix setting cflags/libs from sdl2-config
SDL_CFLAGS and SDL_LIBS assignment was "only if absent". However due
to previously assigning them to "pkg-config sdl2" values, the values
from sdl2-config were ignored.
2017-10-02 02:03:16 -05:00
Zack Middleton
20573bce43 Don't link to libGL at compile time
Get all OpenGL functions using SDL_GL_GetProcAddress(). This makes it
easier to cross-arch compile on Linux and add support for OpenGL ES
in the future.

Users still have to supply their own libSDL2 for cross-arch compiling
on Linux. But now the user does not have to re-install libgl1-mesa-dev
package for i386 or amd64 on Debian when switching between compiling
ioquake3 for x86 and x86_64.
2017-10-01 23:07:33 -05:00
Zack Middleton
eeaade70bd Statically link libgcc on Windows
Fix for ioq3 test builds for Windows x86 (cross-compiled from Ubuntu
using mingw-w64) requiring libgcc_s_sjlj-1.dll. I'm unable to reproduce
the issue using mingw-w64 in Debian or Cygwin.
2017-09-26 01:15:25 -05:00
Zack Middleton
414f3c5e3e Enable Ogg Vorbis support by default
libvorbis is included in-tree so this doesn't require additional
dependencies.
2017-09-23 19:56:42 -05:00
Zack Middleton
aeaecb4ae5 Add Windows application manifest
- Use common controls 6 so error dialogs use correct visuals on
Windows XP or later!
- Specify running as invoker so Windows doesn't guess if it should
prompt for admin permission on Vista or later.
- Specify compatible with Vista through Windows 10. Tells Windows
not to emulate Vista behavior, not sure if it affects anything.

Makefile automatically runs windres when manifest changes.
2017-09-07 21:04:52 -05:00
MAN-AT-ARMS
e07ffa715c Update internal curl to 7.54.0 2017-07-28 16:32:22 +01:00
Ryan C. Gordon
76e6b3c534 Removed unnecessary trailing backslash. 2017-06-04 16:43:50 -04:00
Ryan C. Gordon
a761684a23 Windows support for autoupdater manifest signatures. 2017-06-04 02:21:55 -04:00
Ryan C. Gordon
62f6f0c7e0 Wire up libTom stuff to build system. 2017-06-04 01:16:37 -04:00
Zachary J. Slater
87eecd7bc1 Merge pull request #290 from rcgordon/autoupdater
Initial shot at writing an ioquake3 autoupdater. Thank you icculus, and everyone who contributed to his patreon! https://www.patreon.com/icculus
2017-06-02 22:46:22 -10:00
Ryan C. Gordon
0eb497b01b Disable the autoupdater; enable only if intentional, like for official builds. 2017-06-02 02:29:09 -04:00
Ryan C. Gordon
063875e89a Fixed linking on things that need -ldl, and compiler warnings. 2017-06-02 01:39:03 -04:00
Ryan C. Gordon
82977da9c8 Working Windows port of the autoupdater! 2017-06-02 00:49:42 -04:00
Ryan C. Gordon
d0da0724e7 Move the autoupdater launcher into its own public domain source file.
So other games can steal this piece if they want.
2017-05-31 01:22:40 -04:00