Commit graph

159 commits

Author SHA1 Message Date
Shpoike
96dd67b3d0 Include audio mixer timings in r_speeds 2. 2023-04-17 03:58:21 +01:00
Shpoike
eaf59671a4 Messing around with flatpak. 2023-04-17 03:58:21 +01:00
Shpoike
cae062b142 Make updates menu searchable, make qi plugin a little more friendly. 2023-04-17 03:58:21 +01:00
Shpoike
a5232cfecd Allow manifests to provide signatures for packages. Restart the menus when a package with a menu.dat is enabled. 2023-04-17 03:58:20 +01:00
Shpoike
c5f837d468 Rework some hashfunc_t stuff. 2023-04-17 03:58:20 +01:00
Spoike
fb4531ea6c Attempt to improve touchscreen behaviours with onscreen buttons that appear upon touch events (and fade out). Long presses should close menus etc. Likely needs some more work.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6335 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:14:38 +00:00
Spoike
1ae6b239e8 If multiple updates come from inside the same .zip url, extract each one of them from a single download instead of downloading the exact same zip multiple times. This is mostly for DP mods that expect to need to download everything upfront.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6330 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:13:55 +00:00
Spoike
407c4eca8b Rework gamepad menu bindings, should be more intuitive now.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6320 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:12:59 +00:00
Spoike
d41ca13562 Fix fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6273 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-06-20 04:54:54 +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
42430d4712 Fix some misc memory leaks and a few other minor issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6176 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-01-30 05:55:01 +00:00
Spoike
578d12f254 Fix some updater issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6168 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-01-19 08:27:42 +00:00
Spoike
00cd084bb8 Fix a few annoying bugs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6078 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-10-09 07:58: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
6d72f7487f Tweak updates menu to allow launching package-specific maps (read: quaddicted's maps).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6017 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-09 23:06:41 +00:00
Spoike
a23ef7534b Fix 'map qi_package:mapname' not working for previously run packages when current mirror info is not avaialble.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6008 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-04 21:18:28 +00:00
Spoike
52ab543bd7 Misc small bugfixes and tweaks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6005 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-04 21:18:04 +00:00
Spoike
52b7a441e3 Some small fixups.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5979 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-18 01:28:34 +00:00
Spoike
0dc79f7f0a Small fixup
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5978 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-18 00:24:06 +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
0e6a0b789e Misc minor fixups.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5973 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-17 15:11:15 +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
f9b9087011 Fix a few things.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5935 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-01 11:03:28 +00:00
Spoike
1614b75142 Parse meta information from drag+dropped/file-associated packages for easier installation of mods.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5934 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-01 01:17:07 +00:00
Spoike
0361787967 Fix noweb build.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5920 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-26 20:46:56 +00:00
Spoike
0b0d6c3df7 Fix up the emscripten target a little.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5906 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:46:38 +00:00
Spoike
26d9d89f24 Update infrastruture updates.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5904 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:46:23 +00:00
Spoike
a12c453c30 Try to make some semblence of sense from git revisions/tags.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5903 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:46:13 +00:00
Spoike
d4714cab52 Rework tls/dtls stuff into a more formal crypto interface instead of lots of ifdefs all over the place.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5891 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:43:57 +00:00
Spoike
2657dce9c8 Fix a couple of crashy issues that were possible with the updates menu.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5869 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-27 11:33:55 +00:00
Spoike
5e38a007c7 Switch to poll instead of select, to avoid crashes from select's arbitrary fd limit.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5848 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-09 13:02:23 +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
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
f3049f1b85 fix a couple of bugs in the updates junk.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5770 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-09-29 11:43:09 +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
22ea0b87d7 Try to fix up some qcc inline logic to no longer result in so many offset_0 values.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5744 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-08-15 04:31:27 +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
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
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
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
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
73af4c8bf1 fix some compile bugs...
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5657 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-03-26 13:12:03 +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
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