Commit Graph

997 Commits

Author SHA1 Message Date
Bill Currie 97029c0689 rearrange the svc_stufftext code so stuffbuff doesn't even get allocated if
it's not needed. This should speed things up fractionally for well behaved
mods/servers that send atomic svc_stufftext packets (ie, always ending in
\n).
2002-04-19 17:58:52 +00:00
Brian Koropoff ea3c2f0d78 Changed stufftext behavior so that commands are built up until a \n is
found at the end of the string.  This works around a stupidity in some
servers where stufftext commands are sent in pieces and might not reach
the client before execution occurs, resulting in parse errors.
2002-04-19 06:26:08 +00:00
Bill Currie d4cc899d33 even id has that blasted bug :/ 2002-04-16 17:18:28 +00:00
Bill Currie ed0342e996 clean up the mess of {send,recv}msg vs {sendto,recvfrom} 2002-04-15 19:06:25 +00:00
Bill Currie 4ac2fc0a52 add the -b dotted.quad option so qw-master can bind to a specific address.
Useful on multi-homed machines where either you want qw-master to listen on
only one address or your operating system is lame.

While (currently) ugly, compiles for win32 again.
2002-04-15 18:13:17 +00:00
Bill Currie 9fa9f6af52 need to explicitly include sys/uio.h on older libc 2002-04-15 14:35:10 +00:00
Bill Currie 599e0f4b0a make sure reply packets go out the same interface they cam in on.
This breaks win32 builds :/
2002-04-14 03:44:16 +00:00
Bill Currie c310cd2235 correct some email addresses 2002-04-12 17:54:12 +00:00
Bill Currie a974eb2333 move buildnum.c to util and make nq and qw init more similar 2002-04-11 18:42:55 +00:00
Bill Currie 0d525189f4 fix some problems with error printing, especially when using the curses
console
2002-04-10 21:03:02 +00:00
Bill Currie 76d004f9cf fix confim_quit 2002-04-09 17:00:39 +00:00
Bill Currie 63909922d7 damn sun's model_t :P 2002-04-07 05:03:54 +00:00
Brian Koropoff 676bf39d9d Beautified GIB, improved looping and backtraces slightly. Old buffers are
now recycled, not freed.  Fixed some bugs in exp.c.  Ready to add embeded
functions (read: function calls with return values) and for loops.
Probably some other misc. fixes, I tend to go on debugging streaks.
2002-03-27 06:24:19 +00:00
Robin Redeker 264e9b1617 Added teamname to the playerconfig dialog.
Made noskins a archived var.
Added a network menu.
-> just realized, that menu-code is still to blown
and still sucks too much. i am thinking about a
more templated menu-code. (tanwha: i will design something nice ;)
2002-03-20 16:13:32 +00:00
Bill Currie e386a02292 make sure unused player slots are skipped when linking (should fix elmex'
segfault)
2002-03-15 16:49:40 +00:00
Robin Redeker 54037f1115 Fixed cl_fraglog and fs_fraglog cvar for being archived.
Fixed fraglogging when playing demos.
2002-03-15 13:31:05 +00:00
Bill Currie bde0f94d1a don't process server packets when a client packet has been read from a demo
file. this was causing server packets to sometimes be processed multiple
times.
2002-03-15 07:35:22 +00:00
Bill Currie 777495e069 hopefully fix our rocket trail problem 2002-03-14 21:33:56 +00:00
Robin Redeker 706de39c06 Made fraglogging switchable. And added it to the features-menu.
cl_fraglog is the new cvar for toggling fraglogging.
2002-03-14 19:41:49 +00:00
Bill Currie 33513ce67b demo autorecord patch from RvB 2002-03-14 18:48:04 +00:00
Robin Redeker 650912e75a Added my fancy automatic fraglog to the qw-client.
Cvar fs_fraglog is a new cvar for the filename of the fraglog (default: qw-score.log)
Any devel should take a look at qw/source/cl_parse.c and qw/source/sbar.c to verify
the place where the function is placed and called, i am not shure if its correct there.
2002-03-14 15:43:08 +00:00
Bill Currie 6aa4a690d6 demo auto-naming patch from RvB 2002-03-13 18:09:33 +00:00
Bill Currie 7c3f58e08e this should fix elmex's segfault 2002-03-12 19:44:10 +00:00
Bill Currie 87e4148ffc fix the client getting stuck trying to download (eg) "skins/ .pcx" 2002-03-11 18:47:14 +00:00
Brian Koropoff e0e9084ad7 Merged in the new command parser. No major bugs or incompatibilities could
be found.
2002-03-05 21:51:12 +00:00
Brian Koropoff 8d124f9c2b Implemented variable substitution and did various cleanups to the parser.
Changed Cmd_TokenizeString to accept a flag that controls the application
of filters (tags, variables, escape characters) to the tokens and modified
a few places in the source that called it.  Added a secondary command
buffer that is parsed without filters for legacy command support.
Currently, it is only used for commands stuffed into the console from the
server.  It is hacky, and I hope to eventually generalize the console
interface to support any number of buffers and audit the rest of the code
to recognize it.  For now, the legacy buffer at least keeps escape
character parsing from destroying info strings.
2002-03-03 23:28:57 +00:00
Brian Koropoff f78ec56975 Added escape characters, the <i> tag to ignore tags enclosed within it, and
generally cleaned the parser up.  If a line begins with |, it will be
stripped off by the tokenizer and no tags or escape characters will be
processed.  Commands stuffed into the console from the server are prepended
with | to ensure backward compatibility.  This can also be used anywhere
backward compatibility is needed, such as where info strings are stuffed
into the console, or as an alternative to using escape characters in the
entire string.
2002-03-03 08:29:28 +00:00
Bill Currie 26d7463be7 the majority of raptor's sgi build patch. I'll look at the last two bits
(server.c and vid_sdl.c) later.
2002-03-03 06:03:51 +00:00
Bill Currie 5d3830eeb1 move SV_SetMoveVars 2002-02-26 07:32:23 +00:00
Bill Currie 6ba5e823b2 use sv_gravity->value instead of movevars.gravity 2002-02-25 23:11:39 +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 676527a0d3 if the velocity is 0, don't bother clipping it. 2002-02-25 18:40:51 +00:00
Bill Currie da1f9fcf44 cut&paste + 1am = crippled quakeguy. d'oh :P 2002-02-25 17:41:21 +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 cd29f8b9a0 remove an unneeded prototyp 2002-02-25 06:34:06 +00:00
Bill Currie d5ed3bea75 when touching entities, it is possible for the next linked entity to be
freed, and thus unlinked. when this mappens, make sure the pointer to the
next entity to be touched gets updated appropriatly.
2002-02-25 03:24:46 +00:00
Bill Currie 8e31211266 don't link in a MOVETYPE_NONE edict that has freed itself via its think
function.
2002-02-25 03:22:32 +00:00
Bill Currie 3e4422a9f3 ok, the usleep is back, but it's controlled via cl_usleep which defaults to
off.
2002-02-22 05:48:59 +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 87cb9647ab reduce the fluffy diffs 2002-02-20 20:21:08 +00:00
Bill Currie c9432fd92d remove unneeded stuff 2002-02-20 20:20:17 +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 ea79349c2d nq world.c and qw world.c are now identical ignoring the $Id line 2002-02-20 18:35:49 +00:00
Bill Currie b6c331736a give nq host_mem_size so -mem can be a cvar (similar to sv_mem_size and
cl_mem_size in qw).
2002-02-19 20:47:45 +00:00
Bill Currie 9aace57b07 fix a core dump when failing to allocate the hunk 2002-02-19 19:24:18 +00:00
Timothy C. McGrath 301eb4b8fd Changed show_fps, show_time, show_pl and show_ping into archived cvars. They
were archived originally, but apparently some insane little gremlin keeps
reverting my change without telling me why :)

