- add MAX_NET_EDICTS and MAX_NET_EDICTS_MASK defines, which are 512
and 511 respectively
- change baselines to access the array directly, rather than through
the entity's "data" field
- cleanup SV_ReliableSVC_Emit
- add entity remapping. the entity number used internally in the
server no longer matches the number sent to the client, and it
releases the mapping after 10 seconds of inuse, so there's no
"512 entity limit" anymore. Still the MAX_EDICTS limit though,
which is currently 768, but it can probably be defined to something
much higher without any trouble.
we ever giet a NET_ERROR
- fix the baselines so all entities have the QSG2 extensions (alpha,
scale, etc) inited, instead of just the entities that the map
started with
- make the server not include empty deltas in a
svc_deltapacketentities for updated entities
- change a silly for (; foo;) to while (foo)
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.
- 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
remove includes of qdefs.h and compat.h
pr_comp.h:
merge pr_comp.h from quake and qfcc, removing the copy in qfcc
cmdlib.[ch]:
nuke the endian code.
qendian.c:
initialise the LittleLong etc pointers at compile time rather than run
time
com.c (both nq and qw):
nuke the LittleLong etc init code
everything else:
fix up after the qtypes.h cleanup
progs globals and edict fields accessors, but I'm not so sure that's the cause
of the run-time error:
SV_Error: SV_ModelIndex: model progs/player.mdl not precached
Fatal error: SV_Error: SV_ModelIndex: model progs/player.mdl not precached
I suspect I failed to find the spawn function.
nq for abyss etc (ie, the magical -<mod> args).
The interface to the message subsystem got a revamp and all the mods to the .c
files reflect this. currently a little ugly, but I plan on abstracting msg
further to clean it up and make it more oo.