Commit Graph

70 Commits

Author SHA1 Message Date
Daniel Svensson 8813af0e40 Match socket array param size with what's actually used.
Harmless as unix sockets (idx 2) aren't accessed, but correct.

Also updates IPv4 index access with its enum.
2023-12-25 11:07:30 +01:00
Shpoike c5f837d468 Rework some hashfunc_t stuff. 2023-04-17 03:58:20 +01:00
Spoike 7404d81d0b Add some sha2 stuff to qtv connections. Fix up 'qtvplay' command to support passwords.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6073 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-10-05 05:06:04 +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
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 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 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 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 a4942abf52 finally got around to updating qtv to add a few common protocol extensions.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5234 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-04-06 17:39:32 +00:00
Spoike a97007ae5a dpp7: Treat 'dropped' c2s packets as choked when using dpp7 protocols. This is because the protocol provides no way to disambiguate, and I don't like false reports of packetloss (only reliables loss can be detected, and that's not frequent enough to be meaningful). Pings can still be determined with dpp7, for those few packets which are acked.
package manager: reworked to enable/disable plugins when downloaded, which can also be present-but-disabled.
package manager: display a confirmation prompt before applying changes. do not allow other changes to be made while applying. prompt may be skipped with 'pkg apply' in dedicated servers.
sv: downloads are no longer forced to lower case.
sv: added sv_demoAutoCompress cvar. set to 1 to directly record to *.mvd.gz
cl: properly support directly playing .mvd.gz files
menus: reworked to separate mouse and keyboard focus. mouse focus becomes keyboard focus only on mouse clicks. tooltips follow mouse cursors.
menus: cleaned up menu heirachy a little. now simpler.
server browser: changed 'hide *' filters to 'show *' instead. I felt it was more logical.
deluxmapping: changed to disabled, load, generate, like r_loadlit is.
render targets api now supports negative formats to mean nearest filtering, where filtering is part of texture state.
drawrotpic fixed, now batches and interacts with drawpic correctly.
drawline fixed, no interacts with draw* correctly, but still does not batch.
fixed saving games.
provide proper userinfo to nq clients, where supported.
qcc: catch string table overflows safely, giving errors instead of crashes. switch to 32bit statements if some over-sized function requires it.
qtv: some bigcoords support tweaks

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5073 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-03-21 05:27:07 +00:00
Spoike 906b705bf0 after much breaking, the webgl port now utilises the browser's ogg/mp3 decoder, and the browser's png decompresser. pngs/jpegs do not provide size information.
fixed non-browser ogg decoding and openal logic. should finally be fixed, I guess.
wasted some time on an ezhud plugin, along with ensuring certain info is available to the plugin. this is still a work in progress however.
non-web builds are now able to download images from urls.
download progress does not display for uri_get/uri_post builtins, nor other non-saved things.
q1qvm logic now uses pr_maxedicts cvar. the gamecode api still provides no way to tell how many are permissable, so set at own risk.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4852 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-04-21 04:12:00 +00:00
Circlemaster 6c74368870 Added 'dir' command to play a directory of demos.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4790 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-11-21 18:10:29 +00:00
Spoike 6a831e2f99 qwsvdef.h is no more. Many files changed because of this.
enabled ssl support in windows for plugins.
updated jabber plugin.
tweaked downloading logic in an effort to end the madness.
Updated sql code to support sleeping the qc thread until query completion, as a more readable alternative to callbacks.
Client updates should be more explicit now, removing a potential bug.
networked terrain editing should now be in a better state.
updated the dir command to show paths too (so when the same file is listed twice, the pak its in will at least be different). Many files changed because of this.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4273 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-03-31 04:21:08 +00:00
Spoike c6c3d3f4e0 Trimmed some dead files.
Quick hack preliminary d3d11 renderer. I'm not likely to touch this again for quite some time.
Sys_Error works properly on android, with an error message shown. Should be less of a stab in the dark if you get errors. Seg faults are still instantly fatal. Not much I can reliably do about those - most of the juicy ones will likely occur within the gl drivers (even if its my fault) and java will still call in to it.
Stereoscopic (quad-buffered) rendering is in the gl renderer. You'll likely need a quatro to use it despite it being a gl 1.0 feature. No idea about ati. See r_stereo_method for non-quad-buffered alternatives.
Tweaked networking to not overflow so much. Needs testing against other qw clients.
Fixed an issue with surface numbers > 32k on limit-breaking maps.
Fixed a preparse issue resulting in QW clients dying with the ne_ruins map's progs.
Support for the DP-variant of BSP2. The depricated RMQ variant is still supported.
QTV proxy now uses ipv6 hybrid sockets where possible. Preliminary pext support.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4105 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-09-30 05:52:03 +00:00
Spoike 5d12d96f87 bigfoot complained that the timedemo framecounts didn't match vanilla. So now it matches vanilla (both nq and qw), but does not match bigfoot's own engine, because bigfoot's engine cheats and does not match vanilla.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4032 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-04-24 12:22:50 +00:00
Spoike 3da350a3ed NQ-related bugfixes.
Added new project/target for easy integration into NQ engines - read nq_api.c for guidelines.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4024 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-04-23 04:37:33 +00:00
Spoike 827da9da9a gcc compile fix.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4022 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-04-20 15:20:45 +00:00
Spoike 6385756e75 work around eztv newline bug.
Websocket support.
Better IPv6 support (at least as a server).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4019 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-04-20 14:41:40 +00:00
Lance be91ec36e2 Tweaked VC6 project file, added MSVC10 (dotnet2010) & MSVC9 (dotnet2008) project files. Also header fix for MSVC9 and beyond.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3874 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-07-15 12:41:09 +00:00
Spoike 93aba48cdc TA couple of fixes.
Meshes now have the right lighting if they were cached before rendering.
npFTE startup/shutdown/restartup is more robust and is less likely to crash browsers.
Re-added the r_shadows cvar. It now provides blob shadows.
Hopefully fixes mingw voip crash, may need mingw upgrade, sorry in advance moodles.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3784 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-04-30 17:21:10 +00:00
Spoike 9b6ea1c114 Fix for recent timing issues, hopefully.
Fixed a couple of warnings.
Added voip options to menus.
GL+D3D merged builds compile, but d3d is probably broken still.
Added vid_gl_context_es2 cvar to attempt to init a gles context. Note that you also need to set the requested gl version correctly.
Changed qtv's webpage view slightly, for slightly updated npfte usage.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3714 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-01-04 02:56:16 +00:00
Spoike c0680334c7 What could possibly go wrong?...
Multiple consoles can now be printed/cleared via extra con commands.
Fixed the tab-completion alignment, by adding support for \t characters.
Changing the download mechanisms. Don't try downloading an ftp:// file. It'll probably crash you for now.
Trying to fix load time issues on q3bsps with a lot of curves.
Fixed sprites.
Added warning prints/spam where the new backend is bypassed, thus marking things that still need to be fixed.
QTV proxy fixed to not sit on qw servers unless someone is actually watching. Will ping for status requests still.
QTV proxy now supports ipv6.
QTV proxy now attempts to use the fte browser plugin.
Reworked the browser plugin code, now uses threads instead of ugly hacks. This should make cooperation with other such plugins work. Fixes unresponsiveness of opera, and gives an API that can be used from any other bit of software you want, tbh (read: internet explorer/activex plugins).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3516 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-03-14 14:35:56 +00:00
Spoike 0e3193a3ef Broken more stuff.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3246 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-07-07 23:40:06 +00:00
Mark Olsen bfee598a7a Yeah, so sue me!
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3041 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-10-06 05:38:19 +00:00
Spoike 5e166cb9ce Made the (currently disabled) http download code more secure.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2975 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-05-25 22:02:52 +00:00
Mark Olsen cea7541e7d Microsoft suck.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2837 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-01-02 13:41:57 +00:00
Mark Olsen 391b3d2057 Removed Q_strncatz() and Q_strncpyz().
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2827 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-12-27 15:21:47 +00:00
Spoike 6006580d8a Knocked up some commands and stuff to make qtv not forget about streams that failed. Finally implemented the commands command. Added commands to enable/disable streams.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2812 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-12-12 11:17:18 +00:00
Mark Olsen fbdf2d4d25 Now builds with Libnix.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2809 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-12-11 15:47:16 +00:00
Lance e557658a34 MACOSX support, it compiles.. whether it works is another story.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2791 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-11-19 14:49:37 +00:00
Spoike 944d4db18c Added more molgrum-style verbosity. Hopefully finally fixed the reason why he gets 'silent' disconnections. Added printf-style warning checks for gcc.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2786 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-11-16 14:53:45 +00:00
Molgrum 868c81db4f Fix from Spike. Increase some buffer sizes to solve the "invalid mvd length" messages. FTEQTV still loses connection at mapchange on certain versions of MVDSV.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2784 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-11-15 21:19:52 +00:00
Spoike 5a16c2f01d Some changes to the way the proxy works, now the player will get the aliases
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2641 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-09-08 20:15:59 +00:00
Molgrum 9759358900 Added help and server browser menu items in TUI, fixed up the TUI a little. Added number-of-viewers alongside the nickname of QTV observers. Added .qtvinfo command.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2566 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-08-03 19:57:56 +00:00
Spoike 9b24dd1871 Cleaned up a little
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2529 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-07-23 10:53:59 +00:00
Spoike 70b55a446c Support for reverse connections, and added a few stdout cleanups. Added two svcs which can happen in single player/coop.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2512 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-05-28 02:31:48 +00:00
Spoike 5845dc7e35 routing is more obvious / usable now (beware some 'cmd cmd new's are required).
reworked the menus (could be a little better).
added qqshka's invisible player fix.
de-spammified the centerprint menus.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2483 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-03-18 05:07:10 +00:00
Spoike f137242b51 Shifted some stuff out to a new file to clean stuff up.
Tweeked the admin page so it doesn't look horribly out of place.
Code for permitting downloads from the http server is in place, but not activated. I first need to address the security issues with being able to do this.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2480 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-03-16 04:05:01 +00:00
Spoike 6210ed87be Some tweeks to stop qqshka from moaning. Also added qtvlist and qtvdemolist commands. Tweeked the webpage generation to be more informative.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2472 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-03-03 21:39:06 +00:00
Spoike 4175b342ea Some bug fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2471 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-03-03 18:46:43 +00:00
Spoike f321ee32ee some bugs have been spotted. one serious one regarding demos and small downloads and reading configs. a couple of minor ones, and a minor cleanup too.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2464 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-01-09 05:24:03 +00:00
Spoike 47f9440a30 cameras start at intermission spots, stream change messages for other users, cleaned up the menu code a little
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2458 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-01-06 09:46:32 +00:00
Spoike 55f5344510 Rewritted entity parsing, so should work fine with .join now.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2451 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-12-26 21:26:10 +00:00
Spoike acf93f1548 qtv changes allow you to spectate annother spectator. FTE changes fix independant physics stuff a bit, and fix AVI recording a little also.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2440 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-11-03 15:53:04 +00:00
Spoike ff5bf28f00 Fixed a warning (slight cleanup).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2426 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-10-22 20:31:57 +00:00
Spoike 36c6537847 Added timeouts to viewers, added a cleanup.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2424 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-10-22 19:18:15 +00:00
Spoike 4006d79532 Handle EAGAIN as EWOULDBLOCK, giving proper BSD sockets compatability.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2422 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-10-22 17:16:43 +00:00
Spoike af5348a8f2 Added predictable spectator movement. Changed chat to only show to clients on that stream. Added rate limiting. Fixed the stats bug. Added a .clients command.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2421 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-10-20 14:25:20 +00:00
Spoike 3688b7bca5 Make QTV more portable.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2405 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-10-11 23:04:31 +00:00
Spoike 7e9852451c Compile without warnings in cygwin's gcc.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2403 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-10-07 22:37:40 +00:00