- move clc_t into net_clc.h from net_protocol.h
- split packet processing stuff from net.h into net_packet.h
- add a is_server arg to Log_{Incoming,Outgoing}_Packet, so libs/net is
oblivious to if we're running a server or not (except with the arg,
obviously)
- remove the long obsolete (even in original quake) svc_spawnbinary
stuff
- make nq use QF/net_svc.h
- make nq link to libQFnet too
- make qw's cl_parse.c use net_svc_qw_any_t instead of net_svc_any_t
errors can be handled
- add a MSG_ReadBlock and MSG_WriteBlock, which write arbitrary
- add a MSG_PeekByte, although I never actually used it..
- canonicalize the svc's, so that if qw and nq have a svc with the
same name but different contents, they get different names
- add all the nq stuff to svc_t, so it has both nq and qw. fun enum
that :)
- fix all the sizebuf_t usages so they init all the fields properly
- move qw's net_svc.c, net_clc.c, net_packetlog.c, and msg_ucmd.c
(renamed to net_ucmd.c) into libs/net
- move headers for the above in include/QF
- convert remaining clc bits to NET_CLC (I think I got them all)
- I split net_svc into net_svc_common and net_svc_qw too, in
preperation for adding nq
- moved movevars_t into "QF/net_svc_qw.h", from pmove.h
- made the CL_Parse* functions in qw get the net_svc_*_t as a param,
instead of parsing themselves
- use a jumptable for CL_Parse*
- probably other machinates I've forgotten
- and of course, probably added numerous bugs :)
two conflicting developement tracks to better co-exist. To work on this brance,
use "cvs up -r net_svc" and then update and commit as normal: committing to
the branche will be automatic once the branch is checked out.
Again: cvs up -r net_svc
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.
like normal, f_skins reports the average percent fullbright for all loaded
skins, and f_skins skinname reports the fullbright percent for a signle
skin. cl_freply controls the time in seconds before another query can be
made. Set it to 0 to disable them. More queries will be added later.
The table for accessing special characters from the console has been
tweaked a bit. Expect it to get tweaked more in the future.
- 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).
- cleanup CL_ParseDeltaPacketEntites a little bit
- change some warnings in CL_{,Delta}PacketEntites to errors, as well
as full updates with delta*, so that they can either be debugged or
shown not to be needed
give mst_t a buffer to hold unterminated message strings
kill MSG_ReadStaticString and MSG_ReadStringLine
msg.c:
kill MSG_ReadStaticString and MSG_ReadStringLine
MSG_ReadString: implement the buffer for unterminated message strings
and update readcount on badread
cl_main.c:
go back to MSG_ReadString and fix up the resulting const char * issues
cl_parse.c:
rewrite the cl_mofake code all because of an uninitialized variable :)
sv_main.c:
use MSG_ReadString instead of MSG_ReadStringLine because
Cmd_TokenizeString really doesn't care about a terminating \n
directly into the packet data.
- change a bunch of char *'s to const char *'s for the above. Only
thing that had trouble was the cl_nofake handler, which I changed to
use a local buffer.
- add MSG_ReadStaticString which acts like the old MSG_ReadString,
specifically that it uses a static buffer and tollerates
unterminated strings.
- add a Q_strnlen function, and make strnlen use it if strnlen is
undefined.
- Add a net_svc.h and net_svc.c which will preparse svc messages into
structs, for easier handling. Currently only soundlist and
modellist are done.
IMT_DEFAULT to the bottom of the list so that IMT_0 gets written as such
rather than IMT_DEFAULT.
Also, clean up nq's EF_* dlight creation a bit (haven't touched
EF_MUZZLEFLASH: undecided on what to do).
implementation of his sound/focus patch. NOTE: only alsa 0.9 is tested
(Rhamph, can you test 0.5, please?) and only the alsa drivers stop the
hardware right ow.
WARNING!!! you /will/ have to re-install your plugins, or you will get
segfaults when the window gains/loses focus.
How do you tell if a window has focus on first mapping in X11?
Some sbar cleanups (still broken, suspect driver issues.).
Removal of pmodel and emodel infokeys, waste of info space.
For servers allow people downloading to hear people talking.