Commit graph

1433 commits

Author SHA1 Message Date
Spoike
af661232e3 Support for equirectangular sky images. Because skybox orientations are generally too hard to get right. Urgh.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5955 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-06 00:12: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
fbdee5f149 Fix issue with r_keepimages 0.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5947 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-04 03:58:19 +00:00
Spoike
3409df483e Try to resolve some of the things RennyC complained about.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5938 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-01 21:05:45 +00:00
Spoike
93253a026a My realignment logic wasn't actually realigning the bsp data...
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5936 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-01 15:43:18 +00:00
Spoike
853d1ef330 Try to fix recent errors about incomplete attachments.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5930 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-01 01:16:40 +00:00
Spoike
2338e5b505 Add a cvar to restore buggy dlight range behaviours, requested by Orl.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5928 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-01 01:16:29 +00:00
Spoike
8c0646159f Try to make the vulkan renderer more robust on nvidia.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5925 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-01 01:16:11 +00:00
Spoike
c71a4f8587 Enable scenecache by default, lets see who complains.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5923 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-01 01:15:59 +00:00
Spoike
5c585b0e6e Prod r_temporalscenecache a bit to make it more tolerant of those inefficient shaders.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5918 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-25 18:50:53 +00:00
Spoike
2363b05216 If texture names can have map-specific prefixes, shaders must also.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5912 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-22 14:40:53 +00:00
Spoike
27831f7265 Fix some misc issues that noone else is likely to notice.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5911 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 19:13:33 +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
ca482a4f49 Some keys were not getting mapped to quake keycodes in X11.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5899 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:45:26 +00:00
Spoike
aa4cfe91b9 Fix oriented sprites - quake draws them backwards.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5893 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:44:14 +00:00
Spoike
1057453158 Fix softwarebanding. Fix problem with map textures with a leading #.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5890 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:43:45 +00:00
Eukara
9194f5cddf Fix rendering of turb surfaces on HLBSP
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5886 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-18 20:37:57 +00:00
Spoike
868f13cb29 Fix for FTE_CONFIG=wastes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5885 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-02 15:29:56 +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
d85cdd4c50 my map package tweak was defective. whoops. try again.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5880 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-01 10:56:08 +00:00
Spoike
1979150076 Preliminary attempt at loading zips concatenated onto the end of bsp files, instead of having servers load 5000+ different pk3s up front.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5876 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-28 07:07:48 +00:00
Spoike
fb54cc140b Lit sprites should not be additive. Make gl_blendsprites 2 replicate that tenebrae behaviour instead. Allow colormod to oversaturate sprites.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5868 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-27 11:33:48 +00:00
Spoike
100850ee93 Apparently I got those ranges backwards.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5866 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-20 15:35:32 +00:00
Spoike
fcbbfc223d Add colourmap support for hlmdls.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5863 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-20 12:29:25 +00:00
Spoike
2b2e7c76c4 Make FTE slightly more likely to work on gles<3 when configured for 32bit indexes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5859 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-19 04:49:33 +00:00
Spoike
d5beed038f Skinobjects now attempt to cache qwskins. This can be used as a precache for fortressone.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5858 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-19 04:49:24 +00:00
Spoike
8023ceadc8 Add r_glsl_precache cvar to force all glsl permutations to compile at startup. This can be slow on some drivers due to all the permutations involved, but probably handy for debugging, or for people worried about stutters.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5857 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-19 04:49:15 +00:00
Spoike
cdbf3614a3 Small tweak to temporalscene cache to adhere to r_novis. Change sort order of water shaders when refract_fbo isn't active, to ensure the refraction scene is actually drawn before its read.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5853 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-13 10:17:27 +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
2538e37e28 Add a preview for 2d array textures. Bind gl textures according to texture type rather than hardcoded assumptions, making it more consistent with the other rendering APIs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5839 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-09 13:01:15 +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
193d14a931 Try to fix webgl port.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5804 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-02-01 20:22:47 +00:00
Spoike
2fdb7ab6b3 Fix Tulkas' crashes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5802 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-01-24 14:33:45 +00:00
Eukara
f152acaa12 Fix a logic error with my rendering check. Sleep required.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5795 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-12-25 03:20:48 +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
Spoike
583922f586 Try to fix r_stereo_method anaglyph rendering.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5790 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-12-05 04:08: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
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
697edaac76 Optimise lightmap updates with threaded world rendering.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5778 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-10-15 00:17:37 +00:00
Spoike
899c54223e Some build fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5776 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-10-06 04:30:48 +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
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
6094fc6ab3 '+set vid_renderer egl_headless' will now give a headless client that's able to take screenshots and video captures without creating any kind of window. Because we can.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5763 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-09-15 08:54:10 +00:00
Spoike
7d970f78f8 Change r_shadow_realtime_world_importlightentitiesfrommap to default to 0. This will prevent the engine from using rtlights on maps that don't have any rtlights defined. Can still be forced on a per-map basis with 'r_editlights_reload bsp', or by just changing this cvar back to 1, if you're the kind of person who MUST have rtlights. makestatic+pflags stuff can still be used if a mod wants to define its own light conversions. This should make FTE a little more palettable to the mapping community.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5758 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-09-08 10:38:26 +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
Eukara
42d810b320 Support for HL SPR's INDEXALPHA blend type.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5754 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-09-05 18:58:12 +00:00