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
rather than a stdout hack (which had problems with buffering)
- actually parse net_deltapacketentities
- print offset within net_{,delta}packetentities blocks for each
entity
- fix indenting in Log_Delta
- fix off-by-one for packet offset printing
- fix a miss-parsing of svc_deltapacketentities
(MAX_PACKET_ENTITIES does NOT include U_REMOVE entities)
- remove "full update" handling for CL_ParseDeltaPacketEntities, since
that only happens with svc_packetentities
- 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
- fix various spots in the above that called Host_EndGame but didn't
return
- switched the order of modellist and soundlist in net_svc*, to
conform with the rest of the files
- create a new CL_ParsePacketEntities, that only handles
svc_packetentities (so it's much simpler). it uses net_svc*
- rename the message argument of NET_SVC_*_Parse to msg
- rename the other argument to block, for brevity
- convert svc_spawnstaticsound
- convert svc_serverinfo
- convert svc_playerinfo
- fix a exploitable buffer overflow with svc_lightstyle
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.