Commit Graph

594 Commits

Author SHA1 Message Date
Spoike 3f85c9793c Add TURN support to our ICE implementation, along with a few fixups. Must be configured with 'net_ice_servers turn:foo?user=foo?auth=bar'. space-separated list, can also accept additional 'stun:' servers.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6285 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:16:31 +00:00
Spoike 81ab9277ac Make the various build config defines a little more robust.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6277 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-06-26 08:08:43 +00:00
Spoike 06038d496e First weapon wheel implementation.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6269 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-06-19 15:18:08 +00:00
Spoike 27c32fc1a0 Add a new net_ice_usewebrtc cvar for people that want to skip the extra overheads/bugs of webrtc.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6230 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-04-16 20:28:18 +00:00
Spoike 6f5180a915 Fix q3plug-related crashes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6221 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-03-08 07:21:44 +00:00
Spoike 6dbfc0ebbe Fix msg_readcount issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6218 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-03-08 05:34:26 +00:00
Spoike 0d9a269ab4 Remove last plugin stubs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6217 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-03-08 05:34:13 +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
Spoike 3e71c9863c Political statement.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6202 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-03-01 02:52:16 +00:00
Spoike 1af4e05ab6 Fix qw:// url stuff a little.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6200 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-03-01 02:52:02 +00:00
Spoike c2633078ff Try to fix up package downloads, and dp-compat downloads too.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6199 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-03-01 02:51:55 +00:00
Spoike 73f6df016c A few minor tweaks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6183 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-02-07 14:34:11 +00:00
Spoike 42430d4712 Fix some misc memory leaks and a few other minor issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6176 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-01-30 05:55:01 +00:00
Spoike 0f5c092a96 Fix +strafe with mouse movements, for Aberrant.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6173 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-01-28 10:48:14 +00:00
Spoike 86d2f0e0d4 Provide support for webrtc's sctp-over-dtls stuff, providing browser+native connectivity (via broker).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6171 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-01-28 10:48:01 +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 6c112c3368 Attempt to support more of QuakeEx's network protocol changes, including a 'connectqe host' command to connect to QEx servers with the appropriate handshakes (requires manual PSK setup).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6162 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-01-16 18:41:44 +00:00
Spoike 2e627df7b5 Add support for PSK for DTLS via gnutls and openssl. User needs to supply the keys.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6161 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-01-16 18:41:34 +00:00
Spoike bf44769b4d Add support for 'connect dtls://foo' without needing extra upgrading stuff first. This change allows for QEx to establish a dtls connection to our server, though the reverse still doesn't work.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6156 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-01-08 10:01:05 +00:00
Spoike 495abcbe7b Fix up mapcluster functionality for windows.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6150 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-01-08 09:59:46 +00:00
Spoike 4a6ba7146b Basic menu hack for vr.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6138 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-12-20 10:06:43 +00:00
Spoike 3afbfc8547 Attempt to download missing files from the uri named by the local sv_dlURL setting, if specified, for easier demo playback.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6095 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-10-31 18:20:45 +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 f76fd58f3f Strip WebVR support. Any new stuff should be using WebXR instead.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6087 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-10-22 22:27:28 +00:00
Spoike 8267939edb Misc tweaks, including a corrupt-bsp crash fix.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6070 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-10-05 05:05:43 +00:00
Spoike 8ec36b7ab4 Rework our fallback defaults to override id1's too, so newbies don't need to rebind everything before playing.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6069 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-10-05 05:05:34 +00:00
Spoike 81d5091fac Make sure there's some binds set up (the rerelease lacks a usable default.cfg).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6037 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-23 06:37:10 +00:00
Spoike b33d20fa75 Don't try to interpret http(s) uris as quake servers to connect to (should help fix the webgl port).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6036 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-23 06:36:51 +00:00
Spoike 34f55c05e6 Minor tweaks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6026 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-20 04:53:33 +00:00
Spoike 783185cc59 Comment/etc tweaks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6025 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-19 06:02:18 +00:00
Spoike e83cfe3bb0 Misc q2 fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6022 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-19 06:01:52 +00:00
Spoike cf31dcccad Add 'schemes' value to fmf files, for games to list (multiple) uri schemes with which to easily start the engine and connect to a specified server. Also add cl_verify_urischeme, a bit like ezquake has.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6021 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-19 06:01:42 +00:00
Spoike 0907e66cff Tweak QI plugin to translate quaddicted's map database to fte's meta format. Make 'map package:map' download+run a map with the specified package enabled.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5976 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-17 15:11:35 +00:00
Spoike 139b916e46 Make scenecache less... flickery.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5953 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-06 00:12:20 +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 1614b75142 Parse meta information from drag+dropped/file-associated packages for easier installation of mods.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5934 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-01 01:17:07 +00:00
Spoike 0361787967 Fix noweb build.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5920 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-26 20:46:56 +00:00
Spoike b34618507a Try to reduce memory usage.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5902 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:46:06 +00:00
Spoike c035801161 Add support for maps/foo.bsp.xz too, for better compression.
Seeking within files inside zips is now slightly more efficient.
Fix issue with servers decompressing .gz before download...

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5883 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-02 15:29:44 +00:00
Spoike b4092ab903 Remove some array length limitations with package lists.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5875 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-27 11:36:01 +00:00
Spoike 466dac47f4 Move connect's dns lookup to a thread. Handle multiple results (we can finally connect to ipv6-only 'localhost').
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5855 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-19 04:48:57 +00:00
Spoike f35928f4fd OpenXR stuff should be a little more usable now.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5850 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-09 13:02:49 +00:00
Spoike 692fe2c211 Add serverside pm_autobunny support. Will result in prediction misses for older clients.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5833 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-09 13:00:30 +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 46eaeabbc6 Fix config_minimal.h from being unable to compile.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5801 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-01-18 22:18:09 +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 432bc96456 Add r_meshroll, like r_meshpitch (hexen2 requires it set to -1 - they made the bug worse).
HTTP client code now tracks the reason for failure better (so we can distinguish between dns, no response, disconnects, and tls cert issues).
Downloads menu shows reasons for failure for its various sources.
make hexen2's +infoplaque button work even when tab isn't held! Yes! usability! who'd a thought it?
Try to clean up some client-only build issues.
Added 'librequake' as a recognised game name (mostly so that we can reuse the quake-specific engine compat settings.
.map support now supports patches enough to query+create(+network)+select them. Collisions are basically defective though.
qcc: Remove char as default keyword.
qcc: Fix some recent regressions.
sv: Add 'sv_protocol csqc' setting to force csqc protocols on clients that disabled handshakes, for mods that NEED csqc support. other options include 'fte1' and 'fte2', if you want to force extra stuff. Engines that don't support the selected protocols will crash out so only set these if your mod/map always requires it.
sv: default to qw physics whenever a mod defines the SV_RunClientCommand, even if its an nq mod.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5775 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-10-06 03:17:28 +00:00
Spoike 069433abc1 Rework how fte clients handle serverinfo watervis a little. Server's setting (if set) overrides client's ruleset_allow_watervis.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5772 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-09-30 14:54:52 +00:00
Spoike e3fdbfcdbd qcc: Add unsigned int, long/__int64, unsigned long/__uint64, and double datatypes to qcc+qcvm.
qcc: Add '#pragma opcode enable|disable NAME' to override whether an individual opcode may be generated for the current target.
nq: Fix smartjump on nq servers.
nq: Fix enemyskin/teamskin stuff on nq servers.
Rework show_fps cvar to give a greater focus on the timings graph.
Update updates menu to allow enabling/disabling specific sources.
Add separate settings for ef_red+ef_green+ef_blue.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5768 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-09-29 07:09:01 +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