Tim/Misty/Misty-chan
2002-02-19 00:58:17 +00:00
Bill Currie 70194567fe kill the usleep. I don't know why, nor do I really care, but it causes qw to
not run at full speed even though it shouldn't.
2002-02-18 19:21:53 +00:00
Bill Currie 234305f0ab make sure networking is initialized before doing /anything/. this should
fix the host lookup failurs for win32 when using -f.
2002-02-13 17:58:30 +00:00
Bill Currie 2c1173aadf totally zap a client slot when the server sends an svc_updateuserinfo with
a blank info string as the only way this should ever happen is when the
server is dropping the relevant client so our client might as well drop it
too.
2002-02-13 17:52:53 +00:00
Bill Currie f1ea286a44 don't bother writing client info for unused client slots. If demo
compatability breaks, this is one place to check for why (but I don't think
it will).
2002-02-13 17:50:47 +00:00
Bill Currie 2e8f780e03 return "" from PF_infokey when the client the key is being requested from
has been dropped. This fixes a nasty crash at the end of a match in tf 2.8+
2002-02-13 05:49:24 +00:00
Bill Currie b4000200e3 move the getopt files from qfcc/source to libs/util, link qw-master against
libQFutil and enable the option parsting in qw-master for win32.
2002-02-12 17:44:41 +00:00
Bill Currie a9547414f3 compile fixes for win32 2002-02-12 04:17:31 +00:00
Bill Currie 6f7b3fa0ef more magic number nukage and add a couple comments 2002-02-11 21:28:18 +00:00
Bill Currie 7c0d8f2345 remove some evile magic numbers 2002-02-11 21:23:28 +00:00
Bill Currie 6c6b8ca4c3 at rxr's request, allow the master server to read in a static list of
servers (qw-master -f servers.txt). These servers can not be removed from
the master server without editing the file and restarting the server. The
format of the server list file is a simple line-by-line list of the servers'
addresses and their port (optional: defaults to 27500):

