Commit graph

2424 commits

Author SHA1 Message Date
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
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
fc6b45a105 Fix teamplay setting descriptions.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5629 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-16 19:26:58 +00:00
Spoike
e38b1faa3e fix msvc incompat.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5624 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-16 19:13:55 +00:00
Spoike
e42558cd60 fix a crash if packets arrive in unexpected orders.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5623 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-16 19:13:15 +00:00
Spoike
c4cc904f14 fix sv_public 2 servers not being displayed
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5622 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-16 19:12:16 +00:00
Eukara
3e0b1af72b Remove shader override for clutter...
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5621 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-13 01:27: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
237a9e820f Prevent killing the sound in AL when soundupdate changes the volume to
0. We need this.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5615 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-11 23:08:11 +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
08547509e3 Fix overflow in sound mixing.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5612 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-01-23 18:57:48 +00:00
Spoike
a3d6a3fdec Clamp pitchspeed properly.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5611 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-01-23 18:53:52 +00:00
Spoike
95f13b3a34 Update fte's dds writing code, for better compat with gimp's dds plugin and non-dxgi formats.
Add additional format conversions (mostly for imgtool).


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5610 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-01-20 18:49:13 +00:00
Spoike
79bd5bd8a9 Try to fix noise with certain sounds with rate scaling active.
Fix snd_playbackrate cvar not applying to csqc's sounds.
(Both issues reported by GoaLitiuM)


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5609 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-01-20 18:43:46 +00:00
Spoike
3d54173ad1 Make sure glowmod is set properly, even on viewmodels (bug reported by xaGe).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5603 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-01-20 17:58:45 +00:00
Spoike
4ea233bf8a Fix people needing help to get out of the help menu (reported by daemon).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5602 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-01-20 17:53:39 +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
40ce444015 Fix some compile issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5595 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-12-17 19:21:29 +00:00
Spoike
d16c6646b7 GoaLitiuM's changes to fix msvc2015's cmake support.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5594 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-12-17 17:41:12 +00:00
Spoike
b4de288ca7 Emscripten is too lame to support c89's offsetof macro.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5593 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-12-16 18:57:32 +00:00
Spoike
630678f6e3 Add ReadInt+WriteInt qc builtins in csqc+ssqc respectively, add some extra docs for some other builtins.
Try to mimic dp's console background cvars, so we don't need to add so many files to run xonotic properly.
Don't bother trying to recognised xonotic automatically for now, it won't work well without extra fmf stuff anyway.
Try to fix up rotated 'wrbrushes' stuff. Untested.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5592 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-12-16 17:36:00 +00:00
Spoike
5fa62eb2d0 backtrace stuff is glibc, not gnuc.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5589 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-12-16 17:22:37 +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
7628dcae73 Fix openal channelupdate offset issue.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5586 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-11-25 04:20:56 +00:00
Spoike
322754174b Try to handle ctrl-z a bit better.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5585 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-11-20 09:13:20 +00:00
Spoike
deb756d25b Fix some problems in my recent commit.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5584 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-11-20 07:14:28 +00:00
Spoike
0884f32ddb Fix some problems in my recent commit.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5583 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-11-20 05:27:43 +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
6a7f1d5eff Build fixup: separate BUILD_WINDOWS into BUILD_WIN32 and BUILD_WIN64.
Don't use outdated header versions (png versions were conflicting, causing errors).


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5572 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-20 05:02:37 +00:00
Spoike
dc57faa013 Q3 input fixups.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5571 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-19 22:02:12 +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
bdc2b01f11 Fix a couple of bugs with ezhud.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5568 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-18 03:37:15 +00:00
Spoike
76f1f0ef66 Better compat with quakespasm's demos.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5566 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-14 02:36:57 +00:00
Spoike
9984042186 XCF support now works with 16bit+32bit linear float source files, and 16bit int files too.
Added a couple extra pixel formats to the dds loader.
Format conversions are handled via a table. Additional conversions added.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5565 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-14 02:36:13 +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
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
b1f6417d3a Add snd_ignoregamespeed cvar, optionally making it easier to desync sounds...
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5559 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-05 06:36:45 +00:00
Spoike
0558ec638b Make sure freetype doesn't use the system/wrong png/zlib headers when compiled statically.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5557 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-02 04:33:36 +00:00
Spoike
f3a779639c Fix build issue with bullet plugin.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5555 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-01 22:19:09 +00:00
Spoike
b227fc2374 Make sure libjpeg links properly.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5553 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-09-29 03:27:24 +00:00
Spoike
fde25234df Add lame image tool, for no real reason. Handy as a wrapper around astcenc. Only tested on linux.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5552 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-09-29 03:08:01 +00:00
Spoike
be5466c9fd Some image fixups.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5551 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-09-29 02:16:34 +00:00
Spoike
a09a8ebcc3 Some compile fixes and remove some dead code.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5549 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-09-26 02:31:56 +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
2498024a77 Improve Valve Texture File (.vtf) support, still disabled by default.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5547 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-09-22 03:25:09 +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
Spoike
ea9936a340 Fix scr_scoreboard_showflags 1
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5542 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-09-15 15:09:36 +00:00