Commit graph

687 commits

Author SHA1 Message Date
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
Ragnvald Maartmann-Moe IV
05d3aaa0bb Whitespace. 2001-09-10 17:32:22 +00:00
Bill Currie
a7b402031f make nick matching case insensitive and 1 == i 2001-09-10 05:04:00 +00:00
Bill Currie
882adf295a implement KK's ban, mute and cuff 2001-09-09 04:51:08 +00:00
Bill Currie
1757dfcc75 make Cmd_StuffCmds_f get called if cl_quakerc is 0 2001-09-09 01:58:16 +00:00
Adam Olsen
de83dfb587 Change the networking timeout down from 1 second to 0.01 seconds.
The CPU usage will seem higher with only 1 or 2 people connected, but
that's only when they have low framerates.  It should be the same when
there's enough incoming network data to keep it from waiting a long
time anyway.
2001-09-08 16:48:40 +00:00
Bill Currie
714f429276 cl_predict_players2 is gone (cl_predict_players is still there) 2001-09-07 17:44:02 +00:00
Ragnvald Maartmann-Moe IV
0d0e570676 Small particle trail speedup/legibility/flexibility improvement, at price of redundant code in sw/sw32. Tradeoffs. *sigh* 2001-09-07 05:37:11 +00:00
Bill Currie
e9cf5b4eba include sys/types.h for freebsd 2001-09-07 04:41:13 +00:00
Bill Currie
3b5969df1e don't call the packet acker when running a demo 2001-09-07 03:49:30 +00:00
Bill Currie
3a9191760f some minor improvements 2001-09-07 00:11:22 +00:00
Adam Olsen
22075ac46f Add a cl_quakerc cvar, for disabling the execution of the default
config.
2001-09-06 23:58:28 +00:00
Bill Currie
d7675ada7a move the particle count multiplication out of the renderer and into the clien
(for blood and gunshot, anyway).
2001-09-06 05:41:15 +00:00
Bill Currie
008d80df67 s/IMT_DEFAULT/IMT_0/g for the constant and move the name-enum entry for
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).
2001-09-05 21:22:55 +00:00
Bill Currie
6c8a112cb8 get "make dist" working again 2001-09-04 21:00:08 +00:00
Adam Olsen
f1a016c8a5 - Refine the Cache_Get callback, to use a void * instead of a char *
- Switch alias models over to Cache_Get/Cache_Release
2001-08-31 12:22:45 +00:00
Bill Currie
a1f4187786 don't force r_wateralpha to one when not connected 2001-08-30 18:50:30 +00:00
Bill Currie
3656d6fd59 compile fixes for win32 and take the pruning shears to *sys*.c in qw and nq
(they're not done yet, though)
2001-08-29 17:45:53 +00:00
Adam Olsen
05bd18bf6d - Fix a DIR* memleak when crudefile builds the initial quota. 2001-08-29 09:27:30 +00:00
Adam Olsen
4deed9245a - Add CACHE_WRITE_{,UN}LOCK macros, and calls to them in Cache_*. No
effect until other things are done.
- Make Qalloc treat no callback as a failed callback
- Add a Qstrdup
- Fix a memory leak in cl_slists.c
2001-08-29 09:14:18 +00:00
Ragnvald Maartmann-Moe IV
2f5e0cf603 whitespace and headers. 2001-08-29 02:12:57 +00:00
Ragnvald Maartmann-Moe IV
ade99607cc header/whitespace sweep continues. 2001-08-28 23:05:45 +00:00
Bill Currie
d1a7649ba0 these too 2001-08-28 06:06:59 +00:00
Bill Currie
66997816e9 forgot to nuke these with the mak files 2001-08-28 06:05:59 +00:00
Ragnvald Maartmann-Moe IV
b1c0bb7626 Header/whitespace rampage continues. 2001-08-28 03:47:10 +00:00
Ragnvald Maartmann-Moe IV
f4fd3178f4 More header and whitespace horror reduction. 2001-08-28 02:43:24 +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
330044ec72 don't need sv_misc anymore 2001-08-27 22:36:28 +00:00
Bill Currie
b90ef925b0 old bagage removal 2001-08-27 22:30:00 +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
Ragnvald Maartmann-Moe IV
500b5c09d3 More header fixes, whitespace cleanups. 2001-08-27 21:00:37 +00:00
Bill Currie
272332bb2c make Sys_HighFPPrecision and Sys_LowFPPrecision available in sdl 2001-08-27 06:16:43 +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
Ragnvald Maartmann-Moe IV
50190403fa .gitignore update for sdl32. 2001-08-25 04:40:40 +00:00
Ragnvald Maartmann-Moe IV
c6266aba36 sw32. Flee in terror. This'll break compilation for everything until -sdl32 compiles. sw32 wont work for a while either, so don't get overly excited yet. 2001-08-25 02:47:11 +00:00
Bill Currie
1ccccc654e ipv6 compile fixes from Damm 2001-08-24 04:09:56 +00:00
Bill Currie
5253030d27 move the CL_SetState call to the bottom of Host_Init 2001-08-22 22:51:06 +00:00
Adam Olsen
3177d9c7eb Readd the aim builtin, which I must have accidentally removed earlier.
Ooops :)
2001-08-22 21:13:04 +00:00
Adam Olsen
ea063a1e0f having duplicate functions is bad. 2001-08-22 05:50:01 +00:00
Adam Olsen
17ba7ef92f - move alot of the builtins to libQFgamecode_builtins
- move the init into qw and nq
2001-08-22 03:24:25 +00:00
Adam Olsen
1314c89b6c - add libs/gamecode/builtins subdir, with libQFgamecode_builtins.la
- add .gitignore files
- fix building :)
2001-08-21 22:34:20 +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
Adam Olsen
a276e87fbc Change lightning bolt rotation to be time-based. It's kinda ewwy, but
it seems to work ok.
2001-08-21 05:03:14 +00:00
Adam Olsen
770fecd4bc Replace sv_gc with pr_gc and pr_gc_interval. pr_gc has 0 for off, 1
for on, and 2 for auto (on for newer progs, off otherwise).
2001-08-20 21:06:25 +00:00
Bill Currie
121bd09eef explicitly set the client state after startup to ensure everything related
to the state is current.
2001-08-19 21:19:42 +00:00
Bill Currie
7cda1c6705 put in some comments about future player dlight improvements 2001-08-19 05:41:56 +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
Adam Olsen
d5fa2cc321 Major diff reduction in *sys_*.c files. Don't think I broke anything,
but hard to test it all..