servername([ :]port)?

one per line.
2002-02-11 20:50:54 +00:00
Bill Currie 0ea713eda4 redo the progs loader to allocate all the memory needed for progs in one
shot, allowing for caller specified alloc and edicts and zone memory sizes.
(progs + edicts + zone).
2002-01-29 20:53:44 +00:00
Bill Currie 2aa2066019 FPH column for the score list from RvB 2002-01-27 21:19:29 +00:00
Bill Currie 7dc9a93d46 clear the download name on failures 2002-01-23 19:01:19 +00:00
Bill Currie e8f6fced0b call BI_Init in the clients 2002-01-20 04:10:36 +00:00
Bill Currie 14ac3acc17 add a builtin (gametype) for detecting the, well, game type (ie, netquake
or quakeworld) which just returns the apprproate string. the single player
menu is now acessable in nq but not qw :)
2002-01-20 03:09:03 +00:00
Bill Currie 39d432b6a6 make sure force_commandline in the console data gets set appropriatly 2002-01-20 00:04:50 +00:00
Chris Ison 60e1b2caf3 fixed 3dfx not building due to mis-named lib 2002-01-19 23:06:28 +00:00
Bill Currie 786a88ba25 blah, bloody separate LDADD and DEPENDENCIES. well, this'll fix 'em :P 2002-01-19 05:45:48 +00:00
Bill Currie 6af9a5d8e6 make the builtins an array of pointers so the hash table doesn't get royally
screwed up
2002-01-19 03:31:51 +00:00
Bill Currie 10acad1ee4 first tie-in for the renderer (Draw_Pic: the interface will likely change
to better match the real interface, but this will do for now)
2002-01-18 22:35:46 +00:00
Bill Currie bb96a5b736 first use of client side QuakeC :) (and having more than one progs instance
seems to work, too). The menu code gets loaded, but is currently otherwise
unused as of yet.
2002-01-18 19:19:33 +00:00
Chris Ison e3b2bfb81a clear key states on game start 2002-01-17 22:04:58 +00:00
Bill Currie 5a1c7ecd2b init order cleanup 2002-01-17 04:11:36 +00:00
Bill Currie 5e8d69589d make sure the download progress bar gets erased when a dl is done 2002-01-17 02:37:52 +00:00
Bill Currie c86c5a78bf finally, the client console is merged 2002-01-16 21:53:42 +00:00
Seth Galbraith 778af4276e external tga skin loading, doesn't work for players (teamcolor stuff) 2002-01-16 20:32:39 +00:00
Seth Galbraith 93116bc827 external mip texture loading 2002-01-16 01:02:50 +00:00
Bill Currie 5c2a17f7a8 the /much/ better fix for the server crashing when dropping a client 2002-01-14 17:41:38 +00:00
Bill Currie 9d59d953bd more cleanups 2002-01-12 05:32:21 +00:00
Bill Currie 140f806d40 more Draw_{Character,String,nString} optimisations 2002-01-10 07:48:41 +00:00
Chris Ison 2fb1d13ba9 fix potential bug in mini score display 2002-01-10 04:28:17 +00:00
Chris Ison 859c18dc07 tidy up Draw_String calls and switched to Draw_nString were needed 2002-01-10 03:54:00 +00:00
Chris Ison f01cc24267 minor bug fixes to Draw_nString changes and Draw_Character tidy up, ie: typos and miss understanding 2002-01-09 23:51:32 +00:00
Chris Ison 6073ff8d58 added Draw_nString for displaying a non \0 terminated string 2002-01-09 21:20:22 +00:00
Ragnvald Maartmann-Moe IV b13efc3a83 Particle updates. Some cleanups, small speedups, and reimplement id's effects. r_particle_styles 0 to see id's effects. 2002-01-04 03:32:59 +00:00
Bill Currie 013f503738 start getting const-correct on vec3_t params 2002-01-03 05:29:38 +00:00
Bill Currie 1721831b3a fix r_netgraph_box 2001-12-20 18:07:10 +00:00
Timothy C. McGrath 0c4d220e8e Fixed a typo in a comment, (modifiefs) changed ancient word 'Quakespy' to
more modern 'Gamespy' in help, fixed typos in show_ping and show_pl, (o is not
0) added a more descriptive help line to show_time so people will know it
actually has TWO settings, and localid finally has a description.

