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
Bill Currie
9878966625
whitespace
2004-02-24 20:58:30 +00:00
Bill Currie
b502cfc3ce
move ClientReliable* from sv_nchan to MSG_Reliabe* in msg_backbuf so the
...
backbuffer code can be shared between qw-server and qtv
2004-02-22 05:40:08 +00:00
Bill Currie
6e6df349e4
move the ucmd message code into a common qw lib (more will likely follow)
2004-02-21 05:09:02 +00:00
Bill Currie
1033f7e322
move qw/include/protocol.h to include/qw/protocol.h making life easier
...
qtv can now connect to a server (won't stay connected though)
2004-02-21 02:31:22 +00:00
Bill Currie
6d02004ca8
Mike Gorchak's <mike@malva.ua> second (final for now:) QNX patch. renames
...
msg_t to qmsg_t.
2004-01-20 06:11:00 +00:00
Bill Currie
187cef1d28
make dist fix
2004-01-07 00:14:39 +00:00
Bill Currie
133879f8fa
provide builtin mappings for id (none, really), qf and ktpro/qwe (qw only),
...
add qwe builtin extensions to qw-server. provide sv_progs_ext to control
the builtin mapping. valid values are "id", "qf" (our old static builtins),
"qwe"/"ktpro" (either works. for ktpro mod support) and "none" (no
mapping). any other value is equivalent to "none".
2004-01-06 07:00:39 +00:00
Bill Currie
e53967b346
--disable-static now works (thanks for the heads-up, raorn)
2003-12-22 20:51:08 +00:00
Bill Currie
ce745c8078
better command output redirection handling: maplist over rcon should show
...
all (or most, there are limits still) of the maps on a server with many
maps.
move the optional progs funcs into sv_funcs_t and add UserInfoChanged,
ChatMessage and LocalinfoChanged callback support.
clean up PF_setinfo (and SV_SetInfo_f and SV_Localinfo_f) using shared code
where possible und to use the UserInfoChanged and LocalinfoChanged
callbacks.
add chat message callback to SV_Say. if it returns zero, normal chat
handling is done, otherwise it's assumed to have been handled by the progs.
provide a hook for unkown user commands. non-zero return means it's been
handled.
2003-11-21 06:09:21 +00:00
Bill Currie
84ea81a770
fix E_POINTER and E_FUNCTION
2003-09-12 23:12:21 +00:00
Bill Currie
8868a9d0bd
get rid of some unneeded defines and ifdefs
2003-08-28 23:26:59 +00:00
Bill Currie
fd433442fb
allow server clients to be initialized properly (SV_Spawn) and send server
...
client info to connecting clients
2003-08-21 03:50:30 +00:00
Bill Currie
b3f99a70be
rename cl_timeframes to demo_timeframes and make it /not/ archive.
...
move call to CL_TimeFrames_AddTimestamp from cl_main.c to cl_demo.c.
add a hacky little python script to create a pnm (portable anymap file
format) graph from timeframes.txt
2003-08-12 06:33:13 +00:00
Bill Currie
ada828bdc9
remove a whole swath of potential buffer overflows by removing the buffer.
...
Also audit a few of the "FIXME: overflow" tags
2003-08-05 01:45:52 +00:00
Ragnvald Maartmann-Moe IV
0a7b56f003
show_fps -> hud_fps, show_ping -> hud_ping, show_pl -> hud_pl,
...
show_time -> hud_time, show_scoresuid -> hud_scoreboard_uid
2003-07-27 23:20:11 +00:00
Brian Koropoff
9b63402f12
Added llist.[ch], a set of general-purpose linked list routines. Added
...
cl_chat.[ch] to qw to hold advanced chat features, the first of which is
the ability to ignore chat messages from annoying players. Some polishing
in this area still remains, but the current implementation seems to work.
2003-07-18 06:27:26 +00:00
Bill Currie
c2c3a62956
nuke Qexpand_squiggle. instead, expand ~ to $HOME on qfs initialization and
...
cache the value.
don't call Qopen directly in the engine. instead call QFS_Open (generic) or
QFS_WOpen (write only, zip flag).
rework QFS_NextFilename to use a dstring (avoiding a potential buffer
overflow), support 10000 files and work from the top-level fs_userpath
directory. adjust QFS_WriteFile and QFS_WriteBuffers etc to suit.
make sw32 screenshots actually get written.
hopefully everything gets written to the right places :)
2003-05-23 17:17:01 +00:00
Bill Currie
460c8f7f0f
mindHog's qfpython patch. GIB info string event callbacks and a compile fix
...
for broken x11 headers.
2003-05-16 16:17:24 +00:00
Bill Currie
31db390df5
rename cl_overlay_gravity to cl_scoreboard_gravity, rename the hud/sbar,
...
stuff from cl_* to hud_*, add hud_scoreboard_gravity to nq.
2003-05-09 20:30:50 +00:00
Bill Currie
0a5f3c31eb
ping/pl/fps/time now stays put and is now in the client rather than the
...
renderer (so nq is currently missing it)
2003-05-08 05:49:57 +00:00
Bill Currie
a43d20fffa
mindHog's user command patch (with change to builtin name) making the
...
function generally available (eg, for his python plugin)
2003-04-28 15:56:09 +00:00
Brian Koropoff
e707e9bb89
Moved gib_*.h into include/ and moved the necessary declarations and struct
...
definitions to QF/gib.h to interface with libQFgib.
2003-04-13 22:07:58 +00:00
Brian Koropoff
c168b40661
Added map::current and map::timeElapsed GIB builtins.
2003-04-13 20:31:06 +00:00
Bill Currie
4c7daebe89
provide SV_UserCmd builtin so progs can emulate a client but use the
...
engine's physics code
2003-03-10 16:39:40 +00:00
Bill Currie
6c028a57bb
bot player stats seem to be working working
2003-03-05 03:56:50 +00:00
Bill Currie
fc7324485e
implement SV_AllocClient and SV_FreeClient builtins
2003-03-04 03:35:12 +00:00
Brian Koropoff
34f3970847
Added the "map" GIB event to qw-server.
2003-03-04 03:23:41 +00:00
Bill Currie
389542fda7
first step in creating an interface for the snagging of client slots by
...
the progs
2003-03-03 17:08:45 +00:00
Bill Currie
1a40e5b6b4
implement WriteBytes for qc
2003-03-02 03:25:47 +00:00
Brian Koropoff
e9b117379f
Added client.connect, client.spawn, and client.disconnect GIB events.
2003-02-28 05:09:46 +00:00
Bill Currie
d2edce37a4
give qc access to WriteCoordV and WriteAngleV
2003-02-28 04:59:40 +00:00
Brian Koropoff
760210dc7b
GIB: Many bugfixes and cleanups. Added bitwise math operations, expansion
...
of leaf names in a stem variable via %var, the builtin functions 'count'
and 'contains', and an initial interface between qw-server and GIB to allow
querying of clients and their info strings. Also cleaned up the chat event
interface a bit. Renamed a few builtins.
2003-02-16 19:46:34 +00:00
Bill Currie
8ff653a142
forgot to clean up the net headers
2003-02-12 19:41:44 +00:00
Bill Currie
21d8b4f8dc
link in hw, move the qw and nq networking code into libs/net and make
...
hw-master use libnetchan. there are evil include hacks that will need to be
taken care of in net*.[ch]
2003-02-11 22:48:57 +00:00
Bill Currie
f4fdbeee4d
make the low level network code and packet logging less incentuous
2003-02-10 21:41:22 +00:00
Bill Currie
761a7546dd
re-arrange things so __attribute__ and __builtin_expect are properly
...
autoconfiscated so rcsid will continue to work with gcc 3.3
2003-01-15 15:31:36 +00:00
Bill Currie
71196fedf6
make gcc more anal about prototypes, string constants and function
...
visibility (ie, global functions must have a prototype)
2003-01-06 18:28:13 +00:00
Brian Koropoff
c522970a88
Added a GIB event system for registering GIB callback functions to be
...
started when a named event occurs. Added a few test events to the qw
client and server. Cleaned up the range GIB builtin a bit.
2003-01-03 04:30:38 +00:00
Brian Koropoff
714f2ced4c
Fixed several GIB bugs, optimized Cbuf_Execute_Stack a bit, changed QW
...
clients to use a separate buffer for stufftext commands.
2002-12-01 07:22:42 +00:00
Bill Currie
8d35d67997
clean up the multiple definitions of the DF_* flags
2002-11-22 17:45:30 +00:00
Bill Currie
ee30860cef
fix a bunch of ;; typos
2002-11-20 21:44:04 +00:00
Bill Currie
ca4b3acd6c
big protototype cleanup. Now, except for a few cases, all non-static
...
prototypes are in headers files.
2002-11-05 19:12:51 +00:00
Bill Currie
9298204208
support tonik's single player/coop qw port
2002-10-24 02:45:16 +00:00
Bill Currie
ef33b9754b
support as many packet entities in demos as qwex does (ie, 196). Makes me
...
wonder if I should make the server support sending 196 packet entities to
qf clients.
2002-10-17 16:03:18 +00:00
Bill Currie
6e015bba1a
d'oh, forgot to fix the FIXME :) fixes the seg on demo record start when
...
more than 1 player is invovled
2002-10-04 03:36:51 +00:00
Bill Currie
212e40b54a
mvd recording :) (thanks to qwex 0.165b and highlander)
2002-10-04 02:29:03 +00:00
Bill Currie
30c8646e70
bring in sv_demo.c from qwex. This is only the beginning of the mvd server
...
side support.
2002-10-03 21:00:35 +00:00
Bill Currie
2383340031
mvd playback support. seems to work (get some weird entities hanging around
...
but I suspect that's the mod used in the demo I was testing with), but
probably needs some cleanup.
2002-10-02 21:56:45 +00:00
Bill Currie
a6318a3baf
enhanced no_pogo_stick control
2002-09-13 04:30:18 +00:00
Brian Koropoff
7f4cd09e9d
Removed the old timecheat protection and added a system that adjusts
...
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.
2002-09-12 04:57:40 +00:00
Bill Currie
f6729e35e5
use MAX_CLIENTS instead of 32 for MAX_PHYSENTS
2002-08-29 17:42:41 +00:00
Bill Currie
d8c1c735a6
up MAX_PHYSENTS from 32 to (32 + MAX_PACKET_ENTITIES) (ie, 96). While this
...
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).
2002-08-29 17:32:16 +00:00
Bill Currie
a7380fef66
nuke msg_suppress_1 in favor of Sys_DPrintf
2002-08-27 18:05:59 +00:00
Bill Currie
ec47e08e1c
go back to using QFile, quakeio.h and quakefs.h
2002-08-27 07:16:28 +00:00
Bill Currie
ad6e025a91
take cmd.[ch] back to basics. the gib code is temporarily gone pending
...
renovations. cmd_source handling is a little hacky in nq, but it's working.
2002-07-31 05:19:03 +00:00
Ragnvald Maartmann-Moe IV
587de27849
Another step towards QSG2 compliance.
2002-07-25 14:43:36 +00:00
Bill Currie
cb814165f8
allow progs to register user commands (but not override any of the standard
...
ones (yet))
2002-07-05 06:43:47 +00:00
Bill Currie
a397ef953a
Nuke Netchan_AckPacket because it didn't really achieve its goal ('twas a
...
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 )
2002-06-19 19:58:36 +00:00
Bill Currie
5052e3db1f
add qsg support for players and actually send EFFECTS2 and FRAME2 for
...
packet entities
2002-06-19 02:55:57 +00:00
Ragnvald Maartmann-Moe IV
c8bc5dfb4c
QSG2 glows almost working. Plus lots of typos killed.
2002-06-18 21:41:24 +00:00
Bill Currie
1747c07da6
rename cl_demospeed to demo_speed and add demo_gzip (yeah, compressed demos)
2002-06-08 23:22:26 +00:00
Bill Currie
e8026d9c76
touch, think and blocked now support methods
...
also a little whitespace cleanup
2002-05-31 21:05:58 +00:00
Jeff Teunissen
b2579dca98
WOOHOO! The hardcoded framerate cap is gone! cl_maxfps 0 now allows an
...
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.
2002-04-25 16:50:56 +00:00
Bill Currie
33513ce67b
demo autorecord patch from RvB
2002-03-14 18:48:04 +00:00
Bill Currie
3e4c200430
more evil hacks to get nq's and qw's sv_phys.c similar.
2002-02-25 22:57:17 +00:00
Bill Currie
9ea013888b
eliminate GetEdictFieldValue, mostly merge SV_AddGravity, and clean up
...
some whitespace in sv_phys.c
2002-02-25 07:44:17 +00:00
Bill Currie
96d3a997c9
bring sv_phys.c closer to being mergable. I've temporarily(?) disabled
...
Maddes' max velocity `fix' (yeah, it's physicly correct, but...). I'll
probably cvar it.
2002-02-22 05:28:17 +00:00
Bill Currie
5a1c0af8ca
more cloning :)
2002-02-20 20:53:41 +00:00
Bill Currie
8ee5acb208
redo Sys_Error so it's more usable throughout quake
2002-02-20 19:22:52 +00:00
Bill Currie
013f503738
start getting const-correct on vec3_t params
2002-01-03 05:29:38 +00:00
Ragnvald Maartmann-Moe IV
d4a8224d9b
Change hudswap to use a callback, and instead of passing a swap variable to 10 functions, where only 2 use it, use a global variable. Make a few scr functions static inline, too. Got a totally unexpected ~0.45fps speedup.
2001-12-09 14:05:30 +00:00
Bill Currie
d4df29de02
cl_paranoid: setting to 0 will disable printing the server address for
...
connectionless packets
2001-12-05 21:56:52 +00:00
Bill Currie
44b36e4d6b
sadly, I have to revert my low-copy code. it doesn't gain /enough/ to be
...
worth the bugs it's introduced (it's extremely difficult to do both low-copy
/and/ correct entity updates).
2001-12-03 05:36:39 +00:00
Bill Currie
6a51021f86
low-copy networking code. gives about 3-4% speed boost to overkill (null
...
renderer).
2001-12-01 22:16:50 +00:00
Bill Currie
06622fa164
-mem now also works as a cvar (and there was much rejoycing:). sv_mem_size
...
(server) and cl_mem_size (client), in megabytes (ie, same as -mem). I haven't
done nq yet as I'm uncertain what to /call/ it :)
2001-11-14 20:18:37 +00:00
Bill Currie
fe50e4b1e5
cache the cshifts serverinfo value for further reduction of Info_ValueForKey
...
calls.
2001-11-11 07:02:38 +00:00
Bill Currie
c5aec15569
This prepares for moving the net_svc code to a branch allowing both network
...
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.
2001-11-07 08:24:56 +00:00
Adam Olsen
e0dfa2b453
- convert ALL the remaining svc's on the client. woot, hehe
2001-11-05 20:13:27 +00:00
Adam Olsen
ded1b4c057
- add some missing boundschecking to CDAudio_Play's track remap (in
...
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? :)
2001-11-05 16:17:45 +00:00
Adam Olsen
d693bc27ff
- merge the svc_strings arrays for cl_parse.c and net_packetlog.c into
...
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
2001-11-05 07:53:03 +00:00
Adam Olsen
87a0a4d7d6
- a TODO item
...
- 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
2001-11-04 21:23:22 +00:00
Bill Currie
7c5c53774f
cache some info strings (team and skin from client user info) and values
...
(no_pogo_stick and teamplay from server info) to cut down on the calls to
Info_ValueForKey (from over 550k to 23.5k in spam2.qwd).
2001-11-04 19:06:50 +00:00
Bill Currie
dcd9b0040e
rewrite the info strings to use hash tables instead of a static string.
...
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).
2001-11-04 07:50:39 +00:00
Adam Olsen
c5f4af0109
- convert svc_playerinfo, cvs_nails, svc_modellist, and svc_soundlist
2001-11-03 10:48:55 +00:00
Bill Currie
9209138fac
nuke the max message lengths from qdefs.h
2001-11-03 00:27:01 +00:00
Adam Olsen
d7e5f88ee3
- conver svc_spawnstaticsound, svc_updateuserinfo, svc_setinfo,
...
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.
2001-11-02 14:52:29 +00:00
Adam Olsen
9f088567d1
- convert svc_sound, svc_spawnbaseline, svc_spawnstatic, and
...
svc_tempentity
there isn't actually anything in the server that uses svc_tempentity,
only the progs do, so it's currently unused.
2001-11-02 10:40:20 +00:00
Adam Olsen
a77619f665
- convert svc_damage and svc_serverdata emitting
2001-11-02 08:10:41 +00:00
Adam Olsen
56f1d6f49b
Begin phase 2 :)
...
- 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.
2001-11-02 07:32:19 +00:00
Adam Olsen
1c30d89149
- add a net_status_t enum, containing NET_OK, NET_SHORT, and
...
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
2001-11-02 06:00:21 +00:00
Bill Currie
ddd7989b85
turns out I was wrong about how U_REMOVE gets into an update packet (thanks
...
Rhamph) but the change from short to int in words does a nice bit to the
speed.
2001-10-29 21:46:00 +00:00
Bill Currie
5819fc200c
shrink the packet entities word arrays down to MAX_PACKET_ENTITIES + 1 and
...
ensure the array is always terminated with a 0. This seems to give -x11 a
0.03 fps (0.06%) boost.
2001-10-29 19:15:29 +00:00
Bill Currie
85c9e0ab1e
more externs cleaned up
2001-10-29 17:46:03 +00:00
Adam Olsen
e3c5da4fdd
- remove the now unused net_svc_delta_t struct
2001-10-29 00:52:02 +00:00
Adam Olsen
36b8256b3a
- fixed net_packetlog to use Con_Printf when there's no logfile open,
...
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
2001-10-29 00:32:16 +00:00
Bill Currie
78a3e398d5
* taniwha gets medieval on extern
2001-10-28 04:23:37 +00:00
Bill Currie
aa6472da2b
cleanup qport usage a little
2001-10-27 08:28:15 +00:00
Adam Olsen
dd19f7b500
- convert svc_deltapacketentities
...
- add a Host_NetError that dumps a packet log and disconnects, and use
it instead of Host_EndGame in most cases
- fix a couple multiply-defined vars
2001-10-24 15:23:02 +00:00
Bill Currie
4ae92c8d42
new cvar: sv_hide_version_info. This hides QuakeForge specific info strings
...
from progs.
2001-10-24 02:50:11 +00:00
Adam Olsen
818f5de658
- rename CL_ParsePacketEntities to CL_ParseDeltaPacketEntities
...
- 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*
2001-10-21 14:21:30 +00:00
Adam Olsen
d69c8013aa
- convert svc_spawnbaseline and svc_spawnstatic
...
Only notable ones left now are packetentities and deltapackentities :)
2001-10-20 11:59:42 +00:00
Adam Olsen
32fbdba399
- move the MAX_PROJECTILES def from cl_ents.c to bothdefs.h
...
- convert svc_nails
2001-10-20 08:10:25 +00:00
Adam Olsen
a4d9507895
- roast the unnecesary MAX_STYLESTRING def from bothdefs.h
...
- 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
2001-10-19 21:20:49 +00:00
Adam Olsen
c2807a6da1
- and svc_temp_entity too. Probably the last I'll do today.
2001-10-18 18:48:49 +00:00
Adam Olsen
9cef5a1edc
- svs_sound too of course
2001-10-18 13:33:12 +00:00
Adam Olsen
eb9c515c2a
- yada svc_damage, svc_serverdata
...
- remove a no longer valid commit from NET_SVC_UpdateUserInfo_Parse,
and make it always set name/data to 0 if they're unused
2001-10-18 08:57:03 +00:00
Adam Olsen
cf8380b528
- change NET_SVC_*_Parse to return qboolean, indicating if they had a
...
bad read
2001-10-18 07:34:38 +00:00
Adam Olsen
d2fe052d59
- convert svc_setinfo, bla bla, you know hte drill
2001-10-18 07:23:33 +00:00
Adam Olsen
634c2c6acf
- rename CL_UpdateUserinfo to CL_ParseUpdateUserInfo for uniformness
...
- rework svc_updateuserinfo/CL_ParseUpdateUserInfo like everything
else
2001-10-18 07:01:40 +00:00
Adam Olsen
7d26e6e2b9
- move the svc_print handling into a seperate function (CL_ParsePrint)
...
- add NET_SVC_{Print,Download}_Parse functions and assosiated
net_svc_{print,download}_t structs.
- make CL_Parse{Print,Download} use the above stuff
2001-10-18 06:35:28 +00:00
Adam Olsen
18036b63d9
- change MSG_ReadString to return const char * and return a pointer
...
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.
2001-10-18 04:44:58 +00:00
Adam Olsen
0785610296
- fix a little mistake in SV_PrintToClient that'd cause it to
...
segfault if your first call was with "". Probably could cause
crashes too
- add a string.c file to libQFutil, with a Q_strcasestr function,
which strcasestr is defined to if it's not already defined. (we'd
get that with glibc if we defined __USE_GNU, but we don't)
- make client_t and SV_ExtractFromUserinfo both use NAME_MAX for
their name arrays, instead of 32 for one and 80 for the other
- rewrite almost all of SV_ExtractFromUserinfo's name handling.
- \r, \n, and \t are all converted to spaces
- leading/trailing spaces are stripped
- consecutive spaces are reduced to a single space
- empty names are considered bad
- user-* nicks are considered bad (unless forced to them)
- a name containing console or admin is considered bad
- a name that already exists is considered bad
- if they have a bad name it gets forced to user-%d, where %d is
their userid
- netname in the progs is now updated properly
- name changes are always reported unless it's the initial setting,
rather than only if they're full connected and not a spectator
- finally, if the name change fails (info string exceeded), give
them the boot. (before this was only done for duplicate names)
That's about it :)
2001-10-04 19:11:39 +00:00
Bill Currie
1929797cc9
get nq-server so it runs. part of this involved renaming cl_warncmd to
...
cmd_warncmd
2001-10-03 21:25:43 +00:00
Adam Olsen
1f87234aac
- change MAX_MASTERS from 8 to 32, since prozac has 9 of them
2001-10-03 03:42:28 +00:00
Bill Currie
7fcdffb42e
mirror the chase and watervis serverinfo keys in the cl struct so
...
Info_ValueForKey doesn't get hit so often.
2001-10-01 01:51:36 +00:00
Bill Currie
e9c420c749
nuke SV_RecursiveHullCheck from cl_cam.c and use PM_RecursiveHullCheck
...
instead. Also add prototype for PM_RecursiveHullCheck to pmove.h
2001-10-01 00:20:57 +00:00
Bill Currie
c78edb3a36
Apply Seth Galbraith's <sgalbrai@linknet.kitsap.lib.wa.us> chasecam patch
2001-09-28 07:51:15 +00:00
Ragnvald Maartmann-Moe IV
e2f14519fb
Merge world.h. Also reduced smoke particle textures from 8 to 1, a considerable speedup through reduced texture thrash...
2001-09-24 17:52:13 +00:00
Bill Currie
49a85718f8
total nukage of Con_*Printf calls from libs (except for video). Sys_*Printf
...
(Sys_DPrintf is new) is now used exclusively for all lib printing. Con_Init
sets the sys printf recirection to Con_Print (which has been revamped
appropriatly) and the server sets it to SV_Print (which was SV_Printf and
the new SV_Printf calls /it/). This should fix the rcon print redirection
issues.
2001-09-21 04:22:46 +00:00
Bill Currie
e27878e156
bring forward the sv_extentions and stdver changes from 0.3
2001-09-11 03:50:24 +00:00
Bill Currie
74e9f89e8c
forward port the client info string filtering from 0.3 and remove info.h from
...
a couple of c files that no longer need it.
2001-09-11 03:10:29 +00:00
Bill Currie
882adf295a
implement KK's ban, mute and cuff
2001-09-09 04:51:08 +00:00
Bill Currie
a9d6bc9a30
total nukage of #ifdef QUAKE2 (R_DarkFieldParticles is present, just unused)
2001-08-27 23:21:09 +00:00
Bill Currie
74dfef5cd1
sort-of merge world.h and (mostly: Sys/Con vs SV) world.c this winds up
...
bringing rotated bboxes into nq :)
2001-08-27 22:16:11 +00:00
Bill Currie
3edd4550d2
heh, nor do we need PROGHEADER_CRC
2001-08-27 21:13:00 +00:00
Bill Currie
9d27a12df7
progdefs? where we're going we dont need... progdefs
2001-08-27 21:09:13 +00:00
Bill Currie
2a027969d5
various init order fixes and a */[] snafu sorted
...
also make translations big enough for the 32 bit colors
2001-08-25 05:54:21 +00:00
Adam Olsen
cd99a6a4b6
timeframes patch I made so long ago. use cl_timeframes 1 before
...
running a demo, and when it stops it'll print out the time spent on
each frame (in microseconds) to timeframes.txt.
2001-08-21 05:35:35 +00:00
Bill Currie
7aa7bb663a
centralize client state setting so ancilliary operations can be guaranteed
...
to happen (eg, key binding table selection for console).
2001-08-19 03:51:52 +00:00
Bill Currie
3d30361595
show_ping and show_pl. pretty much like show_fps.
2001-08-11 04:14:58 +00:00
Bill Currie
fb42199637
change all the SVFIELD calls to SVtype. this should make the code a little
...
easier to read.
2001-08-08 20:28:53 +00:00
Adam Olsen
ae133d0a90
Modify progs to add builtins at runtime. It should be trivial to
...
lookup functions by name, and make all our new QC builtins allocate
numbers automatically.
2001-08-03 06:40:28 +00:00
Bill Currie
fe8738b042
make dist works again
2001-08-01 17:49:25 +00:00
Adam Olsen
513347effd
Fix that classic "playing without joining a team" TF cheat :)
2001-08-01 00:38:16 +00:00
Bill Currie
fb26d8b18a
make Info_Set* take flags indicating wether funchars should be stripped or not
2001-07-31 18:27:49 +00:00
Bill Currie
368468dce0
revert the changes to cl_demo.c as they are a serious (10%) speed hit in qw.
...
While lost in the noise for nq for the standard demos, it seems like a good
idea to revert it too.
2001-07-31 07:29:44 +00:00
Bill Currie
ceadc2482c
erk, forgot to commit this with the wrappers
2001-07-27 23:19:48 +00:00
Bill Currie
6000b06de3
support arbitrary hulls for players, too
2001-07-26 21:37:34 +00:00
Bill Currie
5ebee4a28b
rotated bounding box support. this is so totally untested it's not funny
...
(though it does compile). Keeps things simple and only checks touched.
.integer rotated_bbox;
ent.rotated_bbox = getboxhull ();// be sure to check for failure (0)
rotate_bbox (ent.rotated_bbox, ent.angles, ent.mins, ent.maxs);
...
freeboxhull (ent.rotated_bbox); // when freeing entity. box hulls are limited
integer () getboxhull = #95
void (integer hull) freeboxhull = #96
void (integer hull, vector angles, vector mins, vector maxs) rotate_bbox = #97
2001-07-26 04:26:54 +00:00
Adam Olsen
619b12375c
Start of support for rotated bboxes. shouldn't do anything yet
2001-07-26 00:01:13 +00:00
Adam Olsen
2f223924f4
Add a set of "crudefile" file io functions. Reads or writes an
...
entire C string (including terminating nul). Read the source for
more details :)
2001-07-22 19:03:26 +00:00
Bill Currie
f3ab764666
bump MAX_BACK_BUFFERS up to 8.
2001-07-22 07:03:32 +00:00
Bill Currie
743fd9cc19
rename SetUserInfo to UserInfoCallback.
...
set self to the client entity for UserInfoCallback.
add void (entity ent, string key, string value) setinfokey = #102 ;
similar usage to infokey.
2001-07-20 05:05:47 +00:00
Bill Currie
d30f1ee0c2
add an /optional/ SetUserInfo qc callback to allout the progs to take over
...
userinfo setting.
float (string key, string value) SetUserInfo;
key = infostring key
value = new value
returs: 0 for key not changed, non-0 to broadcast the change
2001-07-20 04:30:33 +00:00
Bill Currie
1c9e1b176f
fear the mighty const correct patch
2001-07-15 07:04:17 +00:00
Adam Olsen
dcaa0b205f
Make coop play possible in qw. Create a progs variable called 'current_skill'
...
and you'll get the nq edict pruning behavior.
2001-07-13 22:47:11 +00:00
Bill Currie
7a06a2254a
rename the Con_Printf in sv_send.c to SV_Printf and change all the calls to
...
Con_Printf in the server code to SV_Printf.
nuke Con_DPrintf from sv_send.c
2001-07-11 23:11:29 +00:00
Bill Currie
001f178e86
rcon and say improvements from kkqwsv
...
server.h:
add rcon_from_user
sv_ccmds.c:
add SV_ConSay_Info_f (sayinfo) for quiet info messages and revamp the
rest of SV_ConSay_f accordingly. Also include deactivated commands for
cuff, mute, tell and ban (coming soon).
sv_main.c:
revamp the rcon system to support both `root' rcon and admin rcon and
provide better logging. admin_password is the cvar holding the password
for admin access (used the same way as rcon_password)
2001-07-09 23:33:35 +00:00
Chris Ison
3456b5f479
part 1 of slist fixup, added ping and game filtering, also fixed some potential bugs. flame me later
2001-06-17 08:14:22 +00:00
Chris Ison
12ae6750af
moved slist stuff out of cl_main.c and into cl_slist.c, enabled getting server list from master servers. to switch between servers.txt list (default) and list of servers from master servers use slist switch
2001-06-09 09:12:24 +00:00
Bill Currie
05cf89dd5d
make progs type checking optional at configure time. still defaults to on.
2001-06-08 00:11:54 +00:00
Bill Currie
652069d3f2
This one's for Mercury :) (cvar control of pmodel and emodel)
2001-06-02 23:29:41 +00:00
Bill Currie
d2a4faae6e
oops :) (packet log fixes: segs aren't nice)
2001-05-31 15:38:08 +00:00
Bill Currie
6bf58ab1af
no header includes cvar.h now
2001-05-31 03:41:35 +00:00
Bill Currie
4babd979d6
nuke --enable-packetlog in favor of a net_packetlog cvar so packetlogging is
...
always available. also change the packet log open mode from truncate to append.
2001-05-31 02:43:48 +00:00
Adam Olsen
de4ab28d38
re-add support for changing client port (use +set cl_port foo)
2001-05-30 18:50:17 +00:00
Joseph Carter
05adfd0e53
quakefs.h -> vfs.h
...
quakeio.h -> vfile.h
More diff reduction between trunk and my VFS code. Also took the time to
put some headers in order and fix a few #include's pointed out by moving
things around a bit.
2001-05-30 04:34:06 +00:00
Joseph Carter
186d577818
s/QFile/VFile/g - makes my diffs much smaller and more manageable for the
...
VFS work.
2001-05-30 03:21:19 +00:00
Bill Currie
d441a61bf3
make sure that the reliable packets from soundlist, modellist and the skins
...
info get acked. This is done by sending a no-op packet (0 byte didn't work
because the runt packet detector throws them out before the ack is seen).
2001-05-29 03:29:51 +00:00
Bill Currie
3c66182588
fix the sound precache lookup code in net_packetlog.c
2001-05-28 22:16:27 +00:00
Bill Currie
1a25bc9349
gl_screen.c and screen.c are now client clean (and merged :)
2001-05-23 06:33:23 +00:00
Bill Currie
c500fd7479
make dist fixups
2001-05-22 17:09:03 +00:00
Bill Currie
4a80639556
sw and gl rmisc are now client clean. the graphing functions ahve been pulled
...
out into r_graph.c (Time and Z graph), cl_ngraph.c (Net graph), and
{gl,sw}_graph.c (R_LineGraph). gl_ngraph.c is gone. Unfortunatly, something
is rather wrong with NetGraph in gl (probably R_LineGraph).
2001-05-22 06:00:38 +00:00
Bill Currie
da8715f27d
sw_ralias.c and gl_rmain.c are now client clean. this involved a bit of a
...
revamp of skins. keep an eye out for broken skins (especially in nq)
2001-05-21 22:25:35 +00:00
Ragnvald Maartmann-Moe IV
a9c9a46c37
client.h gone from gl_rlight.c and sw_rlight.c.
...
cl_lightstyle -> r_lightstyle
2001-05-21 03:08:07 +00:00
Bill Currie
337430a113
sw_rmain.c is now client and chase clean.
2001-05-20 20:38:51 +00:00
Bill Currie
d360b01827
move dlight stuff out of cl_* into r_main.c. nq dlights seem to be broken,
...
but that seems to have been from before this work
2001-05-20 05:42:52 +00:00
Bill Currie
d1c2b0ec52
r_efrag.c no longer relies on cl*.h
2001-05-20 02:39:56 +00:00
Bill Currie
e0512e4af3
r_efrag.c is almost client.h free
2001-05-20 01:58:59 +00:00
Bill Currie
ec5daaa764
finally merge render.h. nq will NOT currently compile. I'll fix that when I
...
get back onto my computer at home
2001-05-19 00:23:21 +00:00
Bill Currie
378adbf8f6
diff noise reduction
2001-05-18 23:57:38 +00:00
Bill Currie
18e6b43168
diff noise reduction in render.h and its fallout
2001-05-18 22:07:10 +00:00
Ragnvald Maartmann-Moe IV
1dbfea351a
console.c mergable. Little bit of cleanup of client.h
2001-05-18 18:33:37 +00:00
Bill Currie
a735b92bab
kill the allowskybox varible. it wasn't ever checked anyway
2001-05-18 18:04:55 +00:00
Bill Currie
e61c33c9d9
merge of cl_tents and r_efrag.
2001-05-15 21:34:54 +00:00
Ragnvald Maartmann-Moe IV
4206b93721
diff noise reduction
2001-05-15 19:00:53 +00:00
Bill Currie
c7ee39acbb
rename the qw c declaration of the client name cvar from name to cl_name
2001-05-13 04:01:06 +00:00
Bill Currie
559aa4485b
split out the qw client specific skin code from skin.c
2001-05-11 22:47:15 +00:00
Bill Currie
105d1ee7d9
well, that didn't last long, did it?
...
merge r_cvar.h
2001-05-11 19:33:17 +00:00
Bill Currie
4ff86056db
pull all rendering cvar declarations and initialisations out of the misc
...
files and put them into r_cvar.[ch] getting ready for the renderer merge
2001-05-11 19:21:48 +00:00
Ragnvald Maartmann-Moe IV
ab29863c04
Grok Goofs Grumble.
2001-05-10 17:49:35 +00:00
Ragnvald Maartmann-Moe IV
a5d3e614a0
More Merge Madness.
2001-05-10 17:45:05 +00:00
Ragnvald Maartmann-Moe IV
7aa70de483
*meld*
2001-05-10 17:26:03 +00:00
Bill Currie
2c07108c65
model loading code merge. dragged in smoe merges and cleanups of d_iface.h,
...
r_local.h, r_shared.h, client.h and render.h at the same time (couldn't get
away from that:/) verly likely to be lots of breakage (eg, player and eye
models are NOT checksummed atm), but everything builds
2001-05-10 06:01:11 +00:00
Ragnvald Maartmann-Moe IV
5cd8ddb1aa
*shuffle*
2001-05-10 04:16:39 +00:00
Ragnvald Maartmann-Moe IV
f5f3260dec
Taniwha apparently lost interest after doing the hard part, so I'll just merge this...
2001-05-10 03:36:31 +00:00
Bill Currie
00f6e26419
clean up some nasty dependencies
2001-05-10 03:16:29 +00:00
Ragnvald Maartmann-Moe IV
5864e85048
Clean up after aforementioned shoggoth.
2001-05-10 02:42:19 +00:00
Ragnvald Maartmann-Moe IV
9529f12f5b
Mister Spock was here.
2001-05-10 02:37:55 +00:00
Ragnvald Maartmann-Moe IV
2fe98e9fa4
More merging. Become one with the shoggoth. Poor hungry shoggoth...
2001-05-10 02:29:38 +00:00