Commit graph

42 commits

Author SHA1 Message Date
Shpoike
3aa4ceb4f4 Small speedup... 2024-03-01 08:11:35 +00:00
Shpoike
6394ea27e8 Fix chasecam to deal with the viewmodel change... Also attempt to push it away from walls in a not-so-much-of-a-wallhack kind of way. 2023-07-26 11:18:06 +01:00
Shpoike
9f5d6f0355 Rework input accumulation to be a bit smoother. 2023-07-25 15:08:17 +01:00
Shpoike
d7e86a6592 Handle quakeworld spectators more gracefully. 2023-07-07 10:01:30 +01:00
Shpoike
d7d167c1e9 Fix corrupted player skins. Fix player colours not always applying properly. Allow richer player colours. 2021-09-11 04:07:03 +01:00
Shpoike
3dd6a85a9f Add cl_demoreel cvar. 2021-09-09 02:50:35 +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
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
ec82ca0448 Allow csqc to read csqc entity updates, prints, and centerprints. 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
78758f0868 Enable PEXT1 handshakes as well as just PEXT2. 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
54538a054a Menuqc support. Only tested against menusys so far. 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
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
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
Eric Wasylishen
79aac789be Revert "always run" changes from r797; move the QuakeSpasm customizations to a new "cl_alwaysrun" cvar.
Set to 1 to scale forward/side/up speed by "cl_movespeedkey" (usually 2), and make "speedkey" act as "slowkey".

Change "always run" menu option to offer
"off" (cl_alwaysrun 0, cl_forwardspeed 200, cl_backspeed 200),
"vanilla" (cl_alwaysrun 0, cl_forwardspeed 400, cl_backspeed 400) and
"quakespasm" (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200).

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1480 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-08-23 06:00:20 +00:00
Eric Wasylishen
a1c95a5978 gl_refrag.c: Hunk-allocate efrags and trim out unused functionality
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1394 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-04-02 19:39:18 +00:00
Eric Wasylishen
198c828b03 client.h: raise MAX_STATIC_ENTITIES further to 4096, and MAX_EFRAGS from 4096 to 8192
this is for a limit breaking map in developement. TODO: these can both be made dynamically
allocated, MarkV has applied this patch.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1388 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-03-31 00:56:13 +00:00
Eric Wasylishen
4b6eb1bbe2 client.h: raise MAX_STATIC_ENTITIES from 512 to 2048
Rationale is AD was hitting this and just using non-static ents instead, which is counterproductive.
2048 matches QS-Spiked.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1387 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-03-30 20:35:31 +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
171b08cf39 Support pausing demo playback.
This is done by adding an extra 'demopaused' flag to client_static_t, separate from cl.paused because we don't want a svc_setpause inside the demo (caused by the player pausing during recording) to actually pause demo playback. The only potential failure case is, if the demo contains a svc_stufftext of the command "pause", the demo will pause itself when being played.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1147 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-12-08 19:30:36 +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
526f90d69b Revert Pa3PyX support for cross-map demos
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@975 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-25 02:55:16 +00:00
Eric Wasylishen
1fd8a1f344 bump MAX_EFRAGS to 4096 (from 2048) and MAX_CHANNELS to 1024 (from 512). For ijed's map - has over 500 ambient sounds, causing it to hit the channel limit, and a lot of static entities, which I guess cause it to exceed the old efrags limit. For future reference, according to mh, the efrags array can be removed entirely in glquake (http://forums.inside3d.com/viewtopic.php?t=1930) and each efrag allocated in the hunk memory.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@959 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-10 03:33:59 +00:00
Steven
017c3d747b MAX_VISEDICTS bump For BSP2, suggested by Ericw.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@892 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-01-30 10:07:03 +00:00
Ozkan Sezer
9a78c9e829 some merges from uhexen2: clean up some crap in long chat line support.
do not set messagemode when not really connected. made chat_buffer[] and
chat_bufferlen static to keys.c. console.c uses new Key_GetChatBuffer()
and Key_GetChatMsgLen() accessor functions. renamed team_message global
to chat_team as in qw/q2. added Key_EndChat() as a new helper. called
Key_EndChat() from within CL_Disconnect() to not get stuck in chat mode.
now that key_message is guaranteed to be set only in game mode, removed
its cases from Key_ForceDest(). several other cleanups.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@771 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-21 09:55:16 +00:00
Ozkan Sezer
0d53e0f959 moved cfg_unbindall and its registration to cl_main.c. moved the
config.cfg write of unbindall to Key_WriteBindings().

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@768 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-12 07:33:11 +00:00
Ozkan Sezer
dbdd675552 renamed model_t to qmodel_t in order to avoid conflicts on solaris.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@676 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-05-30 08:56:06 +00:00
Ozkan Sezer
e324a7ffc5 Moved the stufftext_frame global to client_static_t structure and
adjusted CL_GetDemoMessage and CL_ParseServerMessage accordingly.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@644 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-03-12 08:24:16 +00:00
Ozkan Sezer
fcb75d2597 * client.h: moved usercmd_t structure to protocol.h
* quakedef.h: moved chase declarations to client.h.
  moved the entity_state_t structure to protocol.h.
  tweaked the order of quake header includes.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@529 af15c1b1-3010-417e-b628-4374ebc0bcbd