I skipped a couple files, because they contained *alot* of
platform-specific functions.
2001-08-18 21:57:45 +00:00
Zephaniah E. Hull
80696badc7 kgt->imt, and imt now displays the current IMT. 2001-08-17 07:06:01 +00:00
Zephaniah E. Hull
20adccc9e4 A few things, first is that I removed the (rather broken) serial
networking support.

Second, I moves keys.c from qw and nq to libs/video/targets when I did
the next thing.

Existing user configs which do binds, sledge hammer. Sledge hammer,
existing user configs which do binds. *WHACK* *WHACK* *WHACK*

See, much nicer now.

Someone should document it, and fix all targets which don't use SDL for
input. (I honestly don't expect svgalib and the like to ever be fixed.)
2001-08-16 09:19:36 +00:00
Adam Olsen
c02f4ed59e show_ping while disconnect == bad. SZ_Getspace bug fixed. 2001-08-16 02:32:50 +00:00
Bill Currie
7047f2da36 fix some missing ()s that got lost due to the () forrest that got chainsawed
(ie, the previous code was /a mess/)
2001-08-16 02:08:22 +00:00
Zephaniah E. Hull
eab8ff6e25 Just some MASSIVE speed boost for PF_findradius. 2001-08-15 23:03:37 +00:00
Jeff Teunissen
339ec3c0d8 Misc. cleanups. 2001-08-15 22:37:11 +00:00
Bill Currie
a22fd5a172 sdl 1.1.5 fixes 2001-08-15 21:29:18 +00:00
Bill Currie
59e50d933d sdl and sgl clients now build 2001-08-15 20:55:22 +00:00
Bill Currie
8d0acf7630 remove some unneeded -L.s. it seems some versions of binutils don't like it 2001-08-15 06:12:38 +00:00
Adam Olsen
b277881832 Don't try to write freed entities to the client 2001-08-14 11:15:47 +00:00
Adam Olsen
f9f1e053a4 use 0 instead of sv_highchars when setting the *cheats serverinfo,
since sv_highchars isn't initialized at that point.
2001-08-13 09:14:15 +00:00
Bill Currie
a290afd2b5 back out the dynamic allocation so prozac will still work 2001-08-12 19:50:23 +00:00
Adam Olsen
eed71f2803 err, and of course we want *line* buffered, not *un*buffered. hehe, I
thought the output looked kinda slow..
2001-08-12 11:30:08 +00:00
Bill Currie
bbef4b0b6f ugh, I hate the need for this, but it's needed. sv_old_entity_free is my
compromise :) set it to 1 to allow progs like MegaTF to work (reload crash).
2001-08-12 04:14:25 +00:00
Bill Currie
3d30361595 show_ping and show_pl. pretty much like show_fps. 2001-08-11 04:14:58 +00:00
Ragnvald Maartmann-Moe IV
ca4d4791c9 Fix a severe braino, and get less excessively parenthetical in one spot. 2001-08-10 03:07:34 +00:00
Ragnvald Maartmann-Moe IV
b868a09661 Kill off gl_view.c and sw_view.c. Renderer merge is more or less complete now. Software and gl renderers now calculate color shifts the same way, and sw looks a bit different now. Powerups don't shift enough in sw right now, IMO. 2001-08-10 00:28:57 +00:00
Adam Olsen
4cd037f025 Make the console line-bufered. woot. 2001-08-09 12:19:15 +00:00
Adam Olsen
0c63c11b4b diff noise reduction. mostly just "progs_t * pr" to "progs_t *pr".
Only code change is copying qw's variable-size PF_VarString in place
of nq's 256 char "I wanna be a buffer-overflow exploit!" version.
2001-08-09 06:05:43 +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
Ragnvald Maartmann-Moe IV
2ccebbfd5c Exit early on common case, rather than go through all checks. Minor speedup, but measurable on higher framerate demos. 2001-08-07 18:53:22 +00:00
Bill Currie
b3d20d834a fix for compiling under freebsd. thank's, stu 2001-08-07 17:43:49 +00:00
Bill Currie
014e36dece viewangles in the client doesn't seem to get updated for the client, so
use cl.viewangles instead.
2001-08-06 00:27:41 +00:00
Adam Olsen
9f00601b82 change checkfunction and getfunction to checkbuiltin and getbuiltin 2001-08-05 06:02:33 +00:00
Adam Olsen
040345bc60 Change all our new functions to use dynamically allocated builtin
numbers, except checkextension, checkfunction, and getfunction.  Yes,
this may break some stuff. :)
2001-08-04 23:58:03 +00:00
Adam Olsen
dc98a63098 Add a getfunction, which gives an error if it's not found 2001-08-04 23:44:50 +00:00
Bill Currie
1a73a4789b make /sure/ ^h is covered. seems ncurses is a tad on the weird side 2001-08-04 23:19:16 +00:00
Adam Olsen
d241e8dd64 Make sure all the function names passed to PR_AddBuiltin are
lowercase, for sanity reasons.
2001-08-04 22:14:45 +00:00
Adam Olsen
c218ede288 Add support for checkfunction, which is a builtin that searches for
another builtin by name, and returns it.

