Commit graph

1340 commits

Author SHA1 Message Date
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
18c0e79c47 Fix up SOLID_CORPSE a little.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5952 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-06 00:12:12 +00:00
Spoike
bd72a60c98 Hopefully this change will make the illegible server messages on fortressone's map changes a little bit easier to track down.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5950 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-06 00:11:58 +00:00
Spoike
e7822ff2bf Fix some bugs that are exhibited in taov.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5949 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-06 00:04:41 +00:00
Spoike
b3f387a548 Misc dull tweaks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5946 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-03 23:33:59 +00:00
Spoike
61b13c7b8e Make sv_autooffload a little more user-friendly.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5941 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-03 01:46:58 +00:00
Spoike
80399796c7 Fix sv_autooffload on linux.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5939 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-03 01:46:46 +00:00
Spoike
c452bccd94 Fix up some qc genericdefs stuff.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5937 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-01 15:43:28 +00:00
Spoike
dc97689e9e Add SOUNDFLAG_NOREPLACE flag.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5932 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-01 01:16:54 +00:00
Spoike
d602e51e54 Try to fix up some splitscreen quirks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5917 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-25 18:50:42 +00:00
Spoike
36f750ba23 Fix naming issue from more than 10 people all called Player.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5914 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-23 02:14:18 +00:00
Spoike
0ca1e9177b Fix up some splitscreen issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5913 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-23 02:14:13 +00:00
Spoike
f810be4830 Make input_servertime available to ssqc too, so it can guage the player's latency more accurately.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5908 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:46:52 +00:00
Spoike
8b4a282c47 This should match Reki's revision, hopefully.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5907 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:46:44 +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
be0c0b1821 Small defs cleanup.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5897 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:45:14 +00:00
Spoike
19073fe2a5 Prevent ftenq from overflowing its svc_serverdata quite so easily.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5896 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:44:34 +00:00
Spoike
3a97a75ab2 Small code cleanup in the ftemaster code.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5884 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-02 15:29:51 +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
84d6ef3e45 Take extra measures to ensure that zip-in-bsp content is actually used.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5878 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-01 09:23:42 +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
4d351b60f3 Add SV_PerformSave/SV_PerformLoad entrypoints for QC-controlled saved games, at Eukara's request.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5872 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-27 11:34:15 +00:00
Spoike
1e2b0cdb18 Some ktx fixups.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5870 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-27 11:34:01 +00:00
Spoike
a9897b7d4e Make multicast respond to sv_nopvs too.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5862 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-19 04:50:06 +00:00
Spoike
e789d4400b Hack around the qc code to restore its jump sound when using autobunny.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5860 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-19 04:49:52 +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
b4b4653b68 csqc traces against ssqc bmodels should support rotation like the ssqc does.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5842 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-09 13:01:37 +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
36fb0bbe8e Give some 2d builtins some implicit args, particuarly stringwidth. This should work around weird dp-compat behaviour.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5818 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-04-19 15:37:36 +00:00
Spoike
320cf1cee5 Try to fix some compile issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5814 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-04-14 06:10:37 +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
Spoike
5cc499d5eb movetype_follow was not respecting r_meshpitch.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5800 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-01-11 07:09:50 +00:00
Eukara
4a2c74ee83 Check to make sure we don't send lightstyle updates to unsuspecting fake-clients/bots
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5799 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-01-04 13:44:42 +00:00
Eukara
9925427ac9 export waypoint radius to the route-data passed onto QC, this will change nodeslist_t
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5797 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-01-02 10:13:59 +00:00
Eukara
a98bd4eaf6 Routing: We forgot to pass the linkflags a way-file may define, fixed that
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5796 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-12-29 07:22:21 +00:00
Eukara
a322a175de Add support for the FIRSTPERSON renderflag from Q3
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5794 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-12-25 03:07:07 +00:00
Eukara
29e511817a Server: Check for fakeclients before attempting to 'fixangle' them
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5792 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-12-25 01:29:40 +00:00
Spoike
29cb22af8e try to fix vulkan validation warnings (and maybe some crashes on amd gpus)
fix sdl1 not compiling.
fix temporalscenecache with q3bsp
add the net_wm_ping protocol to fte's native x11 stuff, allowing our process to be killed if we lock up (usually due to vulkan drivers...).
qccguiqt: actually save the config.
try to fix hl fonts


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5785 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-11-04 10:19:30 +00:00
Spoike
e649f6ebdb Add SB_NAMESORT for search_begin to ensure files are sorted by name instead of filesystem precedence.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5783 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-10-27 04:10:51 +00:00
Spoike
5d4f66cffd Add SB_MULTISEARCH flag for search_begin.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5782 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-10-27 02:56:18 +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
524fdb3dfd Fix unintended rounding issue with hexen2's movechain stuff that was preventing origin changes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5774 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-10-01 01:27:00 +00:00
Spoike
4de49e06d1 Try to fix some stuff that was wrong in the last commit.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5769 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-09-29 09:34:38 +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
Spoike
22ea0b87d7 Try to fix up some qcc inline logic to no longer result in so many offset_0 values.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5744 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-08-15 04:31:27 +00:00
Spoike
51ef92fa52 Add map selection list to menusys. Some other minor tweaks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5743 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-08-13 10:09:39 +00:00
Spoike
744b9a25db try to fix common-symbol conflicts in windows builds.
attempt to provide some better gettext support for engine strings (especially cvar/command descriptions). still no translations available though.
try to optimise hldml rendering a little.
fix issue with menuqc models rendering as black when fog is active.
use threads to try to reduce stalls from player-skin switches.
add sys_clocktype cvar to linux builds too, with CLOCK_MONOTONIC by default.
enable dtls certificate pinning log stuff.
fix r_viewmodel_fov being used instead of fov cvar.
fix possible segfault when egl driver fails.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5742 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-08-13 08:39:48 +00:00
Spoike
48d4e97515 Try to make the readcmd builtin more robust (by erroring out if some command destroyed the qcvm during execution). Stop forceinfokey from spamming when the new value is unchanged.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5739 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-08-01 06:33:05 +00:00