time to what the server thinks is correct when too much inaccuracy
builds up. This nearly eliminates all speed cheating, both normal and
reverse, except for a brief burst before the protection kicks in. Might
need cleaning up/tweaking.
will potentially slow down both client and server, player collision physics
will be more accurate as more entities will be clipped against (and the
client should never complain about physent overflow again).
server bug anyway), broke qizmo (not that I really care: that's still qizmo's
bug) and (most importantly) broke recording demos across map changes.
(Closes: #14)
unbounded frame rate (you can still set it to clamp your fps to, for example,
your monitor's refresh rate), and cl_maxnetfps 0 is now based on your network
rate.
The NetQuake-compatible targets now also have an unbounded framerate. This is
OK, because the built-in server uses its own tick rate.
code cleanups and general performance work to be developed in relative peace.
While cleaning up the networking code /is/ important, fixing QF's perfomance
issues is of much higher priority.
specific plugins only)
- convert updateping, updatepl, updateentertime, updatestat,
updatestatlong, cdtrack intermission, finale, muzzleflashchokecount,
maxspeed, entgravity, and setpause on the client. Can you say all
that in one breath? :)
net_svc.c, and add add a NET_SVC_GetString function to access it.
As an added bonus, it actually boundschecks it!
- preexpand that annoying SHOWNET macro, which was only used twice,
and was quite small and pointless
- whitespace cleanup and a comment typo fix
- converted svc_packetentities and svc_deltapacketentities
- added some convenience defines for U_foo grouping
- tweaked Host_NetError's "please report this" print, but it still
doesn't work
This required changes to the api (info_t instead of char *) but should be
a net gain in speed (not a lot, admittedly: it was pretty fast to begin
with, but this paves the way for some other changes I have in mind).
svc_serverinfo, and svc_download
I havn't tested svc_download, since I don't want to play with having
seperate dirs for the client vs server on one computer.
- link net_svc.c to the server
- add a NET_SVC_Print_Emit function
- make the server use the above instead of svc_print manually
It's actually kind of ugly, because of how backbuffers are
implimented. Hopefully I'll be able to clean that up later.
NET_ERROR.
- change all the NET_SVC_*_Parse return values from qboolean to
net_status_t
- make NET_SVC_{,Delta}PacketEntities_Parse return NET_ERROR instead
of 1 (NET_SHORT now) if the struct size is exceeded