Tim (Misty-chan)
2001-12-19 00:40:34 +00:00
Bill Currie 86d05b1df0 heh, they already got dropped (zombie packets). Turns out the problem was
SV_DropClient not aborting processing of a client packet, so do the evilness
of using setjmp/longjmp to do so.
2001-12-15 04:58:16 +00:00
Bill Currie cac001e035 zombied connections get their packets dropped on the floor 2001-12-15 04:13:56 +00:00
Bill Currie 9b4e21a914 minor prototype cleanups 2001-12-14 00:06:58 +00:00
Bill Currie 69e1a9aab5 bah, installed headers made my compile tests fail 2001-12-13 22:56:43 +00:00
Ragnvald Maartmann-Moe IV 2db08923e8 MSG_(Read|Write)(Coord|Angle|CoordAngle)V. Cleanups, and preparation for use of vector ops in msg.c. 2001-12-12 21:56:09 +00:00
Ragnvald Maartmann-Moe IV f66b7a93e5 Major particle interface cleanup, several bugfixes, and minor performance improvements. Oh, check out "/help easter_eggs" (gl-only, at the moment). 2001-12-11 22:37:30 +00:00
Seth Galbraith 8a47406dcd allow server to control player angles as in Hack and Slash mod\nclient's player model stands up straight\nmouse and joystick work properly in chase_active 2 and 3 modes 2001-12-11 20:49:10 +00:00
Bill Currie 0bb01f310f don't crash when there are too many entities for update messages. just ignore
the excess.
2001-12-10 03:17:21 +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 d222f25f0b correct some error messages 2001-12-07 17:24:16 +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 e0364392c7 don't print the highchars flag 2001-12-05 21:38:08 +00:00
Bill Currie 8c9daf023e possible optimisation for PF_findradius. needs more testing 2001-12-05 19:59:55 +00:00
Bill Currie f6ef79b7e3 cleanup skin's namespace polution 2001-12-04 20:13:12 +00:00
Bill Currie be4d2f57ea clean up Con_Print a smidge 2001-12-04 17:12:16 +00:00
Bill Currie c130d38c6c fix more bugs caused by the Hunk_TempAlloc changes and do some more jump
prediction fixes for msg_t and sizebuf_t
2001-12-03 22:11:21 +00:00
Bill Currie 650d682d2c fix some nasty security holes causes by oversized connection strings. slows
down overkill slightly :/
2001-12-03 21:06:57 +00:00
Ragnvald Maartmann-Moe IV 5a356259f5 Port a few of Tonik's networking improvements, under different names.
cl_maxnetfps (his cl_c2spps), controls number of frames worth of command packets sent per second. So you can now crank your cl_maxfps, and tweak networking independently.