2011-12-18 10:03:53 +00:00
Ozkan Sezer
7ee8c348c0 Made the cmd argument of CL_SendMove() const.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@511 af15c1b1-3010-417e-b628-4374ebc0bcbd
2011-12-12 14:11:17 +00:00
Ozkan Sezer
71eda66cdc remove the defunct cls.mapstring
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@314 af15c1b1-3010-417e-b628-4374ebc0bcbd
2010-08-30 02:15:22 +00:00
Ozkan Sezer
db94e7f98c some more constifications and fixes for deprecated conversion
from string constant to char*


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@303 af15c1b1-3010-417e-b628-4374ebc0bcbd
2010-08-29 12:04:19 +00:00
Ozkan Sezer
906df3f650 const correctness changes.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@300 af15c1b1-3010-417e-b628-4374ebc0bcbd
2010-08-29 02:22:55 +00:00
Ozkan Sezer
16b9fd13ea bspfile.h, cdaudio.h, client.h, cmd.h, common.h, console.h, crc.h, cvar.h,
d_ifacea.h, draw.h, gl_texmgr.h, glquake.h, image.h, input.h, keys.h, mathlib.h,
menu.h, modelgen.h, net.h, net_dgrm.h, net_loop.h, net_sdlnet.h, net_udp.h,
net_wins.h, platform.h, pr_comp.h, progdefs.h, progs.h, protocol.h, quakedef.h,
render.h, resource.h, sbar.h, screen.h, server.h, sound.h, spritegn.h, sys.h,
vid.h, view.h, wad.h, world.h, zone.h: added include guards to the headers.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@84 af15c1b1-3010-417e-b628-4374ebc0bcbd
2010-02-21 00:01:08 +00:00
Ozkan Sezer
68fc38c3a6 chase.c, cl_input.c, cl_parse.c, client.h, common.c, common.h, console.h,
cvar.h, draw.h, gl_draw.c, gl_fog.c, gl_mesh.c, gl_model.c, gl_model.h,
gl_rmain.c, gl_rmisc.c, gl_screen.c, gl_sky.c, gl_texmgr.c, glquake.h,
host.c, keys.c, keys.h, main.c, menu.c, menu.h, pr_cmds.c, quakedef.h,
r_alias.c, r_brush.c, r_part.c, r_sprite.c, r_world.c, sbar.c, sbar.h,
screen.h, snd_dma.c, snd_mem.c, snd_mix.c, sv_main.c, sys_sdl.c, vid.h,
view.h, world.c, world.h:  Loads of warning fixes about missing function
prototypes, missing parens around &, missing braces leading to ambiguous
else statements and unused and uninitialized variables. There are still a
couple of unitialised variables here and there, but not much. The warnings
about strict aliasing violations need taking care of.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@21 af15c1b1-3010-417e-b628-4374ebc0bcbd
2010-02-16 12:01:07 +00:00
Ozkan Sezer
359116f394 client.h (client_state_t): added mapname[128] as a new member to hold the
current map file name without path and extension.
cl_parse.c (CL_ParseServerInfo): copy the naked name of the map file to
the cl structure.
host_cmd.c (Host_Map_f): print the current map name if no arguments are
given. print help message if not connected.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@16 af15c1b1-3010-417e-b628-4374ebc0bcbd
2010-02-16 09:47:04 +00:00
Ozkan Sezer
db613ab35d initial import of SDL port of Fitzquake-0.85 / 20090510 sources.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@2 af15c1b1-3010-417e-b628-4374ebc0bcbd
2010-02-15 23:26:55 +00:00