Commit graph

1465 commits

Author SHA1 Message Date
Shpoike
e0cc588ca3 Forgot to actually check the hitcontents. 2021-08-31 04:59:13 +01:00
Shpoike
58261f7580 Stop monsters from being able to step into the lower part of solid pushers (fixing bug from content-overridees feature). 2021-08-31 04:59:13 +01:00
Shpoike
4b36084023 If it stops dumptruck_ds from complaining, we'll make these prints more annoying, just not fatal. 2021-08-31 04:59:13 +01:00
Shpoike
43b704a54c Make sure startmap_sp alias is created even if menuqc init crashes out. Also fix another missing Cbuf_AddText \n. 2021-08-31 04:59:13 +01:00
Shpoike
afdb605130 Make sure configs are \n terminated, so can't merge with whatever command came after the exec command. 2021-08-31 04:59:13 +01:00
Shpoike
34a87f4034 Someone forgot a \n on some intel-specific Cbuf_AddText hack. 2021-08-31 04:59:13 +01:00
Shpoike
0ca6d9ad77 Fix host_errors with csqc+r_showbboxes. 2021-08-31 04:59:13 +01:00
Shpoike
69aa507143 Fix polyblend not working with full csqc. 2021-08-31 04:59:13 +01:00
Shpoike
1d9e73a36f Add support for loading 24bit replacements for the original content. Add PRECACHE_PIC_WRAP(from dp, disables npot padding+scrap, we already don't otherwise clamp), and PRECACHE_PIC_TEST(from fte, for consistency). 2021-08-31 04:59:13 +01:00
Shpoike
4decec980e Fix lightning beams missing with full csqc. 2021-08-31 04:59:13 +01:00
Shpoike
317df647ac Make v_gunkick 1 behave all juddery like QS did with its lame protocols. v_gunkick 2 (lerp) no longer makes assumptions about update intervals so no longer acts all weird as a result of getting smaller-but-more-frequent changes. 2021-08-31 04:59:13 +01:00
Shpoike
6d78e39efe (simple)csqc wasn't seeing the right stat values with old protocols. 2021-08-31 04:59:13 +01:00
Shpoike
35aa21f27c Switch to showing commit dates for version numbers instead of borrowing the QS version we're forked from. 2021-08-31 04:59:12 +01:00
Shpoike
e83edff77b Fix csqc not receiving +showscores console commands. 2021-08-31 04:59:12 +01:00
Shpoike
7aca9e0b87 Mute not-watervised messages for maps with no fluids on them (eg AD's rubble models). Sock doesn't like developer prints. 2021-08-31 04:59:12 +01:00
Shpoike
a0d2c8a4db Force interpolation resets on new entities (to fix weird lerp glitches common in Copper) 2021-08-31 04:59:12 +01:00
Shpoike
bc768f33bc cl_warncmd wasn't getting re-enabled properly. 2021-08-31 04:59:12 +01:00
Shpoike
11ba91eed7 Clarify skyroom arg usage. 2021-08-31 04:59:12 +01:00
Shpoike
d00c9b2ec4 This should have been in one of the earlier commits. 2021-08-31 04:59:12 +01:00
Shpoike
ec7b4fcadb Minor behavioural correction. 2021-08-31 04:59:12 +01:00
Shpoike
ee51277ed8 For parity with fte's particle system. 2021-08-31 04:59:12 +01:00
Shpoike
2631235d31 Allow findchain builtins to accept a chain field for feature parity with DP and FTE. 2021-08-31 04:59:12 +01:00
Shpoike
f232be4f77 Allow search_begin to filter by package names. 2021-08-31 04:59:12 +01:00
Shpoike
8915c41e0c Add writetofile, getentitytoken, and checkpvs builtins. Fix parseentitydata to detect end-of-string more easily. 2021-08-31 04:59:12 +01:00
Shpoike
8435cfc7fa Make the generated qsextensions.qc more complete (and somewhat more formulaic). 2021-08-31 04:59:12 +01:00
Shpoike
f28dee8b72 Add DP_CSQC_QUERYRENDERENTITY extension. 2021-08-31 04:59:12 +01:00
Shpoike
e8cd3bd846 Finally give the SSQC the ability to send entity updates to the CSQC itself (as well as detect when a client is running CSQC). 2021-08-31 04:59:12 +01:00
Shpoike
227db32137 Allow SSQC to make use of SV_RunClientCommand, to match the custom player prediction in CSQC. 2021-08-31 04:59:12 +01:00
Shpoike
fc48474030 Give csqc access to the lightstyle+particle+makestatic+ambientsound builtins instead of depending on the server for them. 2021-08-31 04:59:12 +01:00
Shpoike
fc391f4ba5 Allow csqc to intercept temp-entities, as well as generate clientside ones. 2021-08-31 04:59:12 +01:00
Shpoike
a5e0cb1a52 Allow csqc to set physics_mode for support for engine movetypes in csqc. Also provide support for .customphysics too. 2021-08-31 04:59:12 +01:00
Shpoike
d18b907e43 Maintain an input journal so that CSQC can implement custom player prediction, if it wants. 2021-08-31 04:59:12 +01:00
Shpoike
d4094cbaa0 Add the stuff for listener things. 2021-08-31 04:59:12 +01:00
Shpoike
03ec27b5f0 Allow csqc to implement CSQC_UpdateView for full control over the 3d scene. 2021-08-31 04:59:12 +01:00
Shpoike
03b02fe52a Allow csqc to trace against deltaed entities. 2021-08-31 04:59:12 +01:00
Shpoike
ec82ca0448 Allow csqc to read csqc entity updates, prints, and centerprints. 2021-08-31 04:59:12 +01:00
Shpoike
3c848f993e Fix use of potentially-unrelated global instead of local with MOVETYPE_WALK. 2021-08-31 04:59:12 +01:00
Shpoike
277f833ef7 Allow csqc to draw proper 3d scenes. 2021-08-31 04:59:12 +01:00
Shpoike
929dd85164 Implement csqc validation, we can start on giving more capabilities now that we can distinguish between modified and unmodified csprogs. 2021-08-31 04:59:12 +01:00
Shpoike
e04c097eb8 More formulaic registration of various qc extension fields+funcs, including some that are still unused in this revision. 2021-08-31 04:59:12 +01:00
Shpoike
2e92fbf1d4 Strip residual sw-specific colormap stuff. 2021-08-31 04:59:12 +01:00
Shpoike
b1f93c7f3d Add md4 support to digest_hex (will be needed to validate csqc) 2021-08-31 04:59:12 +01:00
Shpoike
78758f0868 Enable PEXT1 handshakes as well as just PEXT2. 2021-08-31 04:59:12 +01:00
Shpoike
4aee746efa Reduce duplicate code a little. 2021-08-31 04:59:12 +01:00
Shpoike
bec4f4c0c5 Implement serverinfo and userinfo. Both can be read in ssqc via infokey, and via serverkey/getplayerkeyvalue in csqc. Can be changed/viewed via serverinfo/setinfo/user console commands 2021-08-31 04:59:12 +01:00
Shpoike
367b799998 r_fastsky should skip skyroom drawing too, for people with really slow computers. 2021-08-31 04:59:12 +01:00
Shpoike
17f5210a14 world.angles should be ignored for compat reasons (fixes e3m3 and a few custom maps). 2021-08-31 04:59:12 +01:00
Shpoike
2885bcae83 Fix a couple of stupid bugs. 2021-08-31 04:59:12 +01:00
Shpoike
e39c88a58b Add alternative model lerping mode for proper compat with csqc/menuqc. 2021-08-31 04:59:12 +01:00
Shpoike
e63dae5f49 Fix more key_lines masks from 31 to CMDLINES-1. 2021-08-31 04:59:12 +01:00
Shpoike
0fb371178d Pointless engine compat. 2021-08-31 04:59:12 +01:00
Shpoike
3016b0201f Fix menuqc-related crash with r_shadows enabled. 2021-08-31 04:59:12 +01:00
Shpoike
7a6ee08281 Add -basegame support. Update hack to hide texture failure dev-spam to include dds files. 2021-08-31 04:59:12 +01:00
Shpoike
71b6fc11ed Support for fte's 'nll' texture mode etc, which should give fewer flickering pixels in the distance than quake's normal nearest_mipmap_linear mode. 2021-08-31 04:59:12 +01:00
Shpoike
77a8f9a9a1 Add support for %S in sprintf builtin for quoted strings. 2021-08-31 04:59:12 +01:00
Shpoike
78fee72c50 Fix bugs found through gcc's warnings. 2021-08-31 04:59:12 +01:00
Shpoike
bc684222fc Fix string autocvars bug in menuqc. 2021-08-31 04:59:12 +01:00
Shpoike
8b6737a436 Make menuqc respect qs's scr_menuscale cvar instead of scr_sbarscale. 2021-08-31 04:59:12 +01:00
Shpoike
5842eb70e8 Added search_getpackagename builtin to query which package a file is inside (flags&2 to get the gamedir of the package/gamedir too), also let the 'cvar' pseudo-cvar be queried via cvar_string. 2021-08-31 04:59:12 +01:00
Shpoike
bdfdface5b Fix for search_begin on linux. 2021-08-31 04:59:12 +01:00
Shpoike
6e809c4999 Remove MAX_GLTEXTURES limit. 2021-08-31 04:59:12 +01:00
Shpoike
bd6d2ab660 Rename a QSS cvar for better compat with FTE. 2021-08-31 04:59:12 +01:00
Shpoike
f4f0e9516a Let menuqc detect engine more easily, so it can tailor available cvar values for specific engines. This is probably a bad thing but I don't see any other sane way around it. With it being a cvar, the user can at least override it/lie to fake forked engines. 2021-08-31 04:59:12 +01:00
Shpoike
06fd012dfe Custom hardware cursors, fix missing cursor when running fullscreen. 2021-08-31 04:59:12 +01:00
Shpoike
54538a054a Menuqc support. Only tested against menusys so far. 2021-08-31 04:59:12 +01:00
Shpoike
4c9569c254 Try to make IQM animations sync to when the frame is changed (like FTE or DP) so that the animations can actually be used for non-static things. There are still no 4-way blends, however. 2021-08-31 04:59:12 +01:00
Shpoike
0f39ae9565 Fix late model precaching bug. 2021-08-31 04:59:12 +01:00
Shpoike
1a18a8af47 Add support for string stats (for csqc's use). 2021-08-31 04:59:12 +01:00
Shpoike
402fedb147 Try to fix compiling in msvc, and try to avoid the issue in future too. 2021-08-31 04:59:12 +01:00
Shpoike
85e9399f2f Fix support for replacementdeltas with ent counts above 32767 (in case other engines use qss as their reference for support, or if it gets bumped later). 2021-08-31 04:59:12 +01:00
Shpoike
1c750b3f5f Allow decals to adhere to random s bias stuff too. 2021-08-31 04:59:12 +01:00
Shpoike
a1641b6be3 Add -nohome arg to disable homedir use (when compiled to use them, consistent with other engines). 2021-08-31 04:59:12 +01:00
Shpoike
6a6ef2a53a Add -mem arg for compat with dos or linux quake ports (and because -mem mb is more readable than -heapsize kb). 2021-08-31 04:59:12 +01:00
Shpoike
1f521aadb2 Fix bug from resizing the window with glsl gamma in use. 2021-08-31 04:59:12 +01:00
Shpoike
36b2046f57 Be more verbose and less errory about corrupt gfx.wad files. 2021-08-31 04:59:12 +01:00
Shpoike
933155ce88 Avoid problems when bobcycle is 0. 2021-08-31 04:59:12 +01:00
Shpoike
2e1abf9fa7 Add support for dds textures. 2021-08-31 04:59:12 +01:00
Shpoike
0a61068135 Fix glCompressedTexImage2D undefined on windows. 2021-08-31 04:59:12 +01:00
Shpoike
06118f2535 Prevent crashes from improper viewmodel/viewframe/etc command usage. 2021-08-31 04:59:12 +01:00
Shpoike
9278c740db Add avelocity support to MOVETYPE_PUSH entities, to go with rotated SOLID_BSP support (kinda pointless without this commit too tbh). 2021-08-31 04:59:12 +01:00
Shpoike
9d15653e46 Add proper collision support for angles on SOLID_BSP entities. 2021-08-31 04:59:12 +01:00
Shpoike
0d8c45168f Allow poking entity fields in weird fun cheaty ways. Useful for debugging. 2021-08-31 04:59:12 +01:00
Shpoike
3650f85e8e Switch from LH's dead master to Eukara's live one. 2021-08-31 04:59:12 +01:00
Shpoike
539832c356 Fix server-crash bug when kicking people. 2021-08-31 04:59:12 +01:00
Shpoike
47cae9c3f8 Added support for my extended miptex stuff for high-colour map textures. 2021-08-31 04:59:12 +01:00
Shpoike
475584d631 Fix a merge error of mine. 2021-08-31 04:59:12 +01:00
Shpoike
1cda0611c8 Add some validation for gfx.wad. 2021-08-31 04:59:12 +01:00
Shpoike
4315b1cfdc Fix typo 2021-08-31 04:59:12 +01:00
Shpoike
08cf018563 Added cvars to change/disable the often-unwanted build-in sound effects. 2021-08-31 04:59:12 +01:00
Shpoike
17f45103be Work around msvc's continued lack of C99 support. 2021-08-31 04:59:12 +01:00
Shpoike
578d789b94 Ensure that Cmd_Args ALWAYS returns a valid string, avoiding crashes when only one arg was given. 2021-08-31 04:59:12 +01:00
Shpoike
7a76790d92 Bump QC stack sizes, to reduce chances of overflows. 2021-08-31 04:59:12 +01:00
Shpoike
598038b7f2 Remove some fixed-function logic from the worldsurf glsl. 2021-08-31 04:59:12 +01:00
Shpoike
e259d0db52 Add skybox console command for dynamic use (blame sock). Additional args for skyroom speed and axis of rotation. 2021-08-31 04:59:12 +01:00
Shpoike
e38664c222 Hacked in support for IQMs. 2021-08-31 04:59:12 +01:00
Shpoike
34414e41e1 Lets just use 999 by default. 2021-08-31 04:59:12 +01:00
Shpoike
666825037a Remove MAX_HANDLES limit. 2021-08-31 04:59:12 +01:00
Shpoike
425f0fb831 Fix stupid coop parms bug. 2021-08-31 04:59:12 +01:00
Shpoike
9a03e77742 Added FTE_ENT_SKIN_CONTENTS support. 2021-08-31 04:59:12 +01:00
Shpoike
81b7ba9e4b Added FTE_ENT_SKIN_CONTENTS support. 2021-08-31 04:59:12 +01:00
Shpoike
ef5d841e80 Fix revision string escapes. 2021-08-31 04:59:12 +01:00
Shpoike
9b023749da Quick attempt at skyrooms. Seems to work for me. Note that the server's pvs is not opened, nor have I tried to depthmask sky surfaces to avoid leakage. _skyroom "x y z" in worldspawn to use. 2021-08-31 04:59:12 +01:00
Shpoike
ee2ab9a593 Added support for LMSTYLES16 bspx lump, allowing up to 16 lightstyles per face and a lot more switchable light styles. 2021-08-31 04:59:12 +01:00
Shpoike
ebd361db63 qss is starting to be its own thing. be sure to provide more correct version info. 2021-08-31 04:59:12 +01:00
Shpoike
21709fd54c Support up to parm64 instead of just parms1-16. 2021-08-31 04:59:12 +01:00
Shpoike
9ecc4a30be Make sure world.message is set in csqc. 2021-08-31 04:59:12 +01:00
Shpoike
2819ed0adf More readable prints when port numbers get screwed for whatever reason 2021-08-31 04:59:12 +01:00
nnnn20430
b8442e47ad Mod_LoadMD3Model: don't load textures on server
This fixes a segfault when -dedicated flag is used
2021-08-31 04:59:12 +01:00
Shpoike
2567b18924 Fix my stoopid bug 2021-08-31 04:59:12 +01:00
Shpoike
68f404a3df Fix a couple of stupid bugs (reported by c0burn). 2021-08-31 04:59:12 +01:00
Shpoike
8f3d6d12ac Load external textures for mdls (and make sure alpha blends work too). 2021-08-31 04:59:12 +01:00
Shpoike
144048e92e Forgot newlines. 2021-08-31 04:59:11 +01:00
Shpoike
1e4a3db083 Use float coords instead of int32 coords. They just make more sense. 2021-08-31 04:59:11 +01:00
Shpoike
9058a4fadb Accept type 1 tgas (paletted) 2021-08-31 04:59:11 +01:00
Shpoike
85821b6fab Better effectinfo compat 2021-08-31 04:59:11 +01:00
Shpoike
daac6039a5 attempt to support quakeforge 16bit mdl variant. untested. 2021-08-31 04:59:11 +01:00
Shpoike
3a7caf60c3 less spammy from pr_checkextension 0 2021-08-31 04:59:11 +01:00
Shpoike
c0d0cb81a0 a few mods use SOLID_BSP with non-bsp models for hitmesh support. We don't support that, but lets not crash out because of it. 2021-08-31 04:59:11 +01:00
Shpoike
4d5fd6c688 Implement exteriormodeltoclient 2021-08-31 04:59:11 +01:00
Shpoike
8a7609f3fe Fix r_showbboxes bug (reported by c0burn) 2021-08-31 04:59:11 +01:00
Shpoike
7cf404e366 builtin number was wrong, oops. 2021-08-31 04:59:11 +01:00
Shpoike
730df19cdd Fix demo playback crash. 2021-08-31 04:59:11 +01:00
Shpoike
ac290489c5 Fix linux compile issue. 2021-08-31 04:59:11 +01:00
Shpoike
f96964315e Fixed some warnings 2021-08-31 04:59:11 +01:00
Shpoike
aa8dd16dad Display multiple local addresses on the create-game multiplayer menu.
Hopefully this wll be slightly more useful on multi-homed machines.
2021-08-31 04:59:11 +01:00
Shpoike
68ae3bfee7 Accept LIGHTING_E5BGR9 bspx lumps in case there's no rgb8 lump.
Converts to rgb8 for now, so still only uses ldr lighting.
2021-08-31 04:59:11 +01:00
Shpoike
4d0d324479 Fix demo playback. Play some ftenq demos too. 2021-08-31 04:59:11 +01:00
Shpoike
d595a3d9cd The voice chat feature requires audio capture. Audio capture requires sdl2. So lets force that. 2021-08-31 04:59:11 +01:00
Spike
d336eeb96f Misaligned bsp lumps should have been a developer thing.
If anyone didn't fix their maps yet, they probably never will.
2021-08-31 04:59:11 +01:00
Spike
fef685af82 Don't try doing mouse grabs in dedicated servers... 2021-08-31 04:59:11 +01:00
Spike
2fbea9a1ea Fix p999 issue (was checking for only 666 on makestatic). 2021-08-31 04:59:11 +01:00
Spike
b2198414fe Fix slowmo issue caused by framerates lower than 72 with network independance. 2021-08-31 04:59:11 +01:00
Spike
b1c679f772 Fix possible networked out-of-bounds access. 2021-08-31 04:59:11 +01:00
Spike
f117e246b4 Reinstate the DoublePrecisionDotProducts.
They are still needed for ericw's testcase (oms3).
2021-08-31 04:59:11 +01:00
Spike
706dc546a3 Replaced SV_RecursiveHullCheck with a more numerically stable and faster alternative. 2021-08-31 04:59:11 +01:00
Spike
8d84bf8d2f Fix some csqc bugs+omissions. 2021-08-31 04:59:11 +01:00
Spike
f166000a04 Avoid csqc crashes from setorigin etc.
Also avoid issues from csqc errors while scissor is enabled.
2021-08-31 04:59:11 +01:00
Spike
b215f29226 Decode oggs for in-game sounds. 2021-08-31 04:59:11 +01:00
Spike
48aed52090 Fixed issue with Z_Realloc not guarenteeing 0-filled memory (due to alignment). 2021-08-31 04:59:11 +01:00
Spike
1e6a12b923 Some compile fixes. 2021-08-31 04:59:11 +01:00
Spike
f6d31e9db9 Bugfix - make dlights move correctly with respect to moving bsp entities, instead of the light being in the wrong place.
Obviously this doesn't affect baked lights, but at least mappers have more control over those.
2021-08-31 04:59:11 +01:00
Spike
9d1c386a1b Add warnings for any misaligned lumps. These crash on arm ports of engines. 2021-08-31 04:59:11 +01:00
Spike
0501ec2e98 Fix https://github.com/Shpoike/Quakespasm/issues/1 2021-08-31 04:59:11 +01:00
Spike
7d24bf80e9 Hopefully this will fix the lingering issues with pics getting screwed on game changes. 2021-08-31 04:59:11 +01:00
Spike
bac736f33c Make the bf command fade smoothly, instead of rounding down and disappearing almost instantly. 2021-08-31 04:59:11 +01:00
Spike
d58f3f6cfe Throttle networking to 72 if host_maxfps is set any higher (or 0).
This means that you can just disable vsync and set host_maxfps to 0 for uncapped framerates without any new physics issues.
Note that this commit does not fix bf flashes.
2021-08-31 04:59:11 +01:00
Spike
d02c4e010c Allow ints to save too, in case anyone tries using them, ever. 2021-08-31 04:59:11 +01:00
Spike
df3db3b821 Fix crash when saving the game. 2021-08-31 04:59:11 +01:00
Spike
13736f1fd3 Fix stupid oversight - I forgot to actually set qcvm->GetModel. 2021-08-31 04:59:11 +01:00
Spike
c68c11c7d8 Fix issue with pr_dumpplatform writing a prior version of the simplecsqc entry points.
Also print the path that the qsextensions.qc file was written to.
2021-08-31 04:59:11 +01:00