Also, cl_spamimpulse (his cl_c2sImpulseBackup), controls number of duplicate packets spammed to attempt to make impulses reliably reach the server. 3 is default, same as id. Experiment with lowering it at your risk (higher does nothing).
2001-12-03 09:01:17 +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 a619739bab fix the server console for static builds (hmm, non-curses only?) 2001-12-02 20:11:21 +00:00
Bill Currie f233c9edc9 nuke an obsolete function 2001-12-02 06:27:38 +00:00
Bill Currie b436fb62a2 print a message when quitting (to help find a misterious silent shutdown) 2001-12-02 04:14:44 +00:00
Bill Currie 27ff29214e print a warning and recover instead of crashing when the model is null 2001-12-02 00:38:44 +00:00
Bill Currie 5b13c1a07d fix rocket trails in demos 2001-12-02 00:18:09 +00:00
Bill Currie 13d67a4c67 fix an oopsie with low-copy and software clients 2001-12-01 22:26:17 +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
Ragnvald Maartmann-Moe IV fc8d9417cb Remove commented out code. 2001-11-30 22:32:17 +00:00
Ragnvald Maartmann-Moe IV f4af73cd00 Commit serplord's camera bugfix. 2001-11-30 22:30:23 +00:00
Bill Currie 4f2f686834 r_netgraph_alpha works again 2001-11-30 03:51:43 +00:00
Bill Currie 95fe4d07b1 more PARANOID nukage 2001-11-29 07:04:31 +00:00
Ragnvald Maartmann-Moe IV f192287a3b U_EXTEND fixes taniwha wanted me to commit for him. 2001-11-28 23:51:49 +00:00
Bill Currie 0652a9d90c initialize the projectiles array so nails are visible 2001-11-28 03:17:41 +00:00
Bill Currie b5162177b2 tiny speed gain (0.1%) 2001-11-28 00:54:20 +00:00
Bill Currie f7c90759af clean out the non-renderer fields from entity_t. not yet a noticable gain
but more work needs to be done on the linking code in the client. However,
there /does/ seem to be a slight gain with possibly less variance.
2001-11-27 21:42:49 +00:00
Bill Currie 4689350283 fix qport 2001-11-27 04:50:41 +00:00
Bill Currie c4646b9685 take care of \r*\n line endings 2001-11-26 23:23:29 +00:00
Bill Currie e2db0ed434 allow oolormap to be set for the last client 2001-11-26 05:16:04 +00:00
Bill Currie 87d6278a87 move the physent overflow tests to the correct locations 2001-11-26 01:52:08 +00:00
Bill Currie d99da515f7 cl_ents.c:
catch and moan about physents overlows (needs more work, but I don't
	grok the code well enough yet to do more).
