1
0
Fork 0
forked from fte/fteqw
Commit graph

432 commits

Author SHA1 Message Date
Daniel Svensson
e62a712ee9
CI and various compile fixes (#270)
* Fix emscripten build.

* speexdsp need to disable neon support.
* all deps need --host=none.

* Fix mingw 32 bit build.

* Only try to static link ezhud if building client.

* Make STRIPFLAGS overrideable.

* pkgconf typo, should be --atleast-version.

* Fix -host -> --host typo.

* Update CI.
2024-09-06 09:31:36 -07:00
erysdren
52e672d034
Fix makefile for linux->win64_SDL target (#258)
Co-authored-by: eukara <marco@icculus.org>
2024-08-27 23:50:12 -07:00
cea1acab34
fix qcc-{rel,dbg} targets in engine/Makefile 2024-08-26 17:34:58 -07:00
Peter0x44
7599872f9c
Allow overriding CC for cross-compilation. (#262)
In the case of SDL2 cross-compilation, I had to make this change.
FTE_TARGET=SDL2_arm and such don't work. If I override the compiler with
something like:
make CC=aarch64-linux-gnu-gcc then this particular line reverts it to
gcc and calls the system compiler anyway. I'm not sure why this line
needs to exist at all.

I did the same for windres, because it might also make sense to override
it with an i686-w64-mingw32-windres. Or potentially for the
aarch64-w64-mingw32 gcc in future.
2024-08-26 15:46:01 -07:00
Shpoike
ff1a2299f4 megacommit.
adds qtv relay support.
lots of other misc tweaks.
2024-07-14 19:58:26 +01:00
Shpoike
5685376732 TURN support (stupidly) requires md5 support. Make it available to a couple of other subsystems too. 2024-07-14 19:58:26 +01:00
Shpoike
8dadfb4878 Added sys_openfile console command(and menu option) to web and flatpak(via cmake+dbus) builds, to 'install' packages on sandboxed systems a bit more easily.
Cmake: Add FTE_WERROR option, defaults to true in debug builds and off in release builds (in case future compilers have issues).
Cmake: Pull in libXscreensaver so we don't get interrupted by screensavers when playing demos.
Make: Added `make webcl-rel` for a web build without server bloat (eg for sites focused on demo playback. Yes, this means you XantoM).
fteqcc: Include the decompiler in fteqcc (non-gui) builds ('-d' arg).
fteqcc: Decompiler can now mostly handle hexen2 mods without any unknown opcodes.
Allow ezHud and OpenSSL to be compiled as in-engine plugins, potentially for web and windows ports respectively.
Web: Fix support for ogg vorbis. Add support for voip.
Web: Added basic support for WebXR.
QTV: Don't try seeking on unseekable qtv streams. Don't spam when developer 1 is set.
QTV: add support for some eztv extensions.
MVD: added hack to use ktx's vweps in mvd where mvdsv doesn't bother to record the info.
qwfwd: hack around a hack in qwfwd, allowing it to work again.
recording: favour qwd in single player, instead of mvd.
Protocol: reduce client memory used for precache names. Bump maximum precache counts - some people are just abusive, yes you Orl.
hexen2: add enough clientside protocol compat to play the demo included with h2mp. lacks effects.
in_xflip: restored this setting.
fs_hidesyspaths: new cvar, defaults to enabled so you won't find your username or whatever turning up in screenshots or the like. change it to 0 before debuging stuff eg via 'path'.
gl_overbright_models: Added cvar to match QS.
netchan: Added MTU determination, we'll no longer fail to connect when routers stupidly drop icmp packets.
Win: try a few other versions of xinput too.
CSQC: Added a CSQC_GenerateMaterial function, to give the csqc a chance to generate custom materials.
MenuQC: Added support for the skeletal objects API.
2024-07-14 19:58:24 +01:00
Shpoike
ea0509805b Pull in updated vulkan headers instead of carrying our own. 2024-07-14 19:58:24 +01:00
76e4258ad3
Use zlib fossils directory for permalinked releases of zlib. (#244) 2024-03-08 11:44:06 -08:00
eb6b127d9c Updated library zlib to 1.3 in Makefile 2023-09-19 22:03:44 -07:00
Fix
a609094554 remove NPFTE stuff from build solutions and Makefile 2023-07-09 20:44:14 +02:00
Fix
6a45573658 remove NPAPI stuff from build 2023-07-09 20:25:38 +02:00
fhomolka
6d83a3218a
Remove NaCl code (#190)
* Remove the nacl dir

* Remove nacl from ifdef checks shared with other platforms

* Remove nacl from build bash scripts

* More removal of nacl from bash scripts

* Remove nacl-specific code from the engine

* More removal of nacl-specific code from the engine

* remove nacl-specific code from the Quake 3 plugin

* Remove nacl from readme (also seems to have force LF line endings)

* Remove nacl mention from browser.txt

* Remove nacl from Makefile

* Remove nacl from dotnet2005 solution file (lol)

* Correcting an endif, this did not end nacl

* Clarification for NaCL no longer needed

* Left small todo for myself

* Partially undo f44daef091bcc5917b0ddb2cbe41ebdd9738f770
the if preproc checking for `_DEBUG` was incorrectly removed
2023-07-01 15:20:13 -07:00
Shpoike
505061a8d2 Add deflate64 support, cos why not. 2023-04-17 03:58:21 +01:00
Shpoike
cba1a2a942 Update some third party library versions. 2023-04-17 03:58:20 +01:00
3adafe9326
Makefile: Bump ZLIBVER to 1.2.13. 2023-01-15 15:01:08 -08:00
Spoike
c45b0e5cf8 Fix up statically linking the ODE plugin into the engine (eukara wanted me to fix this up).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6243 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-05-28 17:58:53 +00:00
Eukara
078514f2d2 Bump zlib version to 1.2.12, as 1.2.11 seemingly reached EOL
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6223 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-03-31 15:52:44 +00:00
Spoike
ba9a852d9d Move the q3 files into the plugins subdir.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6216 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-03-08 05:33:52 +00:00
Spoike
1a5c8da880 Make it easier to compile q3 statically.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6215 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-03-08 05:32:38 +00:00
Spoike
6ceb76233c Move Quake3 support to a plugin. There's still a number of stubs+bugs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6209 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-03-08 05:31:34 +00:00
Eukara
5f80e2b0a3 Merge patch from ticket #132 from illwieckz, making the utils target build 'iqmtool'
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6206 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-03-06 21:13:14 +00:00
Eukara
f66f43c70b Merge patch from ticket #131 from illwieckz, mkdir'ing the output dir for iqmtool
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6204 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-03-06 20:16:21 +00:00
Spoike
51ed3456e8 Add linux_aarch64 target to the cross-compile build scripts.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6196 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-02-19 20:49:56 +00:00
Spoike
dd03b69609 Move our gltf's json parser into the engine-proper, implement QC builtins to make json parsing available to qc. API defined by Joshua Ashton.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6188 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-02-19 20:48:40 +00:00
Spoike
2ed3378a75 Misc compile fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6166 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-01-17 09:12:56 +00:00
Spoike
f8e355e990 Make visibility=hidden more aggressive to fix vulkan segfaults and probably some other things too.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6120 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-10 01:36:00 +00:00
Spoike
39add9730f Make plugins more robust with regard to different build configs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6119 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-10 01:35:55 +00:00
Spoike
e89cc4dc5a Fix up filesystem plugins slightly. Remove engine references to VPK support.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6100 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-03 20:31:02 +00:00
Spoike
442d23f226 Rework our web html for drag+drop filesystem seeding to make it easier to run copyrighted stuff.
Add zlib support to the web build, to make running the rerelease's content feasable with a hack to get png files sized right.
Enable botlib in web builds, now that q3's data can be used.
Fix up our webrtc support a little.
Enable the server browser in web builds (rtc hosts only, for now).
A couple of related minor tweaks.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6088 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-10-22 22:27:58 +00:00
Spoike
947d41ea95 Make use of webgl2 where available.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6081 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-10-12 04:42:01 +00:00
Spoike
7d7cb5f40c Try to disable mouse accel in chromium. Use RAF timing for better precision to try to get smoother in-browser framerates.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6080 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-10-12 04:41:49 +00:00
Spoike
0218f2dcf2 Try to update our javascript.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6071 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-10-05 05:05:50 +00:00
Spoike
ca999f6eb4 Embed some basic metadata into plugins. Still needs signatures.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-10-05 05:05:22 +00:00
Eukara
e69e81b9f5 input_sequence now formally added, will let the server know which input
sequence we're on when handling input_ globals.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6061 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-09-15 20:33:54 +00:00
Spoike
8c7c69a4ea Fix vpk support.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6048 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-28 07:04:37 +00:00
Spoike
b24c6ed9d9 Fix iqmtool make rule confusion between building on windows and building FOR windows.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6011 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-05 17:07:06 +00:00
Spoike
221d4032af FTE_TARGET=msvc now invokes some old version of msvc via wine, old FTE_TARGET=vc removed. Related code tweaks to make it a bit happier.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6001 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-04 21:17:31 +00:00
Spoike
87245a290a Fix up SDL build to enable our multithread stuff.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5996 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-25 22:55:17 +00:00
Eukara
0ed2c90da9 Unbreak xinput, don't use -O3 for release builds as GCC creates
abrasive code, fix plugins-rel putting CFLAGS into the CC/CXX line


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5993 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-24 14:24:46 +00:00
Eukara
de522617e7 Interpret controller buttons as known keynums in Quake III Arena
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5987 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-22 07:17:30 +00:00
Eukara
7800434ecb Fix iqmtool building on NIX via Makefile
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5984 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-20 10:15:02 +00:00
Spoike
f9b9087011 Fix a few things.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5935 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-01 11:03:28 +00:00
Spoike
0b0d6c3df7 Fix up the emscripten target a little.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5906 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:46:38 +00:00
Spoike
ac427ff76c Improve gltf->iqm frame timings, update iqmtool's help text.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5905 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:46:31 +00:00
Spoike
04689373a3 Add disabled-by-default openssl plugin. Try to fix up ffmpeg build rules.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5892 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:44:05 +00:00
Eukara
286159d191 pass -DMULTITHREAD to GL_CFLAGS on BSD
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5877 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-01 08:33:06 +00:00
Spoike
c3038db058 Let FTE know about git revision info, for people that refuse to use svn...
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5844 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-09 13:01:50 +00:00
Spoike
ff4b88dd45 Tweak FTE_TARGET arch postfixes in our makefile to make cross compile targets a little more readable.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5838 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-09 13:01:04 +00:00
Spoike
b9cd6ec91b openxr plugin: tweaked - inputs should be working properly now, and are visible to csqc. subject to further breaking changes, however.
_pext_vrinputs: added cvar to enable vr inputs protocol extension allowing vr inputs to be networked to ssqc too. defaults to 0 for now, will be renamed when deemed final.
updates menu: the prompt to enable sources is now more explicit instead of expecting the user to have a clue.
updates menu: added a v3 sources format, which should be more maintainable. not final.
updates menu: try to give reasons why sources might be failing (to help blame ISPs if they try fucking over TTH dns again).
presets menu: no longer closes the instant a preset is chosen. some presets have a couple of modifiers listed. force the demo loop in the background to serve as a preview.
prompts menus: now does word wrapping.
ftemaster: support importing server lists from other master servers (requested by Eukara).
server: try to detect when non-reply inbound packets are blocked by firewalls/nats/etc (using ftemaster to do so).
qcvm: added pointcontentsmask builtin, allowing it to probe more than just world, with fte's full contentbit range instead of just q1 legacy.
qcvm: memfill8 builtin now works on createbuffer() pointers.
qcvm: add missing unsigned ops. Fixed double comparison ops. fixed bug with op_store_i64. added missing OP_LOADP_I64
qcc: added '#pragma framerate RATE' for overriding implicit nextthink durations.
qcc: fixed '#pragma DONT_COMPILE_THIS_FILE' to not screw up comments.
qcc: added __GITURL__ __GITHASH__ __GITDATE__ __GITDATETIME__ __GITDESC__ for any mods that might want to make use of that.
qcc: fix up -Fhashonly a little
setrenderer: support for vulkan gpu enumeration.
rulesets: reworked to support custom rulesets (using hashes to catch haxxors, though still nothing prevents just changing the client to ignore rulesets)
bspx: use our BIH code for the bspx BRUSHLIST lump instead of the older less efficient code.
(static)iqm+obj: these model formats can now be used for the worldmodel (with a suitable .ent file). Also using BIH for much better collision performance.
pmove: tried to optimise PM_NudgePosition, should boost fps in stress tests.
wayland: fix a crash on startup. mousegrabs now works better.
imagetool: uses sdl for previews.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5813 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-04-14 05:21:04 +00:00