Commit graph

2887 commits

Author SHA1 Message Date
Shpoike
e0c6c78c3d Hexen2: Try to match hexen2's movement speeds more accurately. 2023-08-12 13:59:55 +01:00
Shpoike
587032f1f6 Hexen2: Tweaks to the sbar to better match hexen2's. 2023-08-12 13:59:55 +01:00
Shpoike
d0141bd6ed Hexen2: Fix heuristic to load qpic lumps that were previously being rejected. 2023-08-12 13:59:55 +01:00
Shpoike
04f2e112e7 Hexen2: Fix invisibility artifact bugs. 2023-08-12 13:59:55 +01:00
Shpoike
2a38bc1b2d Hexen2: Fix sunstaff issues (and related bits). 2023-08-12 13:59:55 +01:00
Shpoike
ef4a7ace26 Hexen2: Match vanilla quake's placement of EF_BRIGHTLIGHT dlights. This should also stop hexen2's torches from being in the ground. 2023-08-12 13:59:55 +01:00
Shpoike
56cee8749b Try to fix .mvd.gz files not getting listed properly in the demo browser. 2023-08-12 13:59:55 +01:00
Shpoike
00c45fbf10 Accept names for (css-defined) colours, along with arg completion too for the color command too. 2023-08-12 13:59:55 +01:00
Shpoike
e292e1bbfb Attempt to do a better job at internationaliation. 2023-08-12 13:59:55 +01:00
Shpoike
907e8fa0b1 Make arg completion for 'load' nicer, including showing filetimes and previewpics (where available). Should make autosave's rotating filenames a little nicer to work with. 2023-08-12 13:59:54 +01:00
Shpoike
76cbc3c019 Make use of fontconfig where detected by cmake, to avoid having to make sense of the system's font directory mess. 2023-08-12 13:59:54 +01:00
Shpoike
0509f7c83c Tweaks for the flatpak builds. 2023-08-12 13:59:54 +01:00
fhomolka
3adec5d0a5
Add a fix for the clash between bboxes and polygons (#197) 2023-08-03 12:19:15 -07:00
25f1915fbf
Add more descriptions for CVARs (#201)
* Add more descriptions for CVARs

* Fixed a small typo

* Another small typo

* Added the suggestions from @Shpoike and @eukara along with a little more cleanup
2023-07-29 17:04:47 -07:00
5f389d7fbc
Assign a pvs sample to our particle system handled sprites. So r_ignoreentpvs being 0 will no longer break with them. 2023-07-26 14:51:40 -07:00
030249f713
Workaround for the OGG decoding issue. 5159a80 was bad for ogg vorbis… (#206)
* Workaround for the OGG decoding issue. 5159a80 was bad for ogg vorbis decoding. It was never ideal to begin with, but it's better than rendering the game unplayable.

* Concentrated patch, courtesy of Spike so we can still mark sounds as nopurge
2023-07-26 12:12:55 -07:00
f317282571
Quake II: read the skin, effects, renderfx, and solidsize fields as unsigned shorts (#200)
* Quake II: read the skin, effects, renderfx, and solidsize fields as unsigned shorts.

* Add missing header definition for int MSG_ReadUShort();

* Rename MSG_ReadUShort() to MSG_ReadUInt16() as per @Shpoike's wishes

* solidsize needs to be read in via MSG_ReadSize16 because it does protocol conversions (@Shpoike)

* Q2UFRAME16 and Q2USOUND should be read unsigned as well, as it matches the internal data within FTE (@Shpoike)
2023-07-26 12:12:21 -07:00
65dccaf2db
Fix #170 by force-updating the sound channel so that AL can get the memo. 2023-07-24 13:29:06 -07:00
a0854ccaaf
Merge branch 'rip_npapi' of github.com:fhomolka/fteqw into fhomolka-rip_npapi 2023-07-14 18:44:20 -07:00
fhomolka
97d650b8b3
Q1: Force unsetting the spectator when the player starts a singleplayer game (#198)
Fixes #142
2023-07-14 18:38:06 -07:00
fhomolka
71fb7da526
Make BBox shader sort additive. This makes them work with RTLights (#196)
Fix given by @Shpoike
2023-07-10 14:26:52 -07:00
Fix
a024a82b89 Remove NPFTE preprocessor stuff 2023-07-09 20:41:24 +02:00
Fix
8adffcecfa remove NPQTV-specific defines 2023-07-09 20:27:30 +02:00
Fix
ebd84b01d4 Remove dedicated NPFTE files 2023-07-09 20:20:54 +02:00
d293a2021a
SDL2: Only check for SDL_CONTROLLERTOUCHPAD* and SDL_CONTROLLERSENSORUPDATE updates on versions greater than or equal 2.0.14 2023-07-05 09:55:33 -07:00
fhomolka
6d83a3218a
Remove NaCl code (#190)
* Remove the nacl dir

* Remove nacl from ifdef checks shared with other platforms

* Remove nacl from build bash scripts

* More removal of nacl from bash scripts

* Remove nacl-specific code from the engine

* More removal of nacl-specific code from the engine

* remove nacl-specific code from the Quake 3 plugin

* Remove nacl from readme (also seems to have force LF line endings)

* Remove nacl mention from browser.txt

* Remove nacl from Makefile

* Remove nacl from dotnet2005 solution file (lol)

* Correcting an endif, this did not end nacl

* Clarification for NaCL no longer needed

* Left small todo for myself

* Partially undo f44daef091bcc5917b0ddb2cbe41ebdd9738f770
the if preproc checking for `_DEBUG` was incorrectly removed
2023-07-01 15:20:13 -07:00
7f8b827cb8
r_showbboxes should be a cheat in multiplayer, this fixes #9 (#192) 2023-06-28 22:05:55 -07:00
6692afa55b
Fix #165 by not ignoring the track specified in the NQ demo header 2023-06-24 18:03:48 -07:00
e20ee6c854
Add check to only use the re-release menu font when a mod is not actively overriding it 2023-06-24 15:03:28 -07:00
d57dd2fb3a
Server browser crash fix. 2023-06-23 21:14:51 -07:00
f4044af503
Fix compilation of the 'nocompat' build config. 2023-06-23 15:06:54 -07:00
erysdren
8482809f18
Fix compilation on Haiku OS (#183)
* add haiku defines in q_platform.h and sys_sdl.c

* linuxisms in sys_sdl.c and sv_sys_unix.c

* more linuxisms in sv_sys_unix.c
2023-06-11 23:14:36 -07:00
73a71a2ce1
Merge branch 'master' into joyfix 2023-04-16 23:17:35 -07:00
Shpoike
96dd67b3d0 Include audio mixer timings in r_speeds 2. 2023-04-17 03:58:21 +01:00
Shpoike
75c6527893 csaddon can now create/edit patches. 2023-04-17 03:58:21 +01:00
Shpoike
0a565b1186 Make cl_shownet 3 a bit more verbose. 2023-04-17 03:58:21 +01:00
Shpoike
2b17f90b28 Fix some issues with csprogs embedded inside mvd files. 2023-04-17 03:58:21 +01:00
Shpoike
e81b140614 work around qssm's proquake stuff. 2023-04-17 03:58:21 +01:00
Shpoike
eaf59671a4 Messing around with flatpak. 2023-04-17 03:58:21 +01:00
Shpoike
1ce399e969 Fix up some obscure builds. 2023-04-17 03:58:21 +01:00
Shpoike
8c8a4eaf0e Fix vid_reload+purecsqc killing the csqc. 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
226c1cf6b4 Fix recent console click quirks. 2023-04-17 03:58:21 +01:00
Shpoike
6f61af8ee9 Cvar description tweaks. 2023-04-17 03:58:21 +01:00
Shpoike
527233154c Clients can now request the master to initiate an WebRTC/ICE connection with 'sv_public 1' servers. This is primarily for the browser port. Servers now report their srflx address via the status command (with fp, ready for secure copy+paste). 2023-04-17 03:58:21 +01:00
Shpoike
92be91f416 Prevent the user from selecting demoness when running base hexen2 to prevent a crash. Fixed visible menu markup too. 2023-04-17 03:58:21 +01:00
Shpoike
727aaec80c Fix console expansion when execing macros, to expand on line execution rather than the entire macro contents. 2023-04-17 03:58:21 +01:00
Shpoike
95d25558ef Move broker address to a cvar, so users can actually change it. 2023-04-17 03:58:21 +01:00
Shpoike
e104d6cf58 Try to fix purecsqc map loading issues. 2023-04-17 03:58:20 +01:00
Shpoike
f2d54f30d8 Update DTLS stuff, fixing certificate pinning bugs.
We should now support dtls1.2 under win10 (otherwise win7+8 is still stuck with 1.0).
SSQC can now query client certificate info via infokey - *cert_sha1 or *cert_dn
Server addresses can be postfixed with eg ip:port?fp=BASE64 to provide a fingerprint to verify the server without depending on cert authorities.
2023-04-17 03:58:20 +01:00
Shpoike
4d06516fb2 Keep menu cursors central to the item they're trying to indicate. 2023-04-17 03:58:20 +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
Shpoike
1fe478dfa1 Add basic support for ktx's 'mapname#modifier' ent stuff. 2023-04-17 03:58:20 +01:00
Shpoike
7caee8b453 Improve command arg completion. 2023-04-17 03:58:20 +01:00
Shpoike
22533dfab8 Fix up some minor portability issues. 2023-04-17 03:58:20 +01:00
Shpoike
91e0ec1f2b Show afk status on the scoreboard. Add some colours to the scoreboard to grade people's pings. 2023-04-17 03:58:20 +01:00
Shpoike
0d2a0c615a Eukara expressed an interest in loading fonts without any antialiasing. 2023-04-17 03:58:20 +01:00
Shpoike
73f9cddcdf Quick and dirty fix for broken 6dof/spiderpig cheats. 2023-04-17 03:58:20 +01:00
Shpoike
990066dea1 Add pm_bunnyfriction cvar to better mimic nq player physics with predictable QW physics. 2023-04-17 03:58:20 +01:00
Shpoike
45df6806c2 Load bumpmaps even if its just specular effects that are going to benefit. 2023-04-17 03:58:20 +01:00
Shpoike
354fbb2a85 Make blob shadows respond to gamecode a bit more naturally. 2023-04-17 03:58:20 +01:00
Shpoike
f54b9b8459 Fix up the web build's text+touch input a little. Make its webrtc cvars more consistent with desktop builds. 2023-04-17 03:58:20 +01:00
Shpoike
2d9ec83c20 Fix some build targets, fix csqc's setpause builtin. 2023-04-17 03:58:20 +01:00
Shpoike
d9a334c694 Add halfrate shading to the vulkan renderer, where supported by headers+drivers. Fonts are exempt. 2023-04-17 03:58:20 +01:00
Shpoike
6a419833a8 Fix excessive reported gpu usage. 2023-04-17 03:58:20 +01:00
Shpoike
b095266070 Fix cmake-on-mac build errors. 2023-04-17 03:58:20 +01:00
Shpoike
07032bc216 Fix multiplayer menu breaking pak file names. 2023-04-17 03:58:20 +01:00
Shpoike
89ef66642e Fix mid-room skies in q2. 2023-04-17 03:58:19 +01:00
Leo L. Schwab
1fda671b9a Joystick support fixes.
I did this because I wanted to fly around maps using a Spaceball
4000FLX, or any other 6DOF controller.  These fixes help it work.

Various fixes to joystick support:
  - joyaxiscallback() used strtol() to check to see if the supplied
    string was an integer, then didn't assign the parsed integer to
    the cvar.
  - Wrong multiplier for left/turnleft values.
  - Delete `axismap[]` from J_JoystickAxis().  It was causing problems,
    and smells like it was trying to do what the cvars
    joyadvaxis[xyzruv] are doing now.
  - Fix compiler error by adding case statements for:
	SDL_SENSOR_ACCEL_L
	SDL_SENSOR_ACCEL_R
	SDL_SENSOR_GYRO_L
	SDL_SENSOR_GYRO_R

New cvar: "joyonly".

"Joystick" axes are typically return-to-center affairs; their deflection
values are therefore reported as -MAX - MAX, with zero in the center.
"Game controllers" are similar, but also often have analog left and
right "triggers" which are reported as 0 - MAX, with zero at one end
(fully released to fully depressed).

Unfortunately, SDL will try its darndest to make a joystick look like a
"game controller."  It does this by reinterpreting certain of the axes
to report the range 0 - MAX, as if they were triggers.  This is not a
thing to do with 6DOF controllers, where all axes are return-to-center.
While it may be remotely possible to put together an SDL2 controller
mapping that reports -MAX - MAX on all axes, for me it was simpler to
hack on FTEQW.

Coupled with that is FTEQW's giving preference to "game controllers,"
i.e. if SDL_IsGameController() returns true, FTEQW will treat it as one.

"joyonly" is a boolean cvar.  If true, FTE will ignore "game
controllers" and treat everything as a joystick.  The default is false.
"joyonly" must be set at startup to be effective, when the controllers
are being enumerated by SDL.
2023-01-19 23:17:25 -08:00
Spoike
48576a59dc A bit of a code cleanup, change a couple of prints.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6343 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:15:31 +00:00
Spoike
62622491f0 Make sure bad q2 layout strings won't go out of bounds. Add dev2 prints for bad layout string commands (there's probably lots of bad q2 mods out there, hence not dev1/unconditional).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6336 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:14:44 +00: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
bc842ee28b Make sure freecs etc do heartbeats despite not giving a poop about nq/dp.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6333 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:14:15 +00:00
Spoike
c1bc6bbe23 Start game menu's map option is now a combo instead of a text field, to save on typing.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6331 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:14:01 +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
4dc4dd33e7 Our Q2 code is a little fragile. Give it its assumptions to avoid hideousness.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6329 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:13:50 +00:00
Spoike
1765f15059 Alt+tab was randomly registering as tab presses - explicitly ignore tab at the start of the input line so we don't end up with walls of console completion suggestions.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6328 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:13:45 +00:00
Spoike
6700dfd289 Fix _bump texture loading.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6321 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:13:05 +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
503162aefe Add file uri support, requires a '-allowfileurl' commandline argument.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6318 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:12:39 +00:00
Spoike
cdcb3c3950 Add rogue's teamplay modes to the menu.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6317 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:12:31 +00:00
Spoike
2383c618ee Fix up some SDL issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6315 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:12:12 +00:00
Spoike
6307ae1303 add base64encode and base64decode builtins. Allow the second arg of registercommand builtin to specify a description for that command.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6314 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:12:04 +00:00
Spoike
c5d19c46ba Fix partial fakeshaft not always appearing.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6313 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:11:57 +00:00
Spoike
aa789965bf Fix cl_maxfps's periodic fast-frame bug. Reduce latency in singleplayer.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6312 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:11:50 +00:00
Spoike
df6b651eeb Better compat with QE. EX_PROMPT now supported serverside (emulated for non-qe clients). Per-client localisation now works. Scoreboards are now a little nicer when running mods with well-defined teams (eg NQ ssqc).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6309 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:11:34 +00:00
Spoike
3a6f22d05c Make sure runstandardplayerphysics builtin properly initialises everything it needs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6308 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:11:23 +00:00
Spoike
16c8e521ef Protocol compat with the Rerelease Update 4, at the expense of earlier versions.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6306 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-08-19 13:30:16 +00:00
Spoike
279474a019 Fix a skins issue on nq servers after changing maps.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6305 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-08-19 13:29:55 +00:00
Spoike
a0f2ffda90 Try to fix up some ICE quirks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6302 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-08-07 23:49:33 +00:00
Spoike
5182692590 Slightly smoother framerates on shib8.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6299 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:17:58 +00:00
Spoike
6941032cc7 Add r_showbatches command to debug builds. Shows a list of all draw calls for the next video frame.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6298 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:17:52 +00:00
Spoike
4fc23b4f4d Make the frametime graph a bit more pretty.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6297 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:17:45 +00:00
Spoike
9abf7b74b3 Try to clean up our pext handshake code a smidge.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6295 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:17:33 +00:00
Spoike
62e8bb5774 Prevent FTE servers from getting mistreated as NQ servers, this should restore the 'observe' option.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6294 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:17:27 +00:00
Spoike
de644a5384 Add fence stuff to q2bsp, for Kingpin support.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6291 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:17:05 +00:00
Spoike
4fce9e090d Fix up vrinputs frame times.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6289 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:16:54 +00:00
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
c4b043d39f Fix some missing ambient sounds on large bloated maps/mods (this really should have been fixed years ago).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6281 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-06-29 07:20:24 +00:00