pmovetst.c:
	correct a spelling error
2001-11-25 23:25:53 +00:00
Bill Currie e99b422628 extinguish gl_fires. it's semi-broken, generally nasty (code wise) and
kinda tacky. also results in a slight speed boost:)
2001-11-25 06:24:26 +00:00
Ragnvald Maartmann-Moe IV 4d406337b6 Move gl_fires into gl, where it belongs.
Also some small cleanups in particles.
Brighten grenade smoke a tiny bit, so it's not so invisible in the typically dark quake areas.
And some minor cleanups to water rendering.
2001-11-24 08:21:07 +00:00
Bill Currie 4eebbb8ae6 take the hull/line fixes to the server internals and re-merge world.c for
nq and qw. This fixes the corner sticking for everything.
2001-11-23 18:58:23 +00:00
Bill Currie 7cad26038e fix the getting stuck on corners bug 2001-11-23 06:27:32 +00:00
Bill Currie 0060c9cc91 disable denormal exceptions on alpha 2001-11-21 21:47:00 +00:00
Bill Currie 0be2a31f2e lots of code cleanup. Merge Mod_LoadAllSkins, merge the sw32 model loading
code into the sw model loading code, remove all refs to r_pixbytes from the
sw renderer (it was never anything but 1), kill libQFmodels_sw32, remove
all the 16 bit code from the 8 bit sw renderer.
2001-11-21 19:13:53 +00:00
Chris Ison 3e34fc83e4 -3dfx re-enabled 2001-11-21 02:36:48 +00:00
Bill Currie d991feb2d0 fix some compile issues 2001-11-21 02:07:55 +00:00
Bill Currie 2e97cfddac freebsd compile fix 2001-11-20 06:27:48 +00:00
Bill Currie 4dfc6b1285 don't bother speed cheat checking spectators (does it /really/ matter?) and
don't use va for SV_BroadcastPrintf.
2001-11-20 01:13:30 +00:00
Bill Currie 9d0320cc89 various portability improvements 2001-11-18 23:40:01 +00:00
Bill Currie f0c03f8331 minor cleanups of Sys_ConsoleInput. Cleaning it up properly will take more
work, but this removes most of the redundant instantces. nq-sdl (or -sgl)
-dedicated won't have console input, nor will dedicated servers that don't
load a console plugin.
2001-11-18 22:08:24 +00:00
Bill Currie 46835e79fe more quakeforge compiling on alpha patches 2001-11-17 05:26:30 +00:00
Bill Currie 1a99fe74ab fix one of who knows how many issues with gcc 2.96 (at least I don't have to
worry about not being able to reproduce them on a non-intel box:)
2001-11-17 04:30:51 +00:00
Bill Currie fade981a40 spelling and grammar corrections to the spead cheat message 2001-11-16 04:41:39 +00:00
Bill Currie cc66577f1c fixes for building on alpha (linux) 2001-11-16 01:09:17 +00:00
Bill Currie 288ec4251c various fractional speedups 2001-11-15 19:37:29 +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 748dc49218 report the type number of the bad type for temp ents 2001-11-13 03:14:34 +00:00
Bill Currie 9ca6728fa4 fix restarting timedemo from trashing itself 2001-11-12 22:50:27 +00:00
Bill Currie 2b560ad37d replace a missing ; 2001-11-12 21:42:10 +00:00
Bill Currie b406ea24a2 fix some oversights on my part that could cause weird output in the timedemo
stats
2001-11-12 21:35:48 +00:00
Bill Currie 504b804b4c replace many Host_EndGame calls with Host_Error and make Host_Error not bail
out of the program in most cases
2001-11-12 20:46:11 +00:00
Bill Currie 35ae176c4a statistics for multiple timedemo runs (avg, std deviation, min, max) 2001-11-12 07:27:44 +00:00
Bill Currie 6beb96100a fix a seg when the chat message doesn't have : in it 2001-11-12 03:32:04 +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