Commit graph

49 commits

Author SHA1 Message Date
Spoike
3f85c9793c Add TURN support to our ICE implementation, along with a few fixups. Must be configured with 'net_ice_servers turn:foo?user=foo?auth=bar'. space-separated list, can also accept additional 'stun:' servers.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6285 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:16:31 +00:00
Spoike
758f47ffc3 Fix ezhud images not loading.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6271 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-06-19 15:18:23 +00:00
Spoike
6ceb76233c Move Quake3 support to a plugin. There's still a number of stubs+bugs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6209 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-03-08 05:31:34 +00:00
Spoike
cbec2d0660 Two minor fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6024 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-19 06:02:10 +00:00
Spoike
fb239abaf7 Try to fix windows builds.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6009 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-05 16:49:25 +00:00
Spoike
27cf81cde7 Attempt to make clang happier.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5713 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-06-27 19:32:16 +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
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
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
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
4757bd34c6 Misc compile fixes (mostly warnings)
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5395 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-01-29 19:41:31 +00:00
Eukara
ddd4b54f0e Changes for TW 1.2, fixes for mod-parsing, irc-clients, config changes
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5368 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-12-19 18:53:04 +00:00
Spoike
4d6bd82a2f Fix irc plugin crash
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5365 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-12-10 22:59:13 +00:00
Spoike
c469f7c25c Fix up the irc plugin a little.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5363 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-12-10 14:59:47 +00:00
Eukara
f7aea02266 Updated TW's and FCS's config, as well as made the plugins build properly on mingw
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5362 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-12-10 12:06:57 +00:00
Spoike
6de6a2ae77 Fix some printf format bugs...
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5361 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-12-06 19:16:13 +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
0dbb57dd5c Fix some omissions with splitscreen+csqc:
unicast svc_cgamepackets will now report which seat they were unicast to.
sendevent will now reveal the seat that was active at the time of the call.
csqc console commands will now reveal any p2 etc commands that were used.
added 144hz refresh rate option to the built-in menu
added sv_demo_write_csqc cvar to write csprogs.dat into mvds. I still need to read them...
make irc client not create new accounts if there's already a connection registered for the given server.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5169 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-11-16 22:20:40 +00:00
Spoike
2bf193001b implement pcma+pcmu codecs for voip for xmpp compat, because they're fairly simple and I can.
remove MAX_MAP_LEAFS limit, although its still checked for sanity (just MUCH higher). You may need 64bit processes on account of the pvs+phs memory required.
integrated my fork of frikdec into fteqccgui. Just associate .dat with fteqccgui and it'll decompile the progs (compiling will then embed the decompiled source into the resulting .dat to avoid repeated decompilation). Be sure to back up first... not tested as a 64bit process.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5114 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-06-21 01:24:25 +00:00
Spoike
c08a0aa139 fix some of the things that baker didn't like. sorry it took so long.
try to appease msvc6, just because.
update the downloads menu. now even betterer!...
fix proquake server angle snapping precision issue.
also accept _glow textures as an alternative to the more standard _luma.
compat for dp_water shader terms. tcgen stuff is still fscked up.
menu tooltip code can now properly deal with variable width etc stuff.
add missing te_flamejet builtin.
r_dynamic -1 can now cope with q3bsp for a small speedup.
added -watch commandline arg, to make it easier to figure out where cvar changes are coming from.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5015 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-08-25 00:12:14 +00:00
Spoike
da992db551 qc: add a crossproduct builtin. because I can. and it saves having to remember the orders.
irc: fixed the irc plugin. again. properly this time. hopefully.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5013 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-07-29 20:25:48 +00:00
Spoike
151bd6d0b1 vulkan: rewrote render target stuff so bloom, r_projection, fxaa, should now be working.
gl: fix r_projection when using vid_restart.
hdr: fixed iris stuff to work in more renderers.
ircclient: don't disconnect instantly. that's just stupid.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5010 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-07-28 13:18:22 +00:00
Spoike
27a59a0cbc LOTS OF CHANGES. was hoping to get revision 5000 perfect, but really that's never going to happen. this has gone on for too long now.
vulkan, wasapi, quake injector features added.
irc, avplug, cef plugins/drivers reworked/updated/added
openal reverb, doppler effects added.
'dir' console command now attempts to view clicked files.
lots of warning fixes, should now only be deprecation warnings for most targets (depending on compiler version anyway...).
SendEntity finally reworked to use flags properly.
effectinfo improved, other smc-targetted fixes.
mapcluster stuff now has support for linux.
.basebone+.baseframe now exist in ssqc.
qcc: -Fqccx supports qccx syntax, including qccx hacks. don't expect these to work in fteqw nor dp though.
qcc: rewrote function call handling to use refs rather than defs. this makes struct passing more efficient and makes the __out keyword usable with fields etc.
qccgui: can cope a little better with non-unicode files. can now represent most quake chars.
qcc: suppressed warnings from *extensions.qc

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5000 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-07-12 00:40:13 +00:00
Spoike
ca09c08072 added a -plugwrapper argument, so that libcef can be a little more efficient with regards to new processes, at least in terms of quake resources eaten in subprocesses that will not be running quake.
fixed -watchdog, no longer conflicts with other exception handling.
try to be more efficient on behalf of videomaps

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4971 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-08-24 03:54:39 +00:00
Spoike
6e6a767ba6 fix hitmodel.
allow providing a videomap shader as a cwindow background. because I can.
move all the tenebrae hacks over to only explicitly detected tenebrae progs.
small irc plugin update.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4969 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-08-22 02:59:01 +00:00
Spoike
55d7433708 fix irc client plugin.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4559 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-12-07 01:01:53 +00:00
Spoike
f14682bee4 Fix up the irc client a little. Build the plugin by default, so that its available for people to actually download and use instead of just rotting.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4548 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-11-29 17:13:19 +00:00
Spoike
e4757aedf6 Fix up the irc client a little. Build the plugin by default, so that its available for people to actually download and use instead of just rotting.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4543 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-11-29 14:27:23 +00:00
Spoike
3a6f3fd66c 64bit plugin fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4120 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-10-08 05:29:52 +00:00
Lance
10e7d1c98d minor fixes
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1969 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-02-13 07:39:22 +00:00
Lance
01b59ae643 some more misc fixes, list is one of them
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1930 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-02-02 13:26:26 +00:00
Lance
dc361e4037 fixed private channel exploit
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1929 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-02-02 13:00:42 +00:00
Lance
c0c7db487b mega fixes, recoding, nick stuff more compatible etc
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1928 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-02-02 12:06:31 +00:00
Lance
bcea75ae31 channel joining noob request by up2nogood
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1927 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-02-02 08:32:57 +00:00
Lance
6f891f1a6a fixed #alientrap bug (because it was secret thats way), and added code attn of spike
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1926 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-02-02 07:34:35 +00:00
Lance
5a097121a5 slight version control
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1919 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-02-01 08:21:36 +00:00
Lance
74d9fd53e8 fixed up stuff.. weeee.. must less buggy, things work now
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1918 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-02-01 07:59:19 +00:00
Lance
44476382fe still does funky stuff, nick stuff works better (hopefully).. had to write a hack to support etg
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1882 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-01-19 03:26:40 +00:00
Spoike
2297980427 A bug hunting I will go, a bug hunting I will go, traa la la.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1719 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-12-16 18:06:44 +00:00
Spoike
55fe54ae60 Maybe this will make rjlan happy.
probably not, but it's worth a try.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1710 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-12-15 18:52:03 +00:00
Spoike
f99c507f53 A slightly more fun version of the irc plugin.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1708 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-12-15 02:01:03 +00:00
Lance
d464398fb5 Where there was a return 0, should have been a return 1.. everything is cool now, this is just a little modifcation, nothing new has actually been added.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1572 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-11-21 08:57:30 +00:00
Lance
2db51b6604 Different Nick cycling, more true to mIRC with normal nickname and alternate nickname.
Bit better handling of raw messages.

