Commit graph

5774 commits

Author SHA1 Message Date
Shpoike
505061a8d2 Add deflate64 support, cos why not. 2023-04-17 03:58:21 +01:00
Shpoike
84035c8ae2 This seems more correct... 2023-04-17 03:58:21 +01:00
Shpoike
6f61af8ee9 Cvar description tweaks. 2023-04-17 03:58:21 +01:00
Shpoike
5ed4012a9b Fix OOM with obviously corrupt miptex lumps (eg: jvoxdm1.bsp). 2023-04-17 03:58:21 +01:00
Shpoike
527233154c Clients can now request the master to initiate an WebRTC/ICE connection with 'sv_public 1' servers. This is primarily for the browser port. Servers now report their srflx address via the status command (with fp, ready for secure copy+paste). 2023-04-17 03:58:21 +01:00
Shpoike
92be91f416 Prevent the user from selecting demoness when running base hexen2 to prevent a crash. Fixed visible menu markup too. 2023-04-17 03:58:21 +01:00
Shpoike
727aaec80c Fix console expansion when execing macros, to expand on line execution rather than the entire macro contents. 2023-04-17 03:58:21 +01:00
Shpoike
95d25558ef Move broker address to a cvar, so users can actually change it. 2023-04-17 03:58:21 +01:00
Shpoike
02a8a4fb76 Prevent our sctp implementation from corrupting its inbound messages. 2023-04-17 03:58:20 +01:00
Shpoike
2c8c9b615f Fix some bugs. 2023-04-17 03:58:20 +01:00
Shpoike
832ee6beef Prevent skyboxes from getting disabled on vid_reloads. 2023-04-17 03:58:20 +01:00
Shpoike
e104d6cf58 Try to fix purecsqc map loading issues. 2023-04-17 03:58:20 +01:00
Shpoike
f2d54f30d8 Update DTLS stuff, fixing certificate pinning bugs.
We should now support dtls1.2 under win10 (otherwise win7+8 is still stuck with 1.0).
SSQC can now query client certificate info via infokey - *cert_sha1 or *cert_dn
Server addresses can be postfixed with eg ip:port?fp=BASE64 to provide a fingerprint to verify the server without depending on cert authorities.
2023-04-17 03:58:20 +01:00
Shpoike
4d06516fb2 Keep menu cursors central to the item they're trying to indicate. 2023-04-17 03:58:20 +01:00
Shpoike
a5232cfecd Allow manifests to provide signatures for packages. Restart the menus when a package with a menu.dat is enabled. 2023-04-17 03:58:20 +01:00
Shpoike
c5f837d468 Rework some hashfunc_t stuff. 2023-04-17 03:58:20 +01:00
Shpoike
1fe478dfa1 Add basic support for ktx's 'mapname#modifier' ent stuff. 2023-04-17 03:58:20 +01:00
Shpoike
774fb93721 Work around some BS issue. 2023-04-17 03:58:20 +01:00
Shpoike
7caee8b453 Improve command arg completion. 2023-04-17 03:58:20 +01:00
Shpoike
e8fb813b4b Add sv_nqplayerphysics 2 setting, so both old+new qw protocols get the same prediction-disable hints. 2023-04-17 03:58:20 +01:00
Shpoike
22533dfab8 Fix up some minor portability issues. 2023-04-17 03:58:20 +01:00
Shpoike
91e0ec1f2b Show afk status on the scoreboard. Add some colours to the scoreboard to grade people's pings. 2023-04-17 03:58:20 +01:00
Shpoike
0d2a0c615a Eukara expressed an interest in loading fonts without any antialiasing. 2023-04-17 03:58:20 +01:00
Shpoike
73f9cddcdf Quick and dirty fix for broken 6dof/spiderpig cheats. 2023-04-17 03:58:20 +01:00
Shpoike
a70c84a2bc When models include two sets of texture coords, let the glsl actually access them. 2023-04-17 03:58:20 +01:00
Shpoike
d97fd1bfc9 Fix '+set tls_provider foo' not working properly. Fixes https://github.com/fte-team/fteqw/issues/162 2023-04-17 03:58:20 +01:00
Shpoike
f8962b6c47 Rework where connection_started is set to make sure its always set. Fixes https://github.com/fte-team/fteqw/issues/164 2023-04-17 03:58:20 +01:00
Shpoike
990066dea1 Add pm_bunnyfriction cvar to better mimic nq player physics with predictable QW physics. 2023-04-17 03:58:20 +01:00
Shpoike
45df6806c2 Load bumpmaps even if its just specular effects that are going to benefit. 2023-04-17 03:58:20 +01:00
Shpoike
354fbb2a85 Make blob shadows respond to gamecode a bit more naturally. 2023-04-17 03:58:20 +01:00
Shpoike
f54b9b8459 Fix up the web build's text+touch input a little. Make its webrtc cvars more consistent with desktop builds. 2023-04-17 03:58:20 +01:00
Shpoike
2d9ec83c20 Fix some build targets, fix csqc's setpause builtin. 2023-04-17 03:58:20 +01:00
Shpoike
540de79103 Fix vulkan crash on map end. 2023-04-17 03:58:20 +01:00
Shpoike
d9a334c694 Add halfrate shading to the vulkan renderer, where supported by headers+drivers. Fonts are exempt. 2023-04-17 03:58:20 +01:00
Shpoike
5786b43a7d Fix q3 when going into controls menu. 2023-04-17 03:58:20 +01:00
Shpoike
6a419833a8 Fix excessive reported gpu usage. 2023-04-17 03:58:20 +01:00
Shpoike
cba1a2a942 Update some third party library versions. 2023-04-17 03:58:20 +01:00
Shpoike
b095266070 Fix cmake-on-mac build errors. 2023-04-17 03:58:20 +01:00
Shpoike
07032bc216 Fix multiplayer menu breaking pak file names. 2023-04-17 03:58:20 +01:00
Shpoike
89ef66642e Fix mid-room skies in q2. 2023-04-17 03:58:19 +01:00
Shpoike
854fb60db8 Revert "Quake II: Set allow_skybox to 1 by default, as many maps (notable those in Mission Pack 2) use sky volumes to light the scenery within playable space."
This reverts commit ebbc6c0930.
2023-04-17 03:58:19 +01:00
177f09c21e
Enable -halflife launch option, tweak paths a little. 2023-04-16 18:34:39 -07:00
92229e769e
qclib: add sanity check for mixed usage of nonvirtual and virtual as it's currently unsupported. 2023-02-02 11:07:09 -08:00
Leo L. Schwab
1fda671b9a Joystick support fixes.
I did this because I wanted to fly around maps using a Spaceball
4000FLX, or any other 6DOF controller.  These fixes help it work.

