Commit graph

341 commits

Author SHA1 Message Date
Spoike
462f3e4a20 Basic vmt support. Requisite GLSL files are still separate.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6114 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-08 08:47:05 +00:00
Spoike
0f8ea71841 Add hl2-mdl support to the hl2 plugin.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6113 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-08 08:46:57 +00:00
Spoike
195fd2b6f3 Add vtf loading to hl2 plugin, too.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6112 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-08 08:46:48 +00:00
Spoike
485f2299c0 Start HL2 formats plugin, currently providing only vpk support.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6111 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-08 08:46:40 +00:00
Spoike
a9a4e3c358 Allow plugins to provide material interpreters.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6105 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-03 20:31:41 +00:00
Spoike
022e42c6c7 Move model loaders over to variable-length file-magics.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6104 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-03 20:31:32 +00:00
Spoike
ab2dc14f49 Add support for image-loading plugins.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6103 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-03 20:31:21 +00:00
Spoike
e89cc4dc5a Fix up filesystem plugins slightly. Remove engine references to VPK support.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6100 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-03 20:31:02 +00:00
Spoike
b0d2bf59a6 Try to fix up cef urls/win-compat.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6098 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-03 20:30:48 +00:00
Spoike
f353f55024 Fix silly qi plugin bug.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6068 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-10-05 05:05:27 +00:00
Spoike
ca999f6eb4 Embed some basic metadata into plugins. Still needs signatures.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-10-05 05:05:22 +00:00
Spoike
b91273a930 Fix up CEF plugin a little.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6066 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-10-05 05:05:15 +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
221d4032af FTE_TARGET=msvc now invokes some old version of msvc via wine, old FTE_TARGET=vc removed. Related code tweaks to make it a bit happier.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6001 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-04 21:17:31 +00:00
Eukara
0ed2c90da9 Unbreak xinput, don't use -O3 for release builds as GCC creates
abrasive code, fix plugins-rel putting CFLAGS into the CC/CXX line


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5993 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-24 14:24:46 +00:00
Eukara
878f9b9d7c Fix ffmpeg plugin not compiling on UNIX and Windows.
Suppress passing -O3 to bullet's cmake. This will fail otherwise.
Fix plugin.c attempting to return 'false' instead of 'qfalse'.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5988 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-22 08:40:55 +00:00
Spoike
90aae69db3 Try to make things a little more stable.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5983 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-19 22:47:29 +00:00
Spoike
0907e66cff Tweak QI plugin to translate quaddicted's map database to fte's meta format. Make 'map package:map' download+run a map with the specified package enabled.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5976 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-17 15:11:35 +00:00
Spoike
71f1fa270f Clean up key held statuses a little, to try to fix issues with dual-controller splitscreen.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5968 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-17 15:10:22 +00:00
Spoike
14dddfd63c Try to fix up fps rates reported by ezhud.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5942 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-03 01:47:04 +00:00
Spoike
6cc5e1762b add support for gltf's KHR_materials_variants (for selectable skins) and KHR_materials_ior extensions
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5927 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-01 01:16:23 +00:00
Spoike
df83d72837 Fix morph target issue where more than 4 targets were not interpolating correctly.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5926 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-01 01:16:16 +00:00
Spoike
ac427ff76c Improve gltf->iqm frame timings, update iqmtool's help text.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5905 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:46:31 +00:00
Spoike
b0e4884b7b Add name/date/rating sorting to the qi plugin to make it a smidge more friendly.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5901 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:45:59 +00:00
Spoike
04689373a3 Add disabled-by-default openssl plugin. Try to fix up ffmpeg build rules.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5892 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:44:05 +00:00
Spoike
6ad33d4ad4 Avoid writing out a new xmpp.cfg file unless there's actually a change.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5888 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:36:30 +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
b3dbab4973 Small fixup for the x11 server plugin.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5827 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-07 05:41:51 +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
Eukara
b7050dbd46 Fixed building avplug plugin on OpenBSD
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5803 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-01-24 20:54:42 +00:00
Eukara
8c1cd3a78d Plugins: At least look for avplug headers in a sensible location rather than none at all
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5793 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-12-25 02:17:23 +00:00
Spoike
98809d99ec The ffmpeg plugin was failing due to audio format issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5762 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-09-15 08:51:32 +00:00
Spoike
51ef92fa52 Add map selection list to menusys. Some other minor tweaks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5743 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-08-13 10:09:39 +00:00
Spoike
0bda1b5c38 Add support for writing uhexen2's v7 progs files.
Try to fix issues with newer gcc not merging common symbols any more.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5720 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-07-01 05:32:21 +00:00
Spoike
856cad09cc Try to switch some types in preparation for potentially switching to 64bit types (so qc timer can use doubles for longer map uptime).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5718 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-06-27 19:32:49 +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
5501fa249d 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@5704 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-06-13 00:05:47 +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
712b57851a Fixes https://sourceforge.net/p/fteqw/tickets/79/
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5677 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-04-24 04:26:45 +00:00
Spoike
50c4e75c65 Stop some plugins from failing/crashing.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5670 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-04-19 03:50:14 +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
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
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
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
ffda35fae4 Integrate gltf2 support without external plugin.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5605 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-01-20 18:36:45 +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
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