Commit graph

1573 commits

Author SHA1 Message Date
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
Spoike
79d851d6ea Fix some crashes with rtworld enabled.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5752 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-08-26 09:25:48 +00:00
Spoike
8651ff62d8 fix 24bit skins to work again
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5751 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-08-24 07:52:55 +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
b005d9fdcd Try to fix missing impulses bug.
Fix skybox fog glsl compile error.
Implement DP_QC_FS_SEARCH_PACKFILE, search_getpackagename, and search_fopen.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5737 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-07-21 07:58:54 +00:00
Spoike
bd29617dce Fix NOT_I instruction emulation.
Fix 'struct{.float a,b;}' type confusion.
Display a more helpful message when too many globals are used.
Fix warnings about qcc commandline (eg when -max_regs is used).


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5731 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-07-15 23:50:30 +00:00
Spoike
6bea300f30 Allow menuqc to access the clipboard. Fix some c++ish warnings. Fix SDL build linker issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5728 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-07-14 00:48:56 +00:00
Spoike
571d16b14f Attempt to fix VK_NOT_READY issue on amd vulkan drivers, as well as xlib errors also on amd.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5710 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-06-27 19:31:55 +00:00
Eukara
4851956acb GLX: Map the key 'MENU' aka K_APP to XK_Menu.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5706 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-06-13 20:02:55 +00:00
Spoike
5aa11ddbb1 makefile: attempt to fix freetype when not using makelibs (should make it slightly easier for people to compile with msys2 without needing to resort to cmake).
emenu: clean up hexen2's maplist options slightly.
emenu: modelviewer should now be slightly more friendly (click+wasd to move around).
particles: fix up randomised s coords.
csqc: try to fix issue with applycustomskin not refcounting properly.
client: [s_]precache and (new) mod_precache cvars can be set to 2 to precache the resources after load, for faster loading at the expense of some early stutter, without risking later mid-game stuttering.
gltf: add support for morphweights in a cpu-fallback path. don't expect good performance on surfaces with morphtargets for now.
gtlf: add some support for gltf1 files. far from perfect.
shaders: gltf1 semantics handling
shaders: const correctness
iqmtool: fix up mdl skin export.
iqmtool: integrate the engine's gltf2 loader. works with animated models, but unanimated ones suffer from basepose-different-from-bindpose issues.
q3bsp: hopefully fixed bih traces. still disabled for now.
qc: change default value of pr_gc_threaded to 1.
qcext: add the '__deprecated' keyword to various symbols in fteextensions.qc, now that fteqcc supports it.
ssqc: spit out a more readable error for WriteByte(MSG_CSQC,...) outside of SendEntity.
ssqc: add registercommand builtin, for consistency with menuqc and csqc (though only one can register any single command).
sv: report userinfo/serverinfo sizes (some clients still have arbitrary limits, plus its nice to see how abusive things are)
sv: try to optimise sv_cullentities_trace a little.
movechain: relink moved ents.
csqc: add spriteframe builtin, for freecs to use instead of more ugly less reliable hacks.
menuqc: fopen("tls://host:port", FILE_STREAM) should now open a tls stream. tcp:// should also work.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5703 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-06-12 23:29:58 +00:00
Spoike
f688882d3e Fix r_dynamic.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5699 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-06-01 01:30:31 +00:00
Spoike
80474cc3be Fix web+android targets. Fix some relatively recent quake2 bugs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5695 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-05-16 13:12:58 +00:00
Spoike
c949500da8 Implement preliminary openxr plugin. inputs are still useless (can HOPEFULLY result in some prints, but nothing else), and there's no considerations for 2d things.
Fix prediction issues with the ftenq protocol.
Fix some console image previews.
Added mod_precache cvar. set to 0 to significantly reduce memory usage in xonotic...
Prevent xonotic's random file writes from forcing full worker syncs, for faster loading.
QTV connections are now accepted only from localhost peers by default.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5694 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-05-14 15:50:26 +00:00
Spoike
4c2066601a Support connecting subnodes to servers over tcp (instead of depending on fork).
Fixed up the -netquake / -spasm / -fitz args slightly, should actually be usable now.
sv_mintic 0 is now treated as 0.013 when using nqplayerphysics, to try to make it smoother for nq clients.
Preparing for astc's volume formats. Mostly for completeness, I was bored. Disabled for now because nothing supports them anyway.
Fix broken mousewheel in SDL2 builds.
Fix configs not getting loaded following initial downloads in the web port/etc.
Make the near-cloud layer of q1 scrolling sky fully opaque by default (like vanilla).
Sky fog now ignores depth, treating it as an infinite distance.
Fix turbs not responding to fog.
r_fullbright no longer needs vid_reload to take effect (and more efficient now).
Tweaked the audio code to use an format enum instead of byte width, just with the same values still, primarily to clean up loaders that deal with S32 vs F32, or U8 vs S8.
Added a cvar to control whether to use threads for the qcgc. Still disabled by default but no longer requires engine recompiles to enable!



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5683 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-04-29 10:43:22 +00:00
Spoike
843f971e2c minor compile fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5672 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-04-19 05:11:19 +00:00
Spoike
81617eaebc minor compile fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5669 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-04-19 03:44:32 +00:00
Spoike
e8aa715763 disabled some quake-only teamplay stuff in non-quake builds.
GL: r_dynamic -1 is now r_temporalscenecache 1, which makes menu options etc a little friendlier. fixed a serious memory leak.
GL: Lightmaps are now uploaded using pbos to reduce cpu stalls (especially with temporalscenecache) and the resulting periodic framerate drops. Requires gl4.4.
PM: moved manifest-downloads to the package manager. still needs some proper testing.
PM: Fixed bug with downloading updates from every known mirror for that update.
PM: Fixed bug with duplicate mirrors...
PM: menuqc is now able to query available updates.
engine's Draw_TextBox centers the text box more appropriately and easily.
SV: added sv_autooffload cvar, when set the map command will automatically create a server in a separate process to reduce the effects of stutter in inefficient ssqc mods.
Menu: menu_mods now shares data with getgamedirinfo builtin.
MenuQC: Added some extra properties to the getgamedirinfo builtin.
MenuQC: Added Menu_RendererRestarted entrypoint.
MenuQC: _vid_renderer_opts cvar now has a value that actually reflects the windowing systems in the build, rather than just renderers.
CQSC: Added getlocationname builtin.
ALSA: device names are now more consistent with other audio drivers.
SV: added unsavegame console command, to delete unwanted saved games.
SV: hashtable entries are now saved into saved games.
SV: reworked player remapping strategy when loading games. Player slots are now directly swapped serverside, not reconnected.
SV: resend all csqc entity state when a client signals that it started recording a demo.
SV: Added SOLID_BSPTRIGGER as a shapely alternative to the aabb SOLID_TRIGGER. modelindex must still be set for this to work.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5668 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-04-19 01:23:32 +00:00
Eukara
b8a81d1868 Permission to kill the glass-shader hack.
It would have been cvar'd, but we figured it'd be a waste of LOC.
Handle this in the game-logic instead.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5663 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-03-29 18:37:10 +00:00
Spoike
11e41f1e7d Fix some Q2 issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5659 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-03-28 01:46:25 +00:00
Spoike
b63dc8b880 prepare for proper binary auth instead of depending upon tls certs (using sha2(512) to ensure no modification). probably buggy on windows so not fully enabled yet.
allow for binary updates on linux as on windows (-allowupdate for modified/nonsvn builds).
dlightmask is now size_t, because we might as well allow that on 64bit cpus, this allows for 64 lightmaphack lights instead of 32.
fix potential openal issue with source=0.
added q3bsp_ignorestyles cvar to ignore rbsp styles (and reduce needed batch counts), should only be used on maps with subtle lighting changes (ones that are properly lit without toggling any lightswitches).
add support for directly loading foo.bsp.gz
Added prints to clarify why servers might be listed under the 'UNKNOWN' category in the master server. Attempt to show hostnames anyway, to make it a little more obvious who's responsible for those badly configured servers.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5656 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-03-25 21:29:30 +00:00
Eukara
e11a3da66e Ignore vmap_ material prefixes
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5652 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-03-16 03:47:01 +00:00
Spoike
4beaf0e0c8 Fix miptex crash.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5647 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-03-08 18:10:50 +00:00
Spoike
062cdf6b21 Q3TA: Added snd_ignorecueloops cvar to ignore auto-looping sounds.
Q3TA: Fixed script parsing, so the menus are not so broken.
Q3TA: added the UI_CIN_* and CG_CIN_* builtins for 2d cinematic playbacks.
Q3TA: backspace should work for gamecode text entry now.
Q3TA: map_restart now directly restarts without needing loading screens.
Fixed multiple envmap generation bugs.
Fixed envmaps getting flushed with r_keepimages 0.
Console image previews can now display cubemaps (although their orientation is probably a little off).
Made a 'remapshader' csqc builtin. Depending on the r_remapshader console command was stupid.
Fixed packet command to create a udp socket, if needed.
sv_public can now be set to a non-numeric name for custom names (instead of needing to poke sv_port too).
Support extended data on the end of miptex entries in bsps. Requires a qbsp (like vanilla) that doesn't rewrite the miptex entries.
Updated imgtool to generate/read our new extended miptex data.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5644 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-03-07 09:00:40 +00:00
Eukara
2b01dbea52 Mark fonts as IF_NOPURGE.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5643 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-03-02 04:00:54 +00:00
Eukara
99e9817dd8 Don't purge shadows on reinit (r_purgeimages fix)
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5641 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-29 19:29:01 +00:00
Spoike
fe28099e68 Switch to using epoll on linux, because we can.
Rework q3bsp_mergedlightmaps as q3bsp_mergelightmaps. Now a boolean filling to the gpu's limit. Now also fills horizontally too.
ftemaster now provides needpass info for sv_public 2 servers.
fix (most?) ftemaster crashes.
ftemaster now supports protocol name aliases (allowing for more friendly game names in its html).
ftemaster now pings the servers from a different port. This should highlight/exclude servers that are unreachable for nat/firewall reasons.
Fix memory leak from mvd recording.
Servers should now cope better with ctrl-z and related fg/bg unix shell commands.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5638 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-26 00:37:52 +00:00
Eukara
62f2a380e1 Performance boost by correctly batching lightmaps.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5637 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-25 00:30:34 +00:00
Spoike
5626c20876 Fix some wayland bugs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5633 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-20 02:41:02 +00:00
Spoike
dbc76288a5 Fix discoloured screenshots bug.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5632 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-20 02:33:15 +00:00
Spoike
bfa5cef4d3 Fix misc obscure builds.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5620 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-12 12:15:56 +00:00
Eukara
b0a9b18b55 We now handle Quake 2 BSP flow textures.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5619 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-12 03:06:48 +00:00
Eukara
e655d13d0e Fix wrong Quake 2 BSP rendering properties and serverinfo allow_skybox
1.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5618 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-12 02:09:26 +00:00
Eukara
9099d2796b Always sample lightgrid a bit higher up, because anything close to the
ground usually turns pitch-black that's got a smaller bounding box.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5616 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-11 23:12:33 +00:00
Spoike
9033f7b237 fixed eztv md4 incompatibility.
reimplemented qtvreverse command.
fixed some stuffcmds being handled by the wrong splitscreen seats (was noticable in TF).
rework smartjump to try to be more predictable...
rework relighting to try to be more robust (and more self-contained).
allow the csqc to actually use VF_PROJECTIONOFFSET.
jump now moves upwards instead of trying to lock on to a nearby player when spectating.
assume 32 fullbright pixels when running with a palette.lmp yet no colormap.lmp (happens with some total conversions).
tweaked scoreboard for fainter backgrounds.
rearranged autoid, to be smaller etc.
hacked around dodgy conchars.lmp - don't treat 128*128 qpics as qpics to work around workarounds for buggy wad tools (with a warning).
fixed missing fullbrights on h2holey models.
avoided warning about mod_h2holey_bugged on dedicated servers.
added net_ice_exchangeprivateips, for people worried about exposing lan IPs when using ICE.
sv_public 2: implemented client support for our webrtc broker in order to use our own ICE implementation without needing to faff around with irc accounts or plugins etc.
TODO: ensure at least one ephemerial udp port when using ice or come up with some better sv_port handling
fixed multiple tls bugs (one could cause server problems). change net_enable_tls to disabled by default anyway (reenable for the server to be able to respond to https/wss/tls schemes again).
don't colourmap when there appears to be a highres diffusemap on q1 models.
imgtool now understands exporting from qpics in wads, as well as just mips.
implemented speed-o-meter in ezhud.
added removeinstant builtin to avoid the half-second rule.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5614 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-11 18:06:10 +00:00
Spoike
75593b6578 Block autorepeat from sending release events (consistent with win32).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5613 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-11 03:59:01 +00:00
Spoike
67b5041ec8 Added VF_PROJECTIONOFFSET to offset the projection (for GoaLitiuM).
Added mod_h2holey_bugged cvar for better compat with quakespasm's bugs (for xaGe et al).
Some minor compiler warning/error fixes.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5600 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-01-13 07:03:28 +00:00
Spoike
73f92fb799 Fix problems with last commit.
Fix rbsp not responding to lightstyle0 consistently.
Fix q2 not responding to any lightstyles.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5599 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-01-10 12:23:25 +00:00
Spoike
bfea433dff Attempt to fix some nondeterministic build variations.
fix GPD_LIMIT_PITCH not properly limiting +lookdown.
fix plugins not auto-loading properly (when previously enabled, obviously).
engine updates now try to replace the 'launcher' binary, instead of chaining from it. this should make firewalls (and other shady special-case gldriver hacks) more consistent at the cost of not being able to revert to your initial revision.
imgtool can now extract from wads.
imgtool now compiles+works on windows (GoaLitiuM's code).
update ffmpeg plugin to handle more recent ffmpeg versions properly.
fix somewhat recent audio streaming bug with openal output.
fix sleep+abort qc builtins.
gltf2 plugin will now work better with blenders no-material files.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5598 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-01-09 15:35:40 +00:00
Spoike
eddf5dc6d1 Better warnings with some dodgy xonotic shaders.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5591 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-12-16 17:25:59 +00:00
Spoike
0cf6128ffe Remove void* pointer arithmatic to make msvc happy.
Change openal usage to try to be more conformant to spec (should only be an issue for less mature openal implementations though).
Added a developer warning if fog is oversaturated.
Fix crash when loading a game with an animated texture in view... yes, weird.
Support big-endian ktx files.
Added some wrath builtins.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5588 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-12-10 14:50:47 +00:00
Spoike
2c07bbac7d Fix some problems in my last commit.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5582 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-11-20 04:53:22 +00:00
Spoike
811bce25f1 Too many changes, sorry.
Change revision displays, use the SVN commit date instead of using __DATE__ (when there's no local changes). This should allow reproducible builds.
Added s_al_disable cvar, to block openal and all the various problems people have had with it, without having to name an explicit fallback (which would vary by system).
Add mastervolume cvar (for ss).
Add r_shadows 2 (aka fake shadows - for ss).
Add scr_loadingscreen_aspect -1 setting, to disable levelshots entirely, also disables the progress bar (for ss).
Better support for some effectinfo hacks (for ss).
Added dpcompat_nocsqcwarnings (because of lazy+buggy mods like ss).
Rework the dpcsqc versions of project+unproject builtins for better compat (for ss).
Added dpcompat_csqcinputeventtypes to block unexpected csqc input events (for ss).
Better compat with DP's loadfont console command (for ss).
Added dpcompat_smallerfonts cvar to replicate a DP bug (for ss).
Detect dp's m_draw extension, to work around it (for ss).
Cvar dpcompat_ignoremodificationtimes added. A value of 0 favour the most recently modified file, 1 will use DP-like alphabetically sorted preferences (for ss).
loadfont builtin can now accept outline=1 in the sizes arg for slightly more readable fonts.
Fix bbox calcs for rotated entities, fix needed for r_ignorenetpvs 0.
Hackily parse emoji.json to provide 💩 etc suggestions.
Skip prediction entirely when there's no local entity info. This fixes stair-smoothing in xonotic.
screenshot_cubemap will now capture half-float images when saving to ktx or dds files.
Fix support for xcf files larger than 4gb, mostly to avoid compiler warnings.
Fixed size of gfx/loading.lmp when replacement textures are used.
Added mipmap support for rg8 and l8a8 textures.
r_hdr_framebuffer cvar updated to support format names instead of random negative numbers. Description updated to name some interesting ones.
Perform autoupdate _checks_ ONLY with explicit user confirmation (actual updating already needed user confirmation, but this extra step should reduce the chances of us getting wrongly accused of exfiltrating user data if we're run in a sandbox - we ONLY ever included the updating engine's version in the checks, though there's nothing we can do to avoid sending the user's router's IP).
Removed the 'summon satan all over your harddrive' quit message, in case paranoid security researchers are idiots and don't bother doing actual research.
Removed the triptohell.info and fte.triptohell.info certificates, they really need to stop being self-signed. The updates domain is still self-signed for autoupdates.
Video drivers are now able to report supported video resolutions, visible to menuqc. Currently only works with SDL2 builds.
Added setmousepos builtin. Should work with glx+win32 build.
VF_SKYROOM_CAMERA can now accept an extra two args, setviewprop(VF_SKYROOM_CAMERA, org, axis, degrees).
Removed v_skyroom_origin+v_skyroom_orientation cvars in favour just v_skyroom, which should make it behave more like the 'fog' command (used when csqc isn't overriding).
Added R_EndPolygonRibbon builtin to make it faster+easier to generate textured ribbon/cable/etc wide lines (for TW).
sdl: Fix up sys_sdl.c's file enumeration to support wildcards in directories.
edit command now displays end1.bin/end2.bin correctly, because we can.
Finally add support for f_modified - though ruleset_allow_larger_models and ruleset_allow_overlong_sounds generally make it redundant.
Fix threading race condition in sha1 lookups.
Updated f_ruleset to include the same extra flags reported by ezquake.
A mod's default.fmf file can now contain an eg 'mainconfig config.cfg' line (to explicitly set the main config saved with cfg_save_auto 1 etc).
fmf: basegame steam:GameName/GameDir can be used to try to load a mod directory from an installed steam game. The resulting gamedir will be read-only.
HOMEDIR CHANGE: use homedirs only if the basedir cannot be written or a homedir already exists, which should further reduce the probability of microsoft randomly uploading our data to their cloud (but mostly because its annoying to never know where your data is written).
Fixed buf_cvarlist, should work in xonotic now, and without segfaults.
Added an extra arg to URI_Get_Callback calls - the response size, also changed the tempstring to contain all bytes of the response, you need to be careful about nulls though.
Try to work around nvidia's forced-panning bug on x11 when changing video modes. This might screw with other programs.
sdl: support custom icons.
sdl: support choosing a specific display.
Added some documentation to menuqc builtins.
menusys: use outlines for slightly more readable fonts.
menusys: switch vid_width and vid_height combos into a single video mode combo to set both according to reported video modes.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5581 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-11-20 03:09:50 +00:00
Spoike
e95ead86e9 Fix deluxemaps issue with q3 lightmap merging, and a couple of other minor issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5579 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-11-04 17:24:11 +00:00
Spoike
10718b339c Try to fix Sock's window-not-sized-properly issue.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5577 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-30 14:33:32 +00:00
Spoike
c0e297c93d Don't try and generate vbos for surfaces with no verts nor elements.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5574 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-26 09:37:52 +00:00
Spoike
81ade0c5d3 Fix grey textures coming out as too dark.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5573 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-26 09:32:38 +00:00
Spoike
11e6214daf Add explicit skyroom fog.
Changed how cubemaps are held in memory, making all images basically just 3d textures.
Don't start up at all if no game data is found.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5570 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-18 08:37:38 +00:00
Spoike
bf1bd72be4 Use reflectcubes more often.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5567 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-15 18:10:14 +00:00
Spoike
1d56c1443e Optimise env_cubemap. Fix some compile warnings.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5564 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-07 04:51:17 +00:00
Spoike
0a88ecfb33 windows doesn't define GL_RGB32F.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5562 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-06 05:36:22 +00:00
Spoike
1c1f04370f preliminary .xcf support.
imgtool tweaks.
some build system fixups.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5560 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-06 01:59:13 +00:00
Spoike
cfd20f4f06 Update prediction code to propagate some values properly with certain protocol combinations that I'd overlooked.
Try to fix problems caused by (auto)save's screenshots
Added code to allow falling back on stbi for when libpng/libjpeg are not compiled it, at eukara's request.
Handle .exr image files as suggested by eukara, when the appropriate library is available.
Fix mipmaps etc for half-float files.
Enable support for stbi's special gif loader, loading gifs as an 2darray texture.
Add code for threading the qcvm's tempstring recycling, disabled due to paranoia but does otherwise help xonotic perf (at the cost of extra ram).



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5548 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-09-25 20:23:24 +00:00
Spoike
131a6be4bc Fix ignore command.
Add cl_lerp_driftbias and cl_lerp_driftfrac cvars, to tweak drifting. changed defaults to try to reduce clamping.
Implement ladders with nq player physics.
Fix submodel contents with nq player physics.
Implemented drawrotpic_dp for compat (incompatible with fte's earlier implementation)
Added con_textfont cvar to set fonts without uglifying menuqc/csqc drawstrings that don't specify explicit fonts.
Enemycolor and teamcolor are now true cvars, which means they now work with seta.
Move the homedir from CSIDL_PERSONAL to CSIDL_LOCAL_APPDATA, because microsoft apparently scrape all CSIDL_PERSONAL data for upload to their servers, because they don't understand 'personal'. Will still use the old homedir if it exists.
Pack signon data without wasting so much, primarily to allow abusive mods to spew larger individual signon messages (hurrah for packet fragmentation).


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5546 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-09-17 19:49:39 +00:00
Eukara
40b7193cef Grayscale Half-Life fonts upon loading them
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5545 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-09-17 18:43:59 +00:00
Eukara
6e3c5f2d8d HLMDL: Fix models with loads-of-bones from drawing incorrectly by doing
them in software instead if r_max_gpu_bones is set too low.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5544 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-09-16 17:34:57 +00:00
Spoike
8f02c55729 Load .obj meshes (yuck). They should at least be useful for loading the odd q3 .map file.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5543 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-09-15 15:20:20 +00:00
Spoike
c6917a5f8c Added LMSTYLES16 support, increasing max lightstyles to 65k.
Updated networking for these extra lightstyles.
LMSTYLES[16] bspx lumps now also infer the number of styles per face, allowing for up to 16 styles per face.
Support a few more pixel formats in dds files.
Allow r_lightmap_format to be changed instantly.
Remove physics_bullet_enable cvar, as its inferred by whether the plugin is enabled or not.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5540 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-09-10 15:40:04 +00:00
Spoike
474f01d553 Fix emscripten.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5537 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-09-05 16:01:13 +00:00
Spoike
5fa6e12d56 Compile fixes (mostly focused on windows)
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5533 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-09-04 23:39:39 +00:00
Spoike
41b0d993f2 smoother console scrolling (at least with the mouse)
support RLE+luminance+alpha tga files.
support half-float tga files.
recognise hdr astc images.
added appropriate fallbacks for astc support.
load mip-less .astc files (mostly just for debugging stuff).
allow packages to warn about required engine/gpu features.
catch when stdin flags get changed to blocking by external libraries, to avoid fatal stalls.
basic support for .mdx files (kingpin models)
sort packages loaded via wildcards, by datetime then name, to avoid random ordering from certain filesystems.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5531 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-09-04 08:32:22 +00:00
Spoike
d561772bb0 stripped support for qvm-based plugins. rewrote native plugins to use a more efficient interface.
merged engine menus, native menus, game menus, plugin menus into a single layered menu interface, simplifying all the special-case input.
engine confirmation prompts can now show regardless of underlaying menus, including above the console.
skeletal formats can now provide their own way to build bones, for variable per-bone keyframes/interpolation methods/etc (used by gltf2).
updated various plugins for the new api.
removed qvm makefiles/scripts.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5530 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-09-04 07:59:40 +00:00
Spoike
9202c3f015 Restore choke lines into the netgraph, and support discontinuities so it doesn't look so weird. Also tweak realip warnings. Don't honour dupes if it would exceed rate limits (new data is better than dupe data), which can also double-up as a CBR type thing to try to reserve the bandwidth (avoiding packetloss bursts at the worst times).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5525 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-08-24 16:09:08 +00:00
Spoike
06be934fa2 Try to fix xrandr monitor selection - should now properly default to the primary monitor, as well as actually use it...
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5523 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-08-20 11:45:43 +00:00
Spoike
267d9a1753 Make astc pixel formats more likely to load (nvidia are the only ones that don't support ldr astc on new gpus, but their drivers can emulate it so things still work).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5522 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-08-20 10:46:02 +00:00
Spoike
eeba6c912e Remove the 'weapon' command and a few others in q2/q3. Never reset pending input angles to 0 (makes mods that use input_angles instead of view_angles work a bit better). Some c++ tweaks for the bullet plugin.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5521 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-08-19 16:15:31 +00:00
Spoike
e378ff51ac Fix high's te_teleport effect.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5513 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-08-12 03:48:46 +00:00
Eukara
3d55513a48 Fixed off-by-one that'll totally fix model issues, especially on OpenBSD.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5506 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-08-06 07:46:38 +00:00
Spoike
07ac8fd047 fix outline quirks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5505 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-08-03 18:02:21 +00:00
Spoike
15faa72a3d Fix gles-only builds.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5504 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-08-03 03:41:22 +00:00
Spoike
707fba95cd Implement gl_outline, fixing some of the issues with my previous attempt.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5502 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-08-03 02:07:40 +00:00
Spoike
26e527a8a6 Fix compile issues when HAVE_PACKET is disabled, also removing references to resulting unusable hostnames.
Fix recent sizeof(void) error.
Fix crashes from 0-byte lit files (and a few other related bugs that noone else noticed yet).
r_loadlit 3 now generates e5bgr9 .lit format (for over-over-bright). Also supports world.light for minlight values, now also uses super-sampling (slower but nicer).
Additionally disable PEXT_TRANS in the FortressOne fork of ezQuake (sidestepping its inherited bugs).
Fix q3's sprites getting horizontally flipped.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5501 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-08-03 01:58:03 +00:00
Spoike
7991260cc0 Add BPTC (aka: bc6+bc7) fallback decompression.
Fix some warnings.
Work around ezquake's PEXT_TRANS bug - now properly gets disabled.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5500 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-08-01 02:13:44 +00:00
Spoike
e88ae1537e Fix up SDL port.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5498 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-07-29 16:33:59 +00:00
Spoike
8612ca3437 Lets try enabling Z_EXT_PF_ONGROUND by default for a bit, lets see what explodes.
Some warning/compile fixes.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5496 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-07-29 06:04:43 +00:00
Spoike
7ca727489a Fix some warnings.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5495 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-07-29 05:49:27 +00:00
Spoike
1b8e779b9b Last fix for skyrooms. Should now show entities in the skyroom.
Fix a couple of valgrind issues.
Added reason info for when a download fails.
Downloading models now forgets failed-to-load state, fixing a downloaded-but-still-missing bug.
Use anisotropic filtering in more fps_presets.
Fix significant fps loss when using the modelviewer.
First attempt at automatic LOD (supported for md3s and extended-iqms for now).



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5494 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-07-29 05:28:20 +00:00
Spoike
326f9dddc8 Fix skyrotate glsl compilation error, apparently nvidia are fine with qcish syntax while other drivers are not.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5493 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-07-21 05:00:29 +00:00
Spoike
df8440d682 Make sure skyrooms show only the entities inside the skyroom (disabling non-static entities if their pvs is not reliable).
Make sure q2's skyaxis/skyrotate stuff actually works properly on skyboxes.
Add a cvar to spin skyrooms too (separate from skyboxes, allowing for double spins though probably only one will be useful).
Fix win32+reversedns issue.
Fix a splitscreen networking bug.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5492 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-07-19 02:13:19 +00:00
Spoike
e0fe3c8dec vulkan: fixed anisotropy
vulkan: fixed msaa
vulkan: fixed some validation errors
input: fixed bug with mwheel etc failing to register
screenshot_360: default to vid width/height instead of assuming a megascreeny
images: reworked Image_ResampleTexture to handle image formats in a more generic way
console: toggle command now accepts two args to toggle the cvar between
skyrooms: fixed a couple of bugs.
x11-egl: should actually work now
wayland: fixed up some omissions. still needs more work but should at least be somewhat tolerable now.
server: be a little more friendly towards ktx
server: added sv_use_dns cvar, to report reverse-dns instead of ip addresses.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5491 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-07-16 02:59:12 +00:00
Spoike
748f373783 Fix bug with xinput axis not triggering simulated buttons.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5487 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-07-03 17:41:30 +00:00
Spoike
8197e0875f Track areas properly, so we don't bug out when a client has multiple cameras in different areas.
Fix up r_ignoreentpvs 0 to check areas properly.
checkpvs builtin can no longer mess up area checks elsewhere.
Write out foo.db files for release builds, in the hopes of at least getting function names from release-build crashes.
Implement _skyroom worldspawn field, still needs a few tweaks though.
Try to fix android surface-related crashes, AGAIN.
Separate parsing of connect requests, in preparation for formal logins (and removal of the old ranking code).
A few tweaks to try to improve compatibility with q3 mods.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5484 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-07-02 04:12:20 +00:00
Spoike
9c7ba654b5 Add a maptimes log, to display best times (and whether a map has actually been completed).
update the qi plugin a little, and for maptimes.
Try to fix a bug with android.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5480 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-06-21 03:59:46 +00:00
Spoike
6ed36fa5a9 Fix shaders forcing lowercase.
Fix saving of infoblobs (larger than 48000 bytes will not be saved).



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5477 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-06-18 13:03:37 +00:00
Spoike
2715ee0767 That gl define wasn't defined on windows.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5476 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-06-17 17:48:42 +00:00
Spoike
5721e754a6 Rework android code to avoid google's nativeactivity limitations.
Fix a number of gles2 bugs.
Fix infoblobs. they should be much more reliable now.
Added callbacks so csqc can know when serverinfo|playerinfo changes (at least for processing blob changes anyway).
Fix 'pkg addsource' not saving (and remsource).



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5475 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-06-17 04:21:41 +00:00
Spoike
00885ffd27 Fix q2 cinematics (was giving black screens).
Add support for DP_SV_CLIENTCAMERA (primarily to work around an rmq bug).
Now pointing the engine at the shadowy updates.triptohell.info domain (with a self-signed cert), so that we can give fte.triptohell.info a proper cert that browsers will trust. Still need to make a stable release some time before that can happen.
Make sure q2 gamecode updates can work, so win64/linux64 can actually run q2 now (using yamagi's).




git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5467 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-06-05 20:48:06 +00:00
Spoike
81b3749a71 Added support for MST_PATCH_FIXED=256 for fixed-tessellation patches.
Also enforce some sanity limits for bsp lump sizes, to avoid int overflows.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5462 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-05-23 19:06:04 +00:00
Spoike
3c5518afa8 Optimised the textures of defaultwall with fast preset.
Fix simpleitems transparency in gles2.
Fix a couple of GL errors in gles2 (including some fixed function stuff that could result in segfaults).
Dynamically adjust MTU values with legacy qw clients too.
Added some small sleeps while waiting for downloads (this fixes insanely slow valgrind startups but might make non-valgrind start a smidge slower).
Fix title metadata in the updates system.
Clean up some issues for when WEBCLIENT is not defined.
HAVE_HTTPSV also disables websocket connections, to completely avoid any http strings anywhere, in the hope that it reduces virus scanner false positives.
Fix presets initial option, again.
Writing files to FS_GAMEONLY no longer purges the entire fscache, which should give a speedup in certain situations.
Added some new cvars to control heightmap lightmap generation.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5461 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-05-23 15:11:32 +00:00
Spoike
b3050121cf Some Android tweaks.
clean up args to Net_PextMask.
some build config fixes.
attempt to support meag's 'status 32' qtv address lists.
fix bug with vulkan+sdl renderer.




git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5460 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-05-10 09:31:21 +00:00
Spoike
c22a6b707a android/msvc tweaks/fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5451 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-04-19 23:55:47 +00:00
Spoike
15390a908f Made Sys_GetFreeDiskSpace, because it'll probably need to get reused eventually anyway.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5450 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-04-17 19:57:26 +00:00
Spoike
cb346bc1db Do ansi colours in sdl builds too.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5449 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-04-17 09:48:03 +00:00
Spoike
9f46ea14ff Build config tweaks.
Changed NOLEGACY to HAVE_LEGACY (the negation was annoying).
Added missing defines to the alternative build configs, and removed some obsolete ones.
Fixed a crash in svc_setportalstate.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5446 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-04-16 22:40:05 +00:00
Spoike
3ee3230f96 Try to fix up FTE's android port.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5445 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-04-15 18:43:42 +00:00
Spoike
12d3e48785 Added support for culling csqc entities according to pvs (primarily to fix skyrooms, but can also help other situations too). Requires r_ignoreentpvs 0 (compat builds still use 1).
Added some explicit IMGFMT_ constants for qc.
Apply contrast after gamma, instead of before, should give a slightly more colourful result.
Version command now lists supported image formats (separately from extensions).
More BIH fixes.
Add patchDefWS parsing in .map files, for rgba vertex colours.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5444 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-04-07 16:41:09 +00:00
Spoike
974a8074a3 fix TW patch/uncrouch bug.
use sdl 2.0.4 audio queuing output when mixerthread is disabled.
first attempt at BIH traces. doesn't yet work properly so disabled for now, but does fix some performance blackholes in xonotic.
first attempt at a lfield_nearclip value.
add VF_SKYROOM_CAMERA for easier skyrooms.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5442 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-04-01 10:16:36 +00:00
Eukara
c1c0a861b8 Added support for multipliers to the polygonOffset directive
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5439 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-03-28 04:12:47 +00:00
Spoike
a8b30e3008 Don't crash when xf86vmode extension isn't available (and when xrandr failed/was disabled)
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5437 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-03-22 23:33:25 +00:00
Spoike
15b1e813a4 Allow 'gl_font creditsfont' (and potentially others) for eukara.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5435 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-03-16 06:45:55 +00:00
Spoike
b04b7b2b0a Fix missing chrome effect.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5433 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-03-13 02:35:08 +00:00
Spoike
b6fc034302 Fix some compile issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5432 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-03-12 08:28:19 +00:00
Spoike
f38a6264b8 Fix a stupid bug with allow_download cvar.
Fix recursive errors from Sys_Error on worker threads.
Fix shader parsing on worker thread with hlmdl.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5431 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-03-12 06:41:52 +00:00
Spoike
5e7688a590 first public attempt at pbr.
update infoblobs to be slightly more self-contained (still not finalised).
q3ui can now change audio volumes.
linearise 16bit srgb textures as required.
code can now potentially support >256 bones. disabled until the stack overflows are fixed...
remap bone indexes where required, for a 10-fold speedup on models with otherwise-too-high bone counts
gltf loader updates, primarily shader changes, for better conformance.
shaders can now specify whether a texture should be treated as srgb or not.
implement serverside download queue for ezquake/legacy clients downloading multiple demos. fte clients should never need to use this (would break total download size display).
some work towards threading shader loading.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5430 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-03-12 05:04:27 +00:00
Eukara
af7c4f214b Fixed some warnings that get triggered on OpenBSD's version of GCC 4
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5427 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-03-04 19:24:51 +00:00
Spoike
bff1b66fac Expand the mesa invariant check to every single gl version, apparently they still didn't apply the patch to mainstream mesa.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5426 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-03-04 00:48:36 +00:00
Spoike
3d86dc56ac gles fixes
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5422 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-03-03 02:02:29 +00:00
Spoike
5c069300ed missing gl define
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5421 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-03-01 23:16:01 +00:00
Spoike
6c5de8e8b1 Added pm_pground cvar for compat with mvdsv/ezquake. Do not use it with NQ mods however, as the QC will interfere with the onground state (QW mods are okay).
Added Z_EXT_PF_ONGROUND + Z_EXT_PF_SOLID for compat (not enabled serverside due to conflicts with pext - just a define away).
Fixed bug with loading screens switching sizes part way through loading.
Added hexen2 rain effect.
Fix hexen2 model texture alphas not working.
Fix potential linux crash from excessively long stdin lines.
Added cl_rollalpha cvar.
Fixed quirk where the player would slide along the base of steep walls/slopes.
Tweaked PM_NudgePosition to be more precise, giving more reliable prediction.
Fixed fread qc builtin.
Tweaked random() builtin to bias slightly away from 0, so that nextthink=random()*foo; will never cause statue-monsters.
Check for GL_WEBGL_depth_texture instead of just GL_OES_depth_texture, to fix compressedTex2d errors in firefox.
Second attempt at blocking invariant keyword with mesa.
Use xrandr for gamma where possible. This prevents reading stale XF86 gamma ramps and restoring those invalid ramps when quitting.
Try to grab mouse pointers slightly faster in x11.
Don't call XIFreeDeviceInfo if XIQueryDevice returned NULL.
Document parm_string and startspot qc globals.
Fix possible infinite loop from physics frames.
QTV: stripped most of the old plugin code (because really, who has a browser that still supports either ActiveX or NPAPI). Fixed up emscripten port references.
QTV: fix bug with protocol extensions not being reported to viewers.
QTV: use binary websockets instead of text.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5419 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-03-01 22:39:30 +00:00
Spoike
48694bb795 Fix r_softwarebanding. Again.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5412 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-02-24 08:27:38 +00:00
Spoike
75e927c030 Try to work around mesa's invariant bug, by disabling use of the invariant keyword entirely.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5411 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-02-24 07:43:32 +00:00
Spoike
d6291b3ca7 Add r_skyfog cvar.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5409 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-02-23 14:32:20 +00:00
Spoike
4f3f6d78e3 Use invariant gl_Position whenever its supported, even where ftransform is used, to try to get rid of coplanar depth fighting (eg: viewmodel alpha, volumetric fov, etc).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5407 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-02-23 09:42:26 +00:00
Spoike
b03ef96f36 Try to fix tracker image alphas
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5405 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-02-23 09:33:55 +00:00
Spoike
d65d4f6ff1 Some fixes for the emscripten port
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5404 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-02-23 09:29:20 +00:00
Spoike
3250de5851 Fix csqc polygon issue (using explicit glsl that doesn't need normals).
Added gl_texture_lodbias cvar for the luls.
Fix some serious-but-situational traceline issues.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5402 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-02-19 06:49:03 +00:00
Spoike
fa0c73d33b Fixed crash from too many csqc entities (reported by shpuld)
Added .psd, .pbm/.pgm/.ppm, .pfm, and .hdr image formats. Extensions NOT added to r_imageextensions.
png (and the above formats) can now be loaded as RGBA16, instead of being truncated to RGBA8 (8bit pngs not affected).
r_imagelist will now show images from memory, instead of potentially loading new/different ones from disk.
Fix serverbrowser bug being too eager to join the server (eg from alt+tab).
Don't send ipv6 packets to qw/q2 masters. They won't be able to report ipv6 addresses anyway, and this reduces warnings when a host STILL has no ipv6 (my ISP sucks). this does not affect q3/dpmasters, for people without ipv4 addresses.
Tried to improve compat with Bloodshot's particle effects.
Fixed a couple of issues with R_AddTrisoup.
Fixed string tokenizing bug where it was using the wrong buffer size values.
Don't show link-local/localhost addresses in eg the status command (unless developer).
qtv-rel is now an easier target, for new qtv releases.
qtv warning fixes.
added a nailtrail effect to 'high' particles.
fixed terrain shaders.
fixed fogged water issue (on one of bal's maps).
first attempt at gltf2 format support



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5400 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-02-16 19:09:07 +00:00
Spoike
9548e23535 And fix up windows builds a little, too.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5399 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-02-01 08:34:05 +00:00
Spoike
de20b1e587 Fix a couple of splitscreen bugs.
Fix Quake3 connectivity issues.
Prepare for displacement maps.
More tweaks for 'quake15'.
Fix vulkan double-free.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5398 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-02-01 08:29:14 +00:00
Spoike
9f38246d59 Misc compile fixes (mostly warnings)
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5396 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-01-29 20:38:12 +00:00
Spoike
cd97d1fff3 cmake now builds botlib (as a shared object)
fix q3 looping sounds
fix q3sv bug that was kicking clients on map changes
attempt to resize q3ui if the window changes size
added some more disconnect reasons (for menuqc/q3ui to report).
reworked particle count/step arguments for better compat with DP. particles that used count for trails were already broken...
drawtextfield builtin will report line numbers shown, so qc can finally tell how much text there actually was
added some more items to 'fps_preset dp', stuff needed for the 'quake15' mod.
added dpcompat_noretouchground cvar for people wanting to mimic dp's bugs.
added 'r_netgraph 2' setting, which will show packet sizes per svc, in part to highlight wasteful mods.
added cvar to disable the q1mdl floodfill, which caused problems for yet another person.
internal editor now attempts to support debugging asm, if no source is available.
fix 64bit icon bug in x11.
FINALLY fix high's te_teleport effect.
load with no arguments will scan for the most recent a#/s#/quick savedgame instead of using just quick.
load command will chose between fte and vanilla savedgame formats based on modification time, if both exist in the same package/dir.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5394 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-01-29 07:18:07 +00:00
Eukara
e64409274a Updated the fallback icon for FTE
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5392 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-01-27 03:52:14 +00:00
Eukara
7865011806 hlmdl: added "support" for fullbright and chrome materials. still requires GLSL additions upstream.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5389 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-01-22 00:52:35 +00:00
Spoike
2163fb7c77 Early version of fteqccgui-qt
a few other misc tweaks, eg for the debug protocol in linux fteqw.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5387 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-01-20 01:00:18 +00:00
Eukara
cb88355800 hlmdl: fix framestate related crashes when tracing wrongly against hlmdl.
hlmdl: fix that looping animations wrongly get their last frame removed, presumably which will fix most crashes


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5386 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-01-17 09:27:09 +00:00
Spoike
001bad5541 Fix eukara's error-on-restart issue.
Tweak downloads menu tooltips.
Some minor cleanups.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5383 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-01-15 14:12:49 +00:00
Spoike
960d1c3616 fix some warnings.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5380 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-01-13 17:56:26 +00:00
Spoike
2361c7d14f Flattened downloads menu.
Added scrollbars to various menus (when they're too tall for the virtual screen height).
Added warnings when qc draws to the screen outside of where it'll actually be displayed (freecs is guilty of this).
r_showshaders will now work in q2.
mod_texturelist will include a small preview, because I can.
plug_list command will now also display some plugins which are not currently loaded.
q1bsp now properly respects hitcontents (note that normally only hull 0 actually has contents other than solid+empty).
q1bsp now correctly reports content values in tracelines (this fixes freecs being unable to detect func_water).
Rewrote netgraph code. Now displays using polygons instead of textures for higher resolution graphs.
Fixed texture bug that appears with nouveau's core contexts (texture unit switches were not happening).
Added some better support for disabling vsync with nouveau, although its still broken fullscreen for some reason.
Changed fteqcc's warning for unrecognised CRCs. Should be more descriptive about the usual cause (but less technical and potentially technically wrong).



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5378 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-01-13 16:51:50 +00:00
Spoike
f416201c66 Some minor fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5375 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-12-30 21:09:13 +00:00
Spoike
06d7eac9a1 Some compile fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5373 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-12-29 07:43:02 +00:00
Spoike
c6ed692871 Reworked networking a little, separating out common code for separate server/master processes.
Reworked glsl bones, so they work based upon the shader's version instead of the driver's version (more robust).
Fix te_teleport shader.
Track angles for antilag.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5372 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-12-28 00:04:36 +00:00
Spoike
cc6fff1722 Fix issue where keypresses were getting sent to QC/etc while the engine is still busy changing video modes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5369 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-12-20 00:57:15 +00:00
Spoike
8fde77593c Implement pm_edgefriction cvar.
fteextensions generation now has an option to skip some defs incompatible with id1/dp.
Misc minor tweaks.




git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5367 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-12-11 00:20:59 +00:00
Spoike
1f587af822 Add mod_showent to quickly peek at the map's ent lump.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5364 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-12-10 15:02:55 +00:00
Eukara
486b1aa722 Fixed a crash related to texture-names
Added warning in case of a VIS-decompression overrun


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5358 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-12-06 05:51:24 +00:00
Eukara
16abd453c8 rename this vile extension to actually represent what it means. shader to mat
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5349 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-12-02 13:35:23 +00:00
Spoike
2a3c667f09 fix bug reported by ciscon: do not crash when XDG_SESSION_TYPE is unset in linux's environment.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5348 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-12-02 09:01:51 +00:00
Spoike
f464d0fef3 misc windows-related fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5346 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-11-28 05:41:39 +00:00
Eukara
fea0ab8014 tiny fix for gcc 5.5.0 & glx
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5345 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-11-28 01:40:47 +00:00
Spoike
5b4756f3d9 Lazy GLSL loading, for faster load times.
Fixed some xim issues, for proper keyboard input under x11.
Cmake project can now work for cross compiling win32 targets.
Some other fun-but-pointless stuff.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5344 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-11-27 16:48:19 +00:00
Spoike
73d836aaee Fix te_gunshot with only one arg erroring non-fte qw clients.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5340 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-11-19 08:47:26 +00:00
Spoike
cb0f6fa6aa Fix some compile issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5339 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-11-19 08:06:07 +00:00
Spoike
2ee8387644 Many general cleaups and warning fixes.
Console code no longer makes assumptions about con_main
Screenshots rework, for screenshot_360, but also some other cleanups.
Fixed an issue with beginpolygon (finally).
Added per-rtlight style strings.
Added cvar to control whether ents will be culled by fog.
Added define to disable IPLOG, etc.
Added r_editlights cvar and related commands, for whenever csaddon isn't available.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5338 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-11-19 06:37:25 +00:00
Eukara
4cabdb80c5 Fixed r_showshaders crashing on a surface without shadername.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5335 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-11-10 08:26:51 +00:00
Spoike
45b4659de6 Fix vulkan lag issue with vk_busywait. Separate lightmap formats, to fix deluxemapping-with-hdr-lightmaps. Fix decals lingering on removed bmodels.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5326 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-10-27 04:32:18 +00:00
Spoike
2bedc32ff9 Misc tweaks.
Fix potentially serious crash with sprites+csqc tracelines.
Reworked fallback mouse cursor.
Fix decals on q3 bmodels.
Double-click to select a work to copy is now implemented.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5323 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-10-23 07:09:06 +00:00
Spoike
4ae635bc7b Some misc fixes, mostly win32/msvc focused.
Rename sound flags to include their valid scope.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5322 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-10-17 00:43:04 +00:00
Spoike
487201eeec properlyish distinguish between primary+clipboard x11 selections. Fix possible font crash. Fix possible QC weirdness with uri_get callbacks unexpectedly stomping globals.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5321 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-10-14 16:16:34 +00:00
Spoike
39e1f24511 Added trace_networkentity global to csqc. Try to fix some misc bugs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5319 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-10-13 12:19:58 +00:00
Spoike
49ae9573b8 reworked clipboard handling to avoid stalls when pasting in linux.
made a load of functions static (just code style stuff).
downloads menu now deselects any autoselected items, to avoid confusion.
csqc traces can now hit networked ents. I probably need to make some more tweaks to this.
arg completion for flocate+dir+modelviewer commands.
fix autosave not cycling saves when using the vanilla save format.
fix patch collisions with q3bsp submodels.
md3 now supports framegroups too.
added some more buttons to make xonotic happy.
gl_polyblend 2 shows the screen flashes at the edge of the screen instead of the middle.
colormod no longer applies to fullbrights (matching DP). this fixes an issue with xonotic.
fix uninitialised local that was causing issues with bones used as tags.
rewrote qc search_* to use a dynamic array instead of a linked list. this should make it faster to read when there's many handles open at a time.
fte's saved games can now save buffers properly.
fix issue with raster freetype fonts (read: coloured emoji).
initial support for struct-based classes (instead of entity-based classes). still has issues.
execing configs in untrusted packages will no longer run out of sync (fixing a number of afterquake issues).
fix stupid bug with the te_gunshot/etc builtins.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5317 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-10-11 10:31:23 +00:00
Spoike
427afd5828 That define apparently doesn't exist in all versions of glext.h
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5315 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-09-30 03:38:26 +00:00
Spoike
8279a76675 Attempt to optimise texture memory by loading greyscale tgas as 8bit. Extend serverbrowser api for xonotic. Be more aggressive with loading hardware cursor images. Fix software banding with compressed textures. Rework autosprites to cope with atlased texcoords (note: q3 would discard the texcoords).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5312 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-09-29 17:31:58 +00:00
Spoike
5159a801ff lerpfrac3 fixes. unix sockets for the luls (disabled). some misc tweaks for xonotic.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5309 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-09-23 19:35:24 +00:00
Spoike
5b7a426afe Added cl_autodemo cvar to automatically record games. 1 records multiview demos where possible, -1 strictly records singleview demos.
Enclosed mvd recording in ifdefs, so it can be disabled at compile-time for any mods that don't want to have to deal with it.
Removed the recorded players thing.
Allow csqc to use EF_FULLBRIGHT.
Fix cl_pure to attempt to actually download missing packages.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5303 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-09-01 04:18:08 +00:00
Spoike
b73979fa84 cmake: Attempt to avoid using libraries that might not be installed, like x11
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5299 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-08-23 07:04:55 +00:00
Spoike
0980455e10 Fix saved games a little. Should no longer cause issues with hexen2,ad,etc.
Fix black lightmaps in h2mp.
Fix missing tinyfont in hexen2.
Added the drop part of drag+drop to x11.
Hopefully fixed x11 clipboard issues.
Hidden some annoying developer prints under developer 2.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5298 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-08-23 06:03:31 +00:00
Spoike
3fb88f2ec2 More preliminary support for patches. Loading+Saving+Display of control points will now work. No QC interactions yet.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5297 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-08-21 19:06:41 +00:00
Spoike
a7b696ef8c Added r_graphics cvar, so that you can finally turn graphics off/on like modern games (yay simplicity)... Doing so results in ascii-style rendering, just because.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5290 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-08-13 06:27:29 +00:00
Spoike
c97fa33879 Fix bug with previous commit.
Fix loading legacy saved games.
Hide the misaligned lumps warning under the developer cvar.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5289 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-08-09 15:50:07 +00:00
Spoike
c33c8a97a4 Moved infoblobs extension to a cvar.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5288 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-08-09 06:21:39 +00:00
Spoike
98b71860ed Fix some warnings. Hopefully fix bullet plugin.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5287 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-08-04 19:00:19 +00:00
Spoike
0b2be8f4ba PACKAGEMANAGER is now a compiletime feature in its own right, and can be enabled separately from WEBCLIENT (although won't be able to download without WEBCLIENT).
SAVEDGAMES is now a new compiletime feature. Deathmatch/dedicated servers can freely disable it.
menuqc now makes sure that any fields it needs are actually present.
developer 1 should now report glsl line numbers a bit more reliably.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5284 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-08-04 07:05:20 +00:00