Various fixes to joystick support:
  - joyaxiscallback() used strtol() to check to see if the supplied
    string was an integer, then didn't assign the parsed integer to
    the cvar.
  - Wrong multiplier for left/turnleft values.
  - Delete `axismap[]` from J_JoystickAxis().  It was causing problems,
    and smells like it was trying to do what the cvars
    joyadvaxis[xyzruv] are doing now.
  - Fix compiler error by adding case statements for:
	SDL_SENSOR_ACCEL_L
	SDL_SENSOR_ACCEL_R
	SDL_SENSOR_GYRO_L
	SDL_SENSOR_GYRO_R

New cvar: "joyonly".

"Joystick" axes are typically return-to-center affairs; their deflection
values are therefore reported as -MAX - MAX, with zero in the center.
"Game controllers" are similar, but also often have analog left and
right "triggers" which are reported as 0 - MAX, with zero at one end
(fully released to fully depressed).

Unfortunately, SDL will try its darndest to make a joystick look like a
"game controller."  It does this by reinterpreting certain of the axes
to report the range 0 - MAX, as if they were triggers.  This is not a
thing to do with 6DOF controllers, where all axes are return-to-center.
While it may be remotely possible to put together an SDL2 controller
mapping that reports -MAX - MAX on all axes, for me it was simpler to
hack on FTEQW.

Coupled with that is FTEQW's giving preference to "game controllers,"
i.e. if SDL_IsGameController() returns true, FTEQW will treat it as one.

