Commit graph

73 commits

Author SHA1 Message Date
Shpoike
26f0bc4682 Merge remote-tracking branch 'sf/master' into qss
(cl_startdemos stripped in favour of QSS's existing cl_demoreel cvar. osx project files ignored.)
2022-04-27 22:32:40 +01:00
Ozkan Sezer
c0cfba160d implemented PF_localsound && svc_localsound for 2021 re-release. 2022-04-22 18:11:20 +03:00
Ozkan Sezer
f86f1595f3 minor error messages / whitespace tidy-up & small stuff. 2022-04-22 17:50:02 +03:00
Ozkan Sezer
13907a2df2 added PF_walkpathtogoal stub for 2021 re-release update3 2022-04-21 23:55:10 +03:00
Ozkan Sezer
7bd751327d PF_sound: Remove the volume, attenuation, and channel boundary checks:
they are already checked the same way in SV_StartSound()
2022-04-21 23:55:10 +03:00
Ozkan Sezer
c17a750569 update PR_PatchRereleaseBuiltins for Quake 2021 rerelease update 3:
Quake 2021 release update 3 changes rerelease-specific builtins to be looked up
by name rather than hardcoded builtin nums to avoid conflict with other engines.
(https://steamcommunity.com/games/2310/announcements/detail/3177861894960065435)
Patch them to use the indices, and also add its new builtins.
2022-04-21 03:25:24 +03:00
Ozkan Sezer
43a85fb24f added PR_PatchRereleaseBuiltins for Quake 2021 rerelease update 1,
and removed the relevant centerprint, bprint, and sprint entries
from pr_builtins[].

cherry-picked from the original patch for vkQuake by Andrei Drexler
2022-04-21 03:25:24 +03:00
Andrei Drexler
a1f522701a Tweak PF_findradius 2022-03-01 11:20:10 +03:00
Shpoike
e51c134d02 Fix audio pitch issues with clients that actually support it. 2021-11-13 22:21:46 +00:00
Shpoike
299cd487d9 Fix quakerally, and make remodel packs a bit more robust too. If this fix breaks stuff then its broken in FTE+vanilla+QEX, etc too. 2021-11-06 12:37:54 +00:00
Shpoike
bdeddfae88 Rework QEx compat to disable QSG extensions when needed. 2021-10-14 07:12:08 +01:00
Shpoike
32015ef1e3 Merge remote-tracking branch 'sf/master' into qss 2021-10-14 06:49:15 +01:00
Ozkan Sezer
7ed46cc3fd support for playing 2021 re-release latest update. 2021-10-10 05:10:50 +03:00
Ozkan Sezer
602b34f414 finaleFinished (builtin 79) of 2021 rerelease actually returns a boolean 2021-10-10 05:10:10 +03:00
Shpoike
154e848d32 Try to fix some connectivity issues. 2021-10-05 06:15:34 +01:00
Shpoike
5b05414d7f Require mods to actually query DP_SV_PRECACHEANYTIME if they want to avoid warnings from making use of it. This should avoid unintentional compat issues for QS in mods. 2021-09-06 11:59:09 +01:00
Shpoike
9119c1d546 Merge branch 'master' of https://git.code.sf.net/p/quakespasm/quakespasm into HEAD 2021-09-03 06:27:09 +01:00
Shpoike
7ba6c4474b Merge Quakespasm's post-fork changes into QSS (rebased to make them compatible) 2021-08-31 06:43:13 +01:00
Shpoike
7bdf911d3a Handle sound flags, providing reliable+unicast flags. Also handle other sound flags+networking that only fte clients will benefit from right now. 2021-08-31 04:59:13 +01:00
Shpoike
98c6ddd80d Give a more helpful warning when mods try to play empty sound names. 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
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
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
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
8b6737a436 Make menuqc respect qs's scr_menuscale cvar instead of scr_sbarscale. 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
0f39ae9565 Fix late model precaching bug. 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
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
21709fd54c Support up to parm64 instead of just parms1-16. 2021-08-31 04:59:12 +01:00
Spike
8d84bf8d2f Fix some csqc bugs+omissions. 2021-08-31 04:59:11 +01:00
Spike
fe4b224c7d Added support for simple csqc.
This is a subset of csqc, with alternative entry points that can be invoked by compat wrappers.

Also added sv_gameplayfix_setmodelrealbox cvar. Default value of 1 matches QuakeSpasm, whereas a value of 0 matches vanilla quake's behaviour.
2021-08-31 04:59:11 +01:00
Spike
d76ca606bf All changes present in QSS-R7, plus
md3 support
quoth/etc bug fix
strzone bug fix
png/jpg replacement wall textures
rewrote mdl rendering to always use arrays, relaxing vertex+tri limits.
removed static ents limit
fixed ambient_level not working at high framerates.
2021-08-31 04:59:11 +01:00
Andrei Drexler
83af8d060f Add basic localized strings support for 2021 re-release
See https://github.com/Novum/vkQuake/pull/345
2021-08-29 17:11:28 +03:00
Andrei Drexler
86c06eeb15 Add no-op finaleFinished QuakeC builtin 79 for quake '2021 release' version 2021-08-24 11:56:50 +03:00
Eric Wasylishen
ad3aadb373 Replace some uses of 9999/-9999, and 999999/-999999 with FLT_MAX/-FLT_MAX
Was sent a sample map where the texture scale was such that the
CalcSurfaceExtents mins/maxs were calculated incorrectly because of the
use of 999999 not being large enough magnitude, leading to a crash later
(maxs-mins was negative).

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1671 af15c1b1-3010-417e-b628-4374ebc0bcbd
2020-03-28 05:09:09 +00:00
Ozkan Sezer
1ccd0b998a apply the same double precision change to PF_normalize() as was done to PF_vlen() in r1554.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1578 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-04-23 09:20:31 +00:00
Eric Wasylishen
a89063a5ff PF_vlen: add casts to double to force 64-bit precision
Fixes https://sourceforge.net/p/quakespasm/bugs/26/
(travail qte1m2.bsp button near 2772 767 -584 hurting the player
sm179_otp.bsp: left button causing the player to get stuck)

This change should probably be applied to more places in pr_cmds.c
and elsewhere, but this specific change is enough to fix these corner
cases

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1554 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-01-17 07:44:26 +00:00
Eric Wasylishen
e87a1b8d9d drop MAX_MAP_LEAFS limit and move 4 static buffers to use realloc().
4 buffers were: mod_novis, decompressed, checkpvs, and fatpvs.

Also fix fatbytes calculation in SV_FatPVS to match the other PVS
buffers, was (numleafs+31)>>3, changed to (numleafs+7)>>3.
I am assuming the previous was a bug/typo.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1434 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-07-26 04:27:16 +00:00
Eric Wasylishen
d61095a0e0 PF_lightstyle: make invalid style a warning instead of a Host_Error
Allows loading start.bsp in xmen TC again.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1414 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-06-22 03:32:14 +00:00
Eric Wasylishen
f92ce77fc9 PF_VarString: throttle "exceeds standard limit" warning message
Prevents console spam on "developer 1" if a mod calls PF_VarString often (e.g. In the Shadows textbooks).

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1402 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-04-25 20:07:34 +00:00
Eric Wasylishen
2d394e7a29 PF_lightstyle: add bounds check to avoid clobbering memory
Found when trying to load e1-4.bsp from https://github.com/plankatron/quakemash

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1390 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-04-01 21:31:07 +00:00
Eric Wasylishen
4fe5f6956f Adjust "exceeds standard limit of" debug warnings to include the actual QS limit.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1386 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-03-30 06:26:16 +00:00
Eric Wasylishen
5b21d5935f RMQ protocol (999) support, adapted from RMQEngine
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1313 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-06-24 06:15:41 +00:00
Eric Wasylishen
69791776a4 PF_traceline: change Host_Error when a NaN is detected to a Con_Warning.
This only affects the case when the developer cvar is set, we already ignore NaN's here.

negke reports getting the nan error with this debug progs.dat: http://negke.fov120.com/files/progsbjp.zip (rename to pak0.pak + install as a mod)
and his sm133_neg!ke.bsp: https://www.quaddicted.com/reviews/sm133_pack.html (walk over the zombie to activate a lightning trap)

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1255 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-10-06 04:08:29 +00:00
Eric Wasylishen
1f3c1a711a Make "exceeds standard limit of" messages only display when developer cvar is set, with a new Con_DWarning function.
Have heard these are confusing players and mappers/modders; people assume there is an error or a limit in QS is exceeded, but the messages are only about exceeding the limits in vanilla WinQuake/GLQuake.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1211 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-05-25 01:48:03 +00:00
Ozkan Sezer
b9032b7815 copyright years, general tidy-up, remove unused d_ifacea.h.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1059 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-22 08:55:46 +00:00
Eric Wasylishen
7c1e078b2a PF_VarString: raise buffer size to 1024. I checked all buffers that the resulting string could end up in, and they're all at least 1024 bytes (even with an unmodified quake client).
PF_VarString is only called on the server, in:
- PF_error, PF_objerror, PF_dprint to print error / debugging messages
- PF_bprint, which calls SV_BroadcastPrintf which copies the string into a 1024-byte buffer, then sends that to clients in a svc_print message
- PF_sprint, which sends the string in a svc_print message using MSG_WriteString (without copying into an intermediate buffer)
- PF_centerprint, which sends the return value of PF_VarString in a svc_centerprint message (without copying into an intermediate buffer)

On the client:
- svc_print reads the payload string with MSG_ReadString (2048-byte buffer), then Con_Printf is called (4096-byte buffer)
- svc_centerprint uses MSG_ReadString then calls SCR_CenterPrint (1024-byte buffer)

I also checked the original quake source and the client-side buffers for MSG_ReadString, Con_Printf, and SCR_CenterPrint are all the same sizes as in QS.

Admittedly I want to support sock's ITS mod, but as far as I can see, it's a totally safe to increase this to 1024.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@985 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-01 07:30:23 +00:00
Eric Wasylishen
bccf3de5df sv_aim: change default to 1 (autoaim off) and CVAR_NONE
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@958 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-07 18:47:37 +00:00