Soon I'll change all our new builtins to by allocated dynamically, as
well as changing the number checkfunction uses, and happily break
everything that uses them :D
2001-08-04 09:11:50 +00:00
Adam Olsen
484edfde55 Some of an aforementioned function to search for functions by name.
Guess it's not as trivial as I thought.
2001-08-03 07:37:21 +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
Adam Olsen
19387f0801 diff noise reduction, cleaned up the comments somewhat 2001-08-02 23:27:45 +00:00
Bill Currie
0a4caac3c6 mingw compile fixes 2001-08-02 23:00:39 +00:00
Bill Currie
b455458629 exit cleanup. Sys_Error and Sys_Quit should be used whenever possible. 2001-08-02 17:16:12 +00:00
Bill Currie
79eb948127 for some reasone, building the rpms wanted an explicit stdio.h inclusion
*shrug*
2001-08-02 03:24:18 +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
828e8b60b6 bloody builtin prototypes 2001-07-31 19:03:00 +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
2b19252d73 fix PF_hullpointcontents and the clip_mins/maxs setting in PF_rotate_bbox
NOTE: the api to PF_hullpointcontents has changed!!!
2001-07-31 17:09:42 +00:00
Bill Currie
30f93439a0 /tiny/ optimisations 2001-07-31 08:06:27 +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
c3e3f8182d the hull growing seems to work now. 2001-07-30 22:53:01 +00:00
Bill Currie
6cb2cb5bdc start making the rotated bounding box (really dynamic clipping huls) more
generice, and also more in line with the rest of quake's clipping system
(ie, support the entity size selected hulls). I'm not /entirly happy with
what's here, but it's a start, and the force fields in customtf work /much/
better :)
2001-07-30 04:33:59 +00:00
Bill Currie
dbb339651d make the hull plane setup a loop 2001-07-29 00:12:14 +00:00
Bill Currie
097f38d594 return a null edict properly 2001-07-27 23:22:21 +00:00
Bill Currie
ceadc2482c erk, forgot to commit this with the wrappers 2001-07-27 23:19:48 +00:00
Bill Currie
e69c1e8918 correct a typo in a comment 2001-07-27 23:07:38 +00:00
Bill Currie
219c58bd98 wrappers for SV_TestEntityPosition and SV_HullPointContents 2001-07-27 23:05:58 +00:00
Bill Currie
0b576e42a1 fix a small bug 2001-07-27 19:48:46 +00:00
Bill Currie
65475fbd6e make a rotated_bbox override the model hulls 2001-07-27 19:48:15 +00:00
Bill Currie
a3368d0f82 move the rotated_bbox hull checks into SV_HullForEntity and move the
check == ent test in SV_TestPlayerPosition to before the abs bbox check.
2001-07-27 16:06:42 +00:00
Bill Currie
27dde8cefe sv_pr_cmds.c:
find the full bounding box for the rotated bounding box and put this
	into hull's clip_mins and clip_maxs. Also, provide:
		vector (integer hull, integer max) getboxbounds = #94
	to retrieve these values (max != 0 for clip_maxs, max == 0 for clip_mins)
