Commit Graph

2882 Commits

Author SHA1 Message Date
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
Xylemon 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
Marco Cawthorne 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
Marco Cawthorne 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
Marco Cawthorne 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
Marco Cawthorne 65dccaf2db
Fix #170 by force-updating the sound channel so that AL can get the memo. 2023-07-24 13:29:06 -07:00
Marco Cawthorne 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
Marco Cawthorne 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
Xylemon 7f8b827cb8
r_showbboxes should be a cheat in multiplayer, this fixes #9 (#192) 2023-06-28 22:05:55 -07:00
Marco Cawthorne 6692afa55b
Fix #165 by not ignoring the track specified in the NQ demo header 2023-06-24 18:03:48 -07:00
Marco Cawthorne 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
Marco Cawthorne d57dd2fb3a
Server browser crash fix. 2023-06-23 21:14:51 -07:00
Marco Cawthorne 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
Marco Cawthorne 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
Spoike 304079e1dc Add a variation of the addentity builtin, for explicit light levels.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6278 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-06-26 08:08:50 +00:00
Spoike 81ab9277ac Make the various build config defines a little more robust.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6277 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-06-26 08:08:43 +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 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 06038d496e First weapon wheel implementation.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6269 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-06-19 15:18:08 +00:00