Commit graph

524 commits

Author SHA1 Message Date
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
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
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
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
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
7ca4383790 move a Key function out of console and into keys.
replace a Con_Print call with Con_Printf ("%s", ...) (I want to make Con_Print
private)
2001-07-11 19:17:58 +00:00
Bill Currie
4cf5648fcc no longer need /that/ hack as SV_Frame does it now 2001-07-11 03:19:18 +00:00
Bill Currie
eb66aa03ee sv_console.c:
/finally/, the input line works to my satisfaction
sv_main.c:
	call Con_ProcessInput to get the cursor in the right position on the
	screen (yeah, horrible kludge until someone figures out a nice console
	api)
2001-07-11 03:11:53 +00:00
Bill Currie
038e2c9287 the input line is almost perfect: just some problems with the scroll
indicators
2001-07-11 00:19:39 +00:00
Bill Currie
5642ac87cb cursor keys now work (per window keypad mode, hmm) 2001-07-10 23:03:13 +00:00
Bill Currie
f9f31ad4b3 ncurses console for the server. input handling is currently a nasty bit of
code duplication, but it seems to work nicely (except for cursor movement
keys) and even gives tab completion to the server :)
2001-07-10 22:36:22 +00:00
Bill Currie
ecff96258f cmd.[ch]:
api change: Cmd_Args () now takes a parameter inidcating which arg to
	start at for grabbing the un-parsed command line
qw/source/sv_ccmds.c:
	implement kk's tell command and user name matching (though # is used for
	the wildcard and it's still case sensitive)
everything else:
	adjust for the new Cmd_Args protype
2001-07-10 18:25:54 +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
Bill Currie
41e07f08a4 oops, re-using freed memory is a nono :/ 2001-07-06 20:04:05 +00:00
Bill Currie
bb084d5f14 fix the case when the expansion is both an exact match and a sub-string 2001-07-06 19:47:44 +00:00
Bill Currie
e3c38e7774 rework tab completion a bit so that it expands as much as possible 2001-07-06 19:43:01 +00:00
Bill Currie
03c0216dde force_centerview is back 2001-07-06 17:42:04 +00:00
Bill Currie
0fddfe4931 just typing map will give the current map name. In nq, doesn't work too well
during a demo (doesn't die, just gives "map is ", or likely the last map
actually played on).
2001-07-06 17:38:17 +00:00
Bill Currie
fc09d2b00f port Bruce Momjian's patches from newtree with a less incestuous
implementation of his sound/focus patch. NOTE: only alsa 0.9 is tested
(Rhamph, can you test 0.5, please?) and only the alsa drivers stop the
hardware right ow.

WARNING!!! you /will/ have to re-install your plugins, or you will get
segfaults when the window gains/loses focus.

How do you tell if a window has focus on first mapping in X11?
2001-07-05 20:18:23 +00:00
Bill Currie
b4ac2446a1 Put knghtbrd's sys cleanup changes back in, but with Sys_MakeCodeWriteable
in sys/util.c rather than limbo (the crux of the problem that caused the
previous reversal). I'll look into his Sys_Printf changes next.
2001-07-05 03:28:40 +00:00
Bill Currie
e659c2a44f revert kntbrds recent sys changes as they break sw static builds 2001-07-05 00:12:43 +00:00
Bill Currie
ce3eddb89c move the node number validation out of RecursiveHullCheck and into the bsp
loader
2001-07-04 16:28:54 +00:00
Joseph Carter
eb71edb5d4 taniwha, please have a look at this to make sure I'm doing it the "right"
way..  Sys_Printf is now Sys_StdPrintf for now.  Sys_Printf is a function
pointer and will end up replacing Con_Printf as well.  Names will change
to something intelligent when I'm done.  Win32 is not yet touched, but I
haven't forgotten it.

The reason for this is the assumption that Con_Printf and Sys_Printf do
not overlap.  The new server console WILL change that, requiring that we
change how we handle both functions.  The plan:  Default to using stubs
and swap them for full-featured functions on Console init which do all
the things we expect.  Will also do a stderr version later.
2001-07-02 18:11:34 +00:00