world.c:
	SV_TestPlayerPosition now checks for a rotated_bbox hull
2001-07-27 06:39:06 +00:00
Bill Currie
6b43d4543d the C side of the fix for the field gen weird spot for a standing player 2001-07-27 04:50:53 +00:00
Bill Currie
c834185fbb forgot to clear pe->hull if rotated_bbox is non-existant or 0 2001-07-27 02:45:01 +00:00
Bill Currie
6000b06de3 support arbitrary hulls for players, too 2001-07-26 21:37:34 +00:00
Bill Currie
44daa25fe6 force the software clients to use the static renderer so asm is used 2001-07-26 20:55:42 +00:00
Bill Currie
df2f517146 put in a couple of comments 2001-07-26 17:36:57 +00:00
Bill Currie
517be0adbb change rotate_bbox's `prototype'
void (integer hull, vector right, vector forward, vector up,
      vector mins, vector maxs) rotate_bbox = #97
2001-07-26 16:32:01 +00:00
Bill Currie
a44da38e04 rotate the bounding box points, not just the planes
fix a really nasty bug with allocating a hull
2001-07-26 16:24:47 +00:00
Adam Olsen
725653ce2a Delete the check in download file names for a leading slash, since
it's harmless and some maps (such as engwar1) use it.  (the map may
be considered broken because of it, but everything ELSE works fine
with a leading slash, since it's relative anyway)
2001-07-26 15:50:54 +00:00
Bill Currie
88eb9e118a forgot to subtract 1 from the incoming hull `handle' 2001-07-26 15:33:55 +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
Bill Currie
22219fdeb0 fix a slight oopsie in Rhamph's checkin:) 2001-07-26 00:08:42 +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
8fc5e5e372 replace strncmp (name, "maps/", 6) with strncmp (name, "maps/", 5) 2001-07-25 23:59:56 +00:00
Bill Currie
64a2f8d277 rearrange the comments for the builtins table, and put a comment with the
builtin number (and prototype where appropriate) on every element
2001-07-25 23:33:06 +00:00
Zephaniah E. Hull
08bc0e987b New PF_checkmove! A direct interface to SV_Move, but named better.
(This is #98.)
2001-07-25 22:14:42 +00:00
Bill Currie
d12a0a930d return of UserInfoCallback is now ignored and SV_Userinfo_f just returns as
PR_setuserinfo now does the extract from userinfo.
2001-07-24 22:11:44 +00:00
Bill Currie
06b9f44741 prepend a 0ed header to the overflowed packet being dumped 2001-07-24 17:51:07 +00:00
Bill Currie
c7390e4d53 diff_snr-- :) 2001-07-23 18:36:36 +00:00
Bill Currie
22c9716b56 rename int_var to integer_var 2001-07-22 20:20:46 +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
77694855e7 fix some off-by one errors I induced last night 2001-07-22 18:44:55 +00:00
Bill Currie
f3ab764666 bump MAX_BACK_BUFFERS up to 8. 2001-07-22 07:03:32 +00:00
Bill Currie
735cd909c0 make SV_Prespawn use the backbuffers if needed to help prevent overflows 2001-07-22 06:55:09 +00:00
Bill Currie
e010356e8f break out the two chunks of almost identical backbuffer code into
PushBackbuffer()
2001-07-22 06:27:05 +00:00
Adam Olsen
1422163099 Minor typo fix ("(%d0" to "(%d)") 2001-07-22 04:53:19 +00:00
Adam Olsen
43c8763de0 change host_client to sv_player. I *hope* this is the right thing. 2001-07-20 08:08:46 +00:00
Bill Currie
cf10da8120 fix the double "foo changed name to bar" messages for foo 2001-07-20 05:35:55 +00:00
Bill Currie
abf34ac2d3 send the right one 2001-07-20 05:30:51 +00:00
Bill Currie
a09705953f forgot to send the updates to the clients 2001-07-20 05:29:45 +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
aa7500cac7 add the DOUBLEQUOTE key name as per mechanix' request 2001-07-19 21:54:12 +00:00
Bill Currie
46176e1094 azerty kb patch from Filip Van Raemdonck <mechanix@digibel.org>. includes some
misc fixes, too
2001-07-19 21:46:34 +00:00
Bill Currie
b23786880a check for hitting the maximum number of masters and print a message if so. 2001-07-19 07:07:32 +00:00
Bill Currie
5e81d80d8c optionally disable the curses server console, bringing back the old behaviour 2001-07-19 05:13:32 +00:00
Adam Olsen
a771b5bd6c Make edicts command support a search string, so it only prints edicts
with matching classnames.  Makes it easy to print out the type you want
for debugging :)
2001-07-19 03:18:11 +00:00
Bill Currie
086084c1fa fix a sign extention error 2001-07-19 00:24:24 +00:00
Bill Currie
40dfde55a1 don't try to use curses before things have been initialized 2001-07-19 00:07:20 +00:00
Bill Currie
47a6f2c9b5 pr_debug.c:
capitolise CRC and add a \n to the message
sv_progs.c (both nq and qw):
	don't bother checking the progdefs.h crc: it's just not needed any more
pr_imm.c:
	use r instead of rep when checking the hash tables.
main.c (quaq):
	make developer work and set com_filesize (otherwise, progs crc doesn't
	get set properly (com_filesize, not developer:))
2001-07-18 21:28:41 +00:00
Bill Currie
159bc6147c create an "input line" object for the console so Con_ProcessInput can be used
in verious contexts
2001-07-17 16:46:51 +00:00
Bill Currie
bab80a0648 move the special keys out of the way of ascii codes (unless they represent
ascii codes (eg, K_ENTER)) and remove the magic number for the number of keys.
2001-07-17 15:51:56 +00:00
Bill Currie
104701a8c5 the beginnings of the console lib (using plugins for the client/server type
consoles). Currently, doesn't affect anybody other than the need to
re-bootstrap.
2001-07-16 20:41:10 +00:00
Bill Currie
1c9e1b176f fear the mighty const correct patch 2001-07-15 07:04:17 +00:00
Adam Olsen
155b46b8c8 More diff noise reductions. yay! 2001-07-15 01:48:03 +00:00
Adam Olsen
08cb34e0e0 Diff noise reduction. Stop me if I break it :) 2001-07-15 00:21:48 +00:00
Adam Olsen
fb0fe95e7e Diff noise reduction 2001-07-15 00:03:11 +00:00
Adam Olsen
484f5494b8 Add my strlen and charcount functions as quakec builtins. strlen
returns the total string length, and charcount returns the number of
times the given character appears.
2001-07-13 22:58:31 +00:00