Other misc fixes/additions.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1191 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-08-03 13:37:25 +00:00
Lance
6d6197eaba Better NOTICE handling, added /notice command, better NOTICE output. Seperation of NOTICE and PRIVMSG stuff.. less exploitable now. AWAY handling.
Attempted to add debugging code.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1180 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-08-01 02:47:43 +00:00
Lance
fbb769bb0d Added MODE and KICK handling, and some other misc stuff
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1179 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-07-31 02:15:11 +00:00
Lance
655fe901be Added /ctcp command, ctcp result output. Fixed time output's in the whois and TIME ctcp reply to not have newline markers of their own.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1177 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-07-30 12:29:16 +00:00
Lance
5f7f5e662e Changed the "IRC_AddClientMessage" function so the newline marker \n was automatically appended to anything passed to it.
Added /whois and also a clean whois output result.
Commented/fixed out some lingering code which executed on connect like trying to set a password when no password is given.
Added default quit message "FTE Quakeworld IRC-Plugin http://fteqw.sf.net"
Filtering out some junk raw messages, like motd, "end of /whois", current users
Commented out some code in the /nick command so it acted like normal while connected.

example; msg = "Jack in the gray hat"
var1 will be "Jack in the gray hat"
var2 will be "in the gray hat"
var3 will be "the gray hat" etc


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1169 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-07-28 11:56:59 +00:00
Spoike
891e7f0503 These should work properly now. yay.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1151 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-07-20 11:44:53 +00:00
Spoike
1ae3da7ea0 Simple but functional IRC client.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@340 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-10-15 00:42:09 +00:00