Bill Currie
34bcf7faab
Do a pure/const/noreturn/format attribute pass.
...
I always wanted these, but as gcc now provides warnings for functions that
could do with such attributes, finding all the functions is much easier.
2018-10-09 12:42:21 +09:00
Bill Currie
4f58429137
Fix an unhealthy pile of gcc 8 warnings.
...
While some of the warnings were merely annoying, some where actual bugs or
unearthed bugs in related code.
2018-08-20 00:05:00 +09:00
Bill Currie
9992a08285
Make the timedemo related timers double.
...
Their being float didn't cause noticeable trouble when time was 0-based,
but with it 4Gs based, timedemo results got very weird.
2013-02-27 14:32:29 +09:00
Bill Currie
b1c1bf51ef
Unlimited signon buffers.
...
Turns out it wasn't really necessary for qte2m1, but still, nice to nuke
another limit.
2012-07-13 15:22:53 +09:00
Bill Currie
a558f1b0f4
Re-enable the location marker code.
...
Drawing is controlled via the cl_draw_locs command. Entities are still
drawn, but that might not be such a bad thing after all.
2012-07-06 10:39:28 +09:00
Bill Currie
66ef8e16c1
Fix the ghost entities in demo playback.
...
Really, when cl_nodelta is in effect (eg, .qwd demo recording and thus
playback). QW now uses the new shared entity state block as I'd intended.
Thanks to the cleanup of ghost entities (ie, entities that have been
removed but continue to be rendered), glsl overkill has gone from 157 to
163 fps :)
2012-07-05 19:06:35 +09:00
Bill Currie
80bc0e9fb8
Make nq and qw use the new entity state struct.
...
This isn't really the best solution, but it does get things being shared
with the minimum of fuss.
2012-07-05 09:39:16 +09:00
Bill Currie
b65c41efcb
Move the colormod lookup table into a new lib.
...
libQFclient is now here :) The first shared code is the lookup table.
2012-07-05 09:39:16 +09:00
Bill Currie
1a1b406e5b
Fix timedemo in qw.
...
td_lastframe needs to be a float in qw. It seems the meaning changed from
nq to qw, but that's rather bogus. I need to look further into juat what's
going on, but at least now timedemo works.
2012-07-02 20:59:03 +09:00
Bill Currie
7eaa6b72d6
Spawn a green dlight for chatting players.
...
It's not very big, and shows as green only in gl, but at least there's some
indication until I sort out icons etc.
2012-06-29 18:00:21 +09:00
Bill Currie
baa0948bcb
Set the chat info key to the appropriate value on key_dest change.
2012-06-29 18:00:21 +09:00
Bill Currie
52146947c1
First part of chat info support.
...
The idea is to allow other clients know when the player is chatting,
fiddling with the console, etc.
2012-06-29 18:00:21 +09:00
Bill Currie
3406cad99a
Many distcheck fixes.
...
Yay, bitrot :P
2012-06-29 10:49:21 +09:00
Bill Currie
276b6f9662
Add support for sv_antilag (from fteqw).
...
I'm not 100% certain it actually works, but it doesn't seem to have broken
anything :)
2012-06-28 16:03:56 +09:00
Bill Currie
40da338674
Change SV_ClipToLinks's clip.type to be flags.
...
More feature swiping from fte: the flags are needed for antilag, but I
thought I'd grab the related features (mainly linking) while I was at it.
2012-06-28 15:09:49 +09:00
Bill Currie
6e5bc62f78
More client.h cleanup.
2012-06-28 07:22:28 +09:00
Bill Currie
8584021311
More client.h tidyup.
...
Whitespace and shuffling fields around. Now diffing the two headers makes
sense in client_static_t and client_state_t.
2012-06-28 07:22:28 +09:00
Bill Currie
aa2a8e8909
Mostly "merge" cl_screen.c.
...
Down to protocol/networking differences.
2012-06-15 22:02:17 +09:00
Bill Currie
81dc750857
Pretend to allow screen offsets.
...
Because qw's maxclients is always > 1, they'll never work, though :)
2012-06-15 22:02:16 +09:00
Bill Currie
e6ce44fde7
Change qw's punchangle to a vector.
...
Consistency with nq :) (however, only pitch works in qw).
2012-06-15 22:02:16 +09:00
Bill Currie
a49c123d84
Shuffle some fields around in cient_state_t.
2012-06-15 22:02:15 +09:00
Bill Currie
83d6dd7262
Fix idealpitch and viewheight in qw.
...
For certain values of "fix" ;). Both are brought back to life but
idealpitch is never set (always 0) and veiwheight is set in V_RenderView().
However, this brings the rest of the code in cl_view.c just that little bit
closer to merged :)
2012-06-15 22:02:15 +09:00
Bill Currie
3fd279ea6c
Use info strings for scoreboard names in nq.
...
Nukes a strcpy and a buffer, and is one step closer to merged client data.
2012-06-15 22:02:15 +09:00
Bill Currie
afec630d1a
Nuke some obsolete fields.
...
scoreboard_t and player_info_t haven't used the
_color/_topcolor/_bottomcolor fields for a while (since glsl).
2012-06-15 22:02:15 +09:00
Bill Currie
9c440ad9e2
Rename entity_state_t's skln to skinnum in nq.
...
Also some whitespace and comment corrections.
2012-06-15 22:02:14 +09:00
Bill Currie
25cb618e4d
Clean up client_static_t a little more.
2012-06-15 22:02:13 +09:00
Bill Currie
1aa2c22169
Nuke MAX_SCOREBOARDNAME from qw.
...
It was different from nq's MAX_SCOREBOARDNAME, and not really necessary,
what with being able to uuse info_key_t caches.
2012-06-15 22:02:13 +09:00
Bill Currie
96785ccec7
Clean up chase/spectator camera stuff.
...
o Rename nq's cl_cam.c to cl_chase.c.
o Split out the chase cam stuff from qw's cl_cam.c to cl_chase.c
2012-06-14 22:45:05 +09:00
Bill Currie
23a38738fc
Massive whitespace cleanup.
...
Lots of trailing whitespace and otherwise blank lines.
2012-05-22 08:23:22 +09:00
Bill Currie
f9a384ffd4
Make simple gravity acceleration framerate independent.
...
Now it doesn't matter if you get 22 fps or 72, you jump the same height,
which actually happens to be slightly higher than the previous 72fps jump.
Effectively, you jump the height you would if you got infinite fps ;)
2012-04-28 14:54:58 +09:00
Bill Currie
bc1b483525
Nuke the rcsid stuff.
...
It's pretty useless in git.
2012-04-22 10:56:32 +09:00
Bill Currie
8e91fb7bc1
Get the basics linking.
...
Still, nothing will work: no plugins are loaded and they're all broken
anyway.
glx, sgl, glslx etc are going away, just the basics will be built: fbdev
(probably go away eventually), sdl, x11 and hopefully someday win. That's
actually the only reason anything links.
2012-04-11 14:58:53 +09:00
Bill Currie
4d66fc175a
Avoid processing skins every frame.
...
Processing skins every frame would slow things down unnecessarily, so call
the skin functions only when something changes.
2012-01-24 10:28:07 +09:00
Bill Currie
7bfddd7ffe
Gut most of the old skin code.
...
Custom skins are smashed on most targets. Player colors don't work, etc.
However, this will let me do a much cleaner implementation.
2012-01-23 16:16:30 +09:00
Bill Currie
ffa79eed01
Don't lie about the number of models.
...
The renderer being told there were 2048 models when there were only ~160
was a bit of an unpleasant surprise :P
2012-01-09 16:22:39 +09:00
Bill Currie
423e08ce21
Add demo to "movie" conversion.
...
It currently writes a series of png files (QF/qfmvNNNNNN.png), at a fixed
rate of 30fps, with no sound recording.
2012-01-05 19:19:37 +09:00
Bill Currie
29306f7799
Merge nq and qw sv_phys.c
...
sv_move and world are now identical between the two directories.
2011-12-22 16:54:22 +09:00
Bill Currie
3eb859a88f
Move the entity transform setup into the clients.
...
This has several benifits:
o The silly issue with alias model pitches being backwards is kept out
of the renderer (it's a quakec thing: entites do their pitch
backwards, but originally, only alias models were rotated. Hipnotic
did brush entity rotations in the correct direction).
o Angle to frame vector conversions are done only when the entity's
angles vector changes, rather than every frame. This avoids a lot of
unnecessary trig function calls.
o Once transformed, an entity's frame vectors are always available.
However, the vectors are left handed rather than right handed (ie,
forward/left/up instead of forward/right/up): just a matter of
watching the sign. This avoids even more trig calls (flag models in
qw).
o This paves the way for merging brush entity surface rendering with the
world model surface rendering (the actual goal of this patch).
o This also paves the way for using quaternions to represent entity
orientation, as that would be a protocol change.
2011-12-15 17:09:01 +09:00
Bill Currie
a3f0a559a5
Fix a segfault when centerprinting.
...
The dstring wasn't getting initialized :/
2011-09-07 09:41:06 +09:00
Bill Currie
937ea854d6
Give QW NQ's explode-box jumping code.
...
It seems that QW already allowed explode-box jumping, but this makes code a
little more consistent. Still need to figure out what to do about the
player physics code: the client prediction is wrong, though the server gets
it right (before the change).
2011-09-07 09:41:05 +09:00
Bill Currie
8d853589e3
Use the gamedir callback for the serverinfo key.
...
This gits rid of a bit of nastiness in the gamedir code :)
2011-09-04 09:58:13 +09:00
Bill Currie
a55f490b47
Add support for map specified fog and skys to qw.
2011-09-04 09:58:12 +09:00
Bill Currie
514f085e88
Reduce the diffs in cl_demo.c.
...
Starting to look like a change in protocol rather than a complete rewrite.
2011-09-04 09:58:12 +09:00
Bill Currie
765b9ebb65
Split up the qw entity handling code.
...
More pre-merge organization.
2011-09-04 09:58:11 +09:00
Bill Currie
688e5c7e24
Use ncqport_e on the right field.
...
Well, now, that was incredibly silly, wasn't it? :P
2011-07-23 21:39:13 +09:00
Bill Currie
2035e65bad
Make the qport flags a little more doc friendly.
2011-07-23 17:51:07 +09:00
Bill Currie
37b0648ec7
Undo the func field as selector patch.
...
The support code for the patch is left intact (it will be needed later),
but idea is too cumbersome for working with existing progs.
2011-04-08 15:01:56 +09:00
Bill Currie
2bacfdabf2
Interpret func fields as selectors for entities with objects.
2011-03-30 20:19:31 +09:00
Bill Currie
de04e1b602
Lots of win32 (mingw cross) build fixes.
...
HTTP (curl) support is missing, but everything else builds.
2010-12-23 11:40:16 +09:00
Bill Currie
87acf89404
lots of whitespace
2010-12-09 18:32:21 +09:00
Bill Currie
bc91faf51e
Change back to storing the leafnum.
...
Still unlimited, of course :)
2010-12-09 17:24:38 +09:00
Bill Currie
3ae2ef8d11
Remove non-progs data from edict_t.
...
All data that is irrelevant to the progs engine itself has been removed
from edict_t and moved into the sv_progs code.
2010-12-09 17:24:37 +09:00
Bill Currie
1291766298
Remove all "cosmetic" differences between nq and qw sv_phys.c
2010-12-09 08:52:40 +09:00
Bill Currie
a4b97e9e2e
Dynamic entity allocation. Unlimited static entities.
...
Entities can now be allocated dynamically. They are freed whenever a new
map is loaded.
Use the dynamic entities for static entities.
2010-12-03 21:01:52 +09:00
Bill Currie
31c13d92a2
Protocol 666/large map support from FitzQuake.
...
Alpha and lerping aren't implemented yet, but things seem to be working. I
can load and play oms2.bsp (Conflagrant Rodent).
2010-11-26 16:20:05 +09:00
Bill Currie
a51e888a1b
Nuke MAX_OSPATH and clean up the mess.
2010-08-25 13:31:08 +09:00
Bill Currie
0dfff8fd58
ignore stuff
2010-08-07 10:42:09 +00:00
Bill Currie
70cc48826c
I think I finally got the protocol side of map changes right
...
"pause" qtv recorders while changing maps
send changing/reconnect via the qtv extensions
2010-01-13 06:50:44 +00:00
Bill Currie
b05e9ea293
add a recorder count to the status bar
...
... and this found the problem with the weird qtv behaviour on map change:
changing maps causes the server to add a new connection for the proxy. oops
2010-01-13 06:48:20 +00:00
Bill Currie
53cd9be90a
Progress on map changing with qtv clients
...
Rename SV_DemoSendMessages to SVR_SendMessages, and make sure SVR_SendMessages
and SV_qtvSendMessages get called when SV_SendMessagesToAll is called.
2010-01-13 06:45:43 +00:00
Bill Currie
b61a336d8a
Don't spew "not recording a demo" when changing maps with a qtv
...
Just because recorders exist doesn't mean a demo is being recorded: add a flag
for such.
2010-01-13 06:44:29 +00:00
Bill Currie
997102fea8
audit the usage of "only"
...
There are still a few iffy places (notably around certain prepositions), but
the relevant sentences are now much easier to read.
2010-01-13 06:42:26 +00:00
Bill Currie
839c00b97b
back out the large packet/entity related patches. they've provent to be troublesome and it seems FTE has a better solution.
2007-05-07 14:58:53 +00:00
Bill Currie
52f7bd4bb4
MAX_ENTITIES patch from phrosty
2007-04-19 07:36:12 +00:00
Bill Currie
2894182ec5
The status bar in the quakeworld server curses console finally does something. Currently only cpu usage, but as a proof-of-concept, it more than does its job.
2007-04-09 00:10:10 +00:00
Bill Currie
662bc6e0c4
traceline enhancements from cpqw
2007-04-07 13:35:36 +00:00
Bill Currie
15e17b7c42
cpqw support. set sv_progs_ext to "cpcw" to activate its mapping
2007-04-06 13:59:05 +00:00
Bill Currie
5b761bac83
make progs related code a little more consistent with its int type usage
2007-04-06 00:47:41 +00:00
Bill Currie
ff132bb536
64bit windows patch from phrosty
2007-04-04 07:48:14 +00:00
Bill Currie
3609a2215e
forgot this
2007-03-24 14:20:36 +00:00
Bill Currie
fa011b55d1
client side of http transfer support (untested)
2007-03-20 14:16:43 +00:00
Bill Currie
c2b9d8d549
fix some bugs found by figuring out why PR_RESET_PARAMS exists
2006-12-05 09:55:37 +00:00
Bill Currie
ddae3850e8
qf now, for the first time in history, fully passes "make distcheck"
2005-07-16 03:46:11 +00:00
Bill Currie
621e97d7ad
break out map_cfg from cl_parse.c so the server can use it too. (at the
...
behest of DrSpliff:)
2005-06-19 06:29:50 +00:00
Bill Currie
501180aaac
gcc-4.0 fixes. even found some bugs :) (names /not/ mangled this time)
2005-06-08 06:35:48 +00:00
Bill Currie
47bf8c8423
player deltas seem to be working
2005-05-09 12:12:48 +00:00
Bill Currie
a409ea4a74
spawn code complete
2005-05-08 08:04:50 +00:00
Bill Currie
d017b87c2b
lots of progress, however mvd player deltas are borked atm
2005-05-05 11:46:29 +00:00
Bill Currie
966b5ee387
"mvd" stuff now gets streamed to the qtv proxy :)
2005-05-05 07:31:31 +00:00
Bill Currie
925ea16e1d
we get to "spawn". whee. not long now and I'll have to work on the client
...
side :)
2005-05-02 09:00:17 +00:00
Bill Currie
cd2f9434fc
proxy now stays connected :) also gets the server data packet. most changes
...
due to move of pmove.h
2005-05-02 04:09:15 +00:00
Bill Currie
0213efb331
sv_recorder seems to be ready for qtv :)
2005-05-02 00:45:25 +00:00
Bill Currie
c6cfcb1a9c
mvds seem to work again
2005-05-01 22:13:10 +00:00
Bill Currie
73a34b86e8
recorder interface to ease writing server state to mvds and qtv. ones this
...
is working properly, adding qtv support will be trivial.
2005-05-01 09:07:20 +00:00
Bill Currie
12eb4eb72e
serious cleanup of demo_t in preparation for converting it to a more
...
general recorder struct to be shared between the demo recorder and qtv
proxy connection(s)
2005-05-01 04:27:05 +00:00
Bill Currie
629a2db63d
first stage of rework for qtv support. there might be slight breakage in
...
mvds, more testing is needed, but things seem ok.
2005-04-30 08:45:17 +00:00
Bill Currie
e500935f1f
move SV_WriteClientToDemo (going step by step now)
2005-04-30 04:37:01 +00:00
Bill Currie
d308d324cc
o misc little cleanups
...
o add plent_state_t, packet_players_t and delta_t in preparation for
re-worked delta compression code.
o use plent_state_t in the client.
2005-04-30 03:59:23 +00:00
Bill Currie
9dcd2333d9
Serious mvd surgery. Interpolation of player position/angle is no longer
...
done and playerinfo is now written at the proper time, fixing the
"lagged dlights" issue (as Spike puts it:). Hack to fix broken mvds removed
as it should no longer be needed if everybody fixes their mvd servers :)
2005-04-27 09:54:37 +00:00
Bill Currie
f1437732a7
rename checkmove to tracebox. This is sort of Matthew T. Atkinson's
...
tracebox patch, but since the code was already there under a different
name, just rename the old code. Really got to wonder who first wrote this
function: Mercury or LordHavoc (and if LH, did he write it for qf or dp
first?)
2005-04-26 02:52:51 +00:00
Bill Currie
8770df39e5
start documenting things (progs building still borked)
...
This is an imperfect revision of history.
2004-11-08 23:27:00 +00:00
Bill Currie
201252c1c0
FIXME cleanup and a missed win32 compile fix
...
This is an imperfect revision of history.
2004-11-06 02:21:00 +00:00
Bill Currie
2cb81b37f9
move the *_RecursiveHullCheck functions from pmovetst.c and world.c to MOD_TraceLine in libs/models/trace.c, at the same time rewriting the code to work itteratively rather than recursively.
...
This is an imperfect revision of history.
2004-11-02 08:40:00 +00:00
Bill Currie
a89d8d23a3
grievre's patch to enable fullbright skins, controlled rotation and server
...
control of various features
2004-07-11 01:41:01 +00:00
Bill Currie
9ed9832789
bring back the alpha setting for dlights (finally found out what it was
...
for) and "fix" the wayward dlights in mvds: caused by svc_muzzleflash being
written before the player updates. Should probably fix properly that in the
server too.
2004-05-03 06:21:39 +00:00
Bill Currie
c1d5f230a9
minor cleanups
2004-03-31 19:14:55 +00:00
Bill Currie
bd358618da
bit of a tidy up to make following things a bit easier
2004-03-06 04:42:43 +00:00
Bill Currie
17afd25631
hide SV_Stop_f
2004-03-06 03:18:14 +00:00
Bill Currie
a3934f8841
more progress for qtv
2004-03-05 23:42:15 +00:00
Bill Currie
4b9d978d44
initial commit of sv_qtv stuff. doesn't do much of anything yet but I need
...
to clean up DirectConnect first
2004-03-04 00:13:20 +00:00