"joyonly" is a boolean cvar.  If true, FTE will ignore "game
controllers" and treat everything as a joystick.  The default is false.
"joyonly" must be set at startup to be effective, when the controllers
are being enumerated by SDL.
2023-01-19 23:17:25 -08:00
ebbc6c0930
Quake II: Set allow_skybox to 1 by default, as many maps (notable those in Mission Pack 2) use sky volumes to light the scenery within playable space. 2023-01-15 15:04:18 -08:00
3adafe9326
Makefile: Bump ZLIBVER to 1.2.13. 2023-01-15 15:01:08 -08:00
Spoike
48576a59dc A bit of a code cleanup, change a couple of prints.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6343 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:15:31 +00:00
Spoike
86453332af Auto value for sv_demo_write_csqc now writes the csprogs into mvds, to hopefully reduce playback issues. the lazy record commands should be favouring .mvd.gz at least.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6342 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:15:23 +00:00
Spoike
c7e9f8631c Try to support DP mods a bit better.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6341 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:15:18 +00:00
Spoike
e257a9e231 Try to be a bit more verbose about why webrtc might be failing.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6340 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:15:12 +00:00
Spoike
fcbfc90892 Make our mini http server report timestamps better, so wget's timestamping is happy.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6338 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:14:57 +00:00
Spoike
b2df9b2b30 Try to avoid sigpipe errors from tcp connections.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6337 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:14:49 +00:00
Spoike
62622491f0 Make sure bad q2 layout strings won't go out of bounds. Add dev2 prints for bad layout string commands (there's probably lots of bad q2 mods out there, hence not dev1/unconditional).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6336 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:14:44 +00:00
Spoike
fb4531ea6c Attempt to improve touchscreen behaviours with onscreen buttons that appear upon touch events (and fade out). Long presses should close menus etc. Likely needs some more work.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6335 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:14:38 +00:00
Spoike
d4d84aec9d Show at least one address for each socket we're listening on, even if its loopback, instead of nothing at all.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6334 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:14:26 +00:00
Spoike
bc842ee28b Make sure freecs etc do heartbeats despite not giving a poop about nq/dp.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6333 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:14:15 +00:00
Spoike
a003674c01 Fix vulkan renderer's rt spotlights (both shadows and spinning).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6332 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:14:09 +00:00
Spoike
c1bc6bbe23 Start game menu's map option is now a combo instead of a text field, to save on typing.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6331 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:14:01 +00:00
Spoike
1ae6b239e8 If multiple updates come from inside the same .zip url, extract each one of them from a single download instead of downloading the exact same zip multiple times. This is mostly for DP mods that expect to need to download everything upfront.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6330 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:13:55 +00:00
Spoike
4dc4dd33e7 Our Q2 code is a little fragile. Give it its assumptions to avoid hideousness.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6329 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:13:50 +00:00
Spoike
1765f15059 Alt+tab was randomly registering as tab presses - explicitly ignore tab at the start of the input line so we don't end up with walls of console completion suggestions.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6328 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:13:45 +00:00
Spoike
3369344387 Handle recursive redirects better, don't silently truncate redirects.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6327 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:13:39 +00:00
Spoike
268b28a25d Fix up the penalty system. stealth mutes are now actually stealthed properly, user bans no longer confuse removeip. Added stealthmute command for convienience.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6326 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:13:33 +00:00
Spoike
fb9f8c9cd8 Fixups for crashes triggered by xonotic, probably some other mods too.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6325 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:13:28 +00:00
Spoike
6abd0f75bf ezquake clients were all being treated as version 0, instead of our version-dependant workarounds disabling when ezquake bugs got fixed.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6324 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:13:22 +00:00
Spoike
c769e6fa01 Fix Q2 saved-game crash.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6323 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:13:17 +00:00
Spoike
ed63b7435e Make class parsing more c++-like, fix some issues with uninitialised variables not getting detected properly.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6322 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:13:12 +00:00
Spoike
6700dfd289 Fix _bump texture loading.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6321 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:13:05 +00:00
Spoike
407c4eca8b Rework gamepad menu bindings, should be more intuitive now.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6320 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:12:59 +00:00
Spoike
1fb00b3721 Avoid the use of RETURN_CSTRING for cvar string values that might get cached by qc beyond the engine freeing the implied memory (crashes were reported by pjt/newby).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6319 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:12:46 +00:00
Spoike
503162aefe Add file uri support, requires a '-allowfileurl' commandline argument.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6318 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:12:39 +00:00
Spoike
cdcb3c3950 Add rogue's teamplay modes to the menu.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6317 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:12:31 +00:00
Spoike
9c47966653 Add -unsafefopen commandline argument to allow disabling the qc fopen sandboxing (like the original frik_file spec).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6316 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:12:26 +00:00
Spoike
2383c618ee Fix up some SDL issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6315 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:12:12 +00:00
Spoike
6307ae1303 add base64encode and base64decode builtins. Allow the second arg of registercommand builtin to specify a description for that command.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6314 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:12:04 +00:00
Spoike
c5d19c46ba Fix partial fakeshaft not always appearing.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6313 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:11:57 +00:00
Spoike
aa789965bf Fix cl_maxfps's periodic fast-frame bug. Reduce latency in singleplayer.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6312 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:11:50 +00:00
Spoike
cac4c91778 Be more verbose in the case of hardware errors, in case OMC has that issue again.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6311 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:11:45 +00:00
Spoike
3be61ca1bc Make sure the rerelease's models can do colourmapping properly.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6310 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:11:40 +00:00
Spoike
df6b651eeb Better compat with QE. EX_PROMPT now supported serverside (emulated for non-qe clients). Per-client localisation now works. Scoreboards are now a little nicer when running mods with well-defined teams (eg NQ ssqc).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6309 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:11:34 +00:00
Spoike
3a6f22d05c Make sure runstandardplayerphysics builtin properly initialises everything it needs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6308 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:11:23 +00:00
Spoike
2e84a3b96a Fix up some docs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6307 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:11:17 +00:00
Spoike
16c8e521ef Protocol compat with the Rerelease Update 4, at the expense of earlier versions.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6306 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-08-19 13:30:16 +00:00
Spoike
279474a019 Fix a skins issue on nq servers after changing maps.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6305 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-08-19 13:29:55 +00:00
Spoike
c2f7a7b2d0 Fix some issues from last commit.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6304 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-08-19 13:29:27 +00:00
Spoike
f8af9b18eb Fix up fteqcc's typedefs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6303 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-08-08 22:45:19 +00:00
Spoike
a0f2ffda90 Try to fix up some ICE quirks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6302 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-08-07 23:49:33 +00:00
Spoike
cbb18429f1 Work around a gcc optimisation bug.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6301 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:18:11 +00:00
Spoike
89fde9c5e4 Some more ICE polish.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6300 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:18:05 +00:00
Spoike
5182692590 Slightly smoother framerates on shib8.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6299 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:17:58 +00:00
Spoike
6941032cc7 Add r_showbatches command to debug builds. Shows a list of all draw calls for the next video frame.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6298 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:17:52 +00:00
Spoike
4fc23b4f4d Make the frametime graph a bit more pretty.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6297 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:17:45 +00:00
Spoike
e7a8e6b7f3 Our ICE implementation now uses mdns to avoid hairpin issues on lans, for more robustness.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6296 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:17:38 +00:00
Spoike
9abf7b74b3 Try to clean up our pext handshake code a smidge.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6295 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:17:33 +00:00
Spoike
62e8bb5774 Prevent FTE servers from getting mistreated as NQ servers, this should restore the 'observe' option.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6294 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:17:27 +00:00
Spoike
ce8155f8a1 Only default to sv_listen_nq when running q1.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6293 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:17:16 +00:00
Spoike
5d0dd2ef8f Make sure infokey(ent,"protocol") reports something unique for qex-protocol clients.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6292 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:17:11 +00:00
Spoike
de644a5384 Add fence stuff to q2bsp, for Kingpin support.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6291 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:17:05 +00:00
Spoike
77f5f7adc1 Fix a gl buffer handle leak.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6290 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:16:59 +00:00
Spoike
4fce9e090d Fix up vrinputs frame times.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6289 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:16:54 +00:00