Commit graph

426 commits

Author SHA1 Message Date
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
Eukara
fd3198904d git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5786 fc73d0e0-1445-4013-8a0c-d673dee63da5 2020-11-07 07:16:39 +00:00
Eukara
5d5067ed82 git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5784 fc73d0e0-1445-4013-8a0c-d673dee63da5 2020-11-03 15:52:26 +00:00
Spoike
4d25c073ec big commit. :(
fix crash from qwplayers with invalid modelindexes
rework allow_skybox a little. now applies immediately.
try to fix the appears-outside-of-map bug, again.
dir *.wav now shows a little extra info on mouse-over.
try loading music file extensions that we expect to be able to play via ffmpeg, not just the ones that are directly supported.
rework the hidden fps_presets, show them with tab completion.
fix a possible crash with r_temporalscenecache
fix lightmap updates on submodels not happening properly with the scenecache.
fix the serious memory leak with scenecache.
add r_glsl_pbr cvar to force use of pbr pathways in our glsl.
fix bug in alsa output not supporting float output properly.
preliminary work to have the mixer use floating point mixing. disabled for now.
try to update sys_register_file_associations on linux, still needs work though.
try to work around nquake's config quirks, so config files don't get overwritten.
repackage quake's conchars in order to add padding. this should avoid extra junk on the outside of glyphs.
give fteqcc(commandline version) some extra package extration/creation support. our paks should be more end-user-friendly, and our spanned pk3s are awesome.
write rune state to legacy saved games, so we don't ever have the missing-runes bug ever again...



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5780 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-10-26 06:30:35 +00:00
Spoike
b380421e42 Lets try using _LARGEFILE64_SOURCE in 32bit linux builds. Not that anyone will notice.
Clarify the 'too many alternate clients' messages.
Gamepad movement should respond to +speed.
favour fte's nq protocols over dp ones when both are supported by the client, to boost compat with qss.
try to generate proper utf-8 filenames from player/team names when recording mvds, instead of bad char encodings.
Fix loading saved games with splitscreen enabled.
pr_dumpplatform can now optionally filter symbols via some specific external files, adding deprecated tags for any symbol not also supported by DP and QSS.
Rework CSQC globals to use macros, to ensure completeness and consistency.
rework sv_csqcdebug to use special svcs. This should make it more robust.
Fix some scary warnings when vid_reloading the vulkan renderer.
Fix a possible segfault from opengl+rtlights.
Mousewheel will now interact better with engine menus.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5757 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-09-08 05:11:09 +00:00
Spoike
0c0b6c3ed0 Try to explicitly opt in/out to windows's ASLR in release/debug builds.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5746 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-08-16 04:40:13 +00:00
Eukara
00dc8aad4f Makefile: Force PKGCONFIG on OpenBSD
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5733 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-07-17 16:19:35 +00:00