1
0
Fork 0
forked from fte/fteqw
Commit graph

610 commits

Author SHA1 Message Date
Shpoike
0650610667 Add the fork+sleep builtins to the menuqc and csqc VMs too. 2024-12-28 16:24:00 +00:00
Shpoike
39e921624f Allow mods to provide raw 8bit paletted image data. 2024-12-28 16:24:00 +00:00
Shpoike
dc010d6ec8 fteqw: add memrealloc builtin.
fteqw: make it a bit clearer when there's no tls drivers compiled/loaded.
fteqcc: fix decompiler code to not crash nor misbehave on 64bit cpus.
fteqcc: add -TDP_20241108 to target dp's most recent additions.
fteqcc: add -Fundefwordsize (autoenabled when targetting dp) to tell the compiler to not make any assumptions about runtime pointer types. this skips some optimisations, blocks sizeof(float), casts between pointer and string,  and a few other sizing things, unsafe operations will become errors.
fteqcc: add -FILP32 - changes 'long' datatype to int32_t, which should match common C assumptions around long/size_t/intptr_t
fteqcc: add -Fpointerrelocs (autoenabled with a recent enough fte target). this finally allows pointer globals to be preinitialised with the addresses of other globals.
fteqcc: add -Fomitinternals. this omits the reflection data in the progs roughly equivelent to visibility=hidden om linux. This WILL break saved games, and probably a few other things too, but will greatly reduce stringtable sizes.
fteqcc: improve compat when compiling C code
qclib: fix op_push
2024-12-28 16:24:00 +00:00
Shpoike
7e9d138d5f Try to fix up some q2 protocol/ice quirks.
Add r_imagelist_wad command to show lumps in the current map's wad list.
Hide the gpu utilisation info unless developer. its misleading on account of power profiles.
Make the menu not flash/animate so much when something else has focus.
Add QTV streaming option when browsing servers (assuming servers are configured properly).
Show people's health+armour+weapons on the scoreboard, if we have that information.
"enemyskin solid; enemycolor 0x00ff00" will make enemies full green without needing any external texture files.
Add ENGINE_HAS_ZIP build option, to have the engine look for concated(self-extracter style) zips for use in single-file games.
Small speedup for hl2bsp load times.
ftemaster now supports bad-word filters. Basic, probably easy enough to hack around, but at least we tried, admins can extra words as needed. People should at least realise they're being naughty.
Misc fixes for ftemaster's html generation.
Add support for a couple of quirky hlbsps.
Don't attempt to auto-use setangles_delta when sv_nqplayerphysics is active, to avoid compat quirks with AD.
2024-12-28 16:24:00 +00:00
Shpoike
a1bf9dd60a Fix bug with randomv intrinsic. 2024-12-12 13:25:56 +00:00
Shpoike
ff1a2299f4 megacommit.
adds qtv relay support.
lots of other misc tweaks.
2024-07-14 19:58:26 +01:00
Shpoike
92fd7eb9a7 Stub some wrath builtins mostly for docs. 2024-07-14 19:58:25 +01:00
Shpoike
69982c9b96 temp 2024-07-14 19:58:25 +01:00
Shpoike
8dadfb4878 Added sys_openfile console command(and menu option) to web and flatpak(via cmake+dbus) builds, to 'install' packages on sandboxed systems a bit more easily.
Cmake: Add FTE_WERROR option, defaults to true in debug builds and off in release builds (in case future compilers have issues).
Cmake: Pull in libXscreensaver so we don't get interrupted by screensavers when playing demos.
Make: Added `make webcl-rel` for a web build without server bloat (eg for sites focused on demo playback. Yes, this means you XantoM).
fteqcc: Include the decompiler in fteqcc (non-gui) builds ('-d' arg).
fteqcc: Decompiler can now mostly handle hexen2 mods without any unknown opcodes.
Allow ezHud and OpenSSL to be compiled as in-engine plugins, potentially for web and windows ports respectively.
Web: Fix support for ogg vorbis. Add support for voip.
Web: Added basic support for WebXR.
QTV: Don't try seeking on unseekable qtv streams. Don't spam when developer 1 is set.
QTV: add support for some eztv extensions.
MVD: added hack to use ktx's vweps in mvd where mvdsv doesn't bother to record the info.
qwfwd: hack around a hack in qwfwd, allowing it to work again.
recording: favour qwd in single player, instead of mvd.
Protocol: reduce client memory used for precache names. Bump maximum precache counts - some people are just abusive, yes you Orl.
hexen2: add enough clientside protocol compat to play the demo included with h2mp. lacks effects.
in_xflip: restored this setting.
fs_hidesyspaths: new cvar, defaults to enabled so you won't find your username or whatever turning up in screenshots or the like. change it to 0 before debuging stuff eg via 'path'.
gl_overbright_models: Added cvar to match QS.
netchan: Added MTU determination, we'll no longer fail to connect when routers stupidly drop icmp packets.
Win: try a few other versions of xinput too.
CSQC: Added a CSQC_GenerateMaterial function, to give the csqc a chance to generate custom materials.
MenuQC: Added support for the skeletal objects API.
2024-07-14 19:58:24 +01:00
Shpoike
5e088e77d0 Let menuqc configure the hexen2 class colourmapping rubbish. 2024-07-14 19:58:24 +01:00
Shpoike
ee36f33522 Fix up some issues with buffer stuff. 2024-07-14 19:58:24 +01:00
Shpoike
d781018df3 Add all the junk for network compat with Q2E.
Defaults to using Q2E's protocol 2023 (but not netchan).
FTEQ2 servers can host both vanilla and Q2E clients simultaneously, but its recommend to use the vanilla gamecode to avoid localisation issues.
2024-07-14 19:58:24 +01:00
Shpoike
4f047a2214 Sound channels should match actual channels, rather than matching the weird remapping done for the qw-specific legacy sound variation that packed the reliable flag in the middle of channels. 2024-07-14 19:58:24 +01:00
Shpoike
9dc0109589 Implement ssqc's ex_localsound builtin properly (was previously a stub). Mark telejano's as deprecated. 2023-08-12 13:59:55 +01:00
Shpoike
75c6527893 csaddon can now create/edit patches. 2023-04-17 03:58:21 +01:00
Shpoike
d37b8d07ff Try fixing te_gunshot with nq protocols. 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
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
c5f837d468 Rework some hashfunc_t stuff. 2023-04-17 03:58:20 +01:00
Shpoike
f8962b6c47 Rework where connection_started is set to make sure its always set. Fixes https://github.com/fte-team/fteqw/issues/164 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
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
fb9f8c9cd8 Fixups for crashes triggered by xonotic, probably some other mods too.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6325 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:13:28 +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
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
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
2e84a3b96a Fix up some docs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6307 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:11:17 +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
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
5d0dd2ef8f Make sure infokey(ent,"protocol") reports something unique for qex-protocol clients.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6292 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:17:11 +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
Eukara
ad03c1f6a6 Add missing check for QUAKESTATS being defined in pr_cmds.qc
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6279 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-06-27 18:28:43 +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
c715171416 Fix some qcc bugs with large structs (reported by qqshka).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6270 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-06-19 15:18:14 +00:00
Spoike
d7454f4f78 Add DP_SV_SHUTDOWN, for qqshka.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6267 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-06-19 15:17:54 +00:00
Spoike
c39c4d0255 Make sure getmodelindex/modelnameforindex and sound equivelents are available in both ssqc and csqc.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6265 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-06-19 15:17:41 +00:00
Spoike
ce01181d88 wither reported that findkeysforcommandex wasn't present in menuqc. Fix that.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6264 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-06-19 15:17:35 +00:00
Spoike
0f8d07b8e8 Add lerptime protocol extension. Still WIP, don't record to demos.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6247 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-05-28 17:59:26 +00:00
Spoike
4d8015d9cf Update QE compat a bit.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6242 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-05-28 17:58:45 +00:00
Spoike
3ea2f04d90 Allow for better encoding of guarenteed-unsigned values.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6241 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-05-28 17:58:39 +00:00
Spoike
dd03b69609 Move our gltf's json parser into the engine-proper, implement QC builtins to make json parsing available to qc. API defined by Joshua Ashton.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6188 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-02-19 20:48:40 +00:00
Spoike
73f6df016c A few minor tweaks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6183 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-02-07 14:34:11 +00:00
Spoike
c6e00068db Try to fix some qcc bugs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6182 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-02-07 14:34:02 +00:00
Spoike
88858f7698 Bump ent counts by a smidge.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6181 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-02-07 14:33:56 +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
Eukara
13b2a7935c Add support for HLMDL actions, and some builtins to interact with it.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6148 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-01-07 03:18:00 +00:00