Commit Graph

1359 Commits

Author SHA1 Message Date
Ragnvald Maartmann-Moe IV c2053fbfb1 Prettier particles! Renderer is now informed of sv_gravity changes in qw. Not
supportable without protocol changes in nq.
2003-08-27 22:20:03 +00:00
Bill Currie 0d438e255d allow server clients to be tracked while spectating 2003-08-25 01:11:23 +00:00
Bill Currie 8e0a464ad7 get server clients updated properly 2003-08-21 20:35:36 +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 59d321ded5 link in the hash functions for progs 2003-08-20 22:37:49 +00:00
Brian Koropoff 83334ce633 In response to an apparent server-side exploit that has shown up on
execpc's ProzacTF server, info strings for other players are checked to
ensure that they contain the "name" key.  If the key is not present, it is
set to "user-%i [exploit]", where %i is the userid of the player.  Players
using this exploit should now show up on the scoreboard and users list
and be visible during gameplay.  Although this renders the exploit useless
against players using QF, the exact way in which it bypasses the extensive
checks of a player's name by the server needs to be discovered so that it
can be fixed.  The server in question uses a bastarized version of QF
0.5.2, so it's possible that the problem still exists in QF today.
2003-08-20 07:22:34 +00:00
Bill Currie 5d14abb354 send server client info to the clients 2003-08-18 06:26:09 +00:00
Bill Currie 323a6182fd move pcx.c and tga.c out of libQFutil and into libQFimage with the hopes
for more image formats :)
2003-08-15 16:19:10 +00:00
Bill Currie d77addf552 don't record frame times until we've actually `started' the demo (ie, don't
record times for frames timedemo doesn't count in its fps calcs)
2003-08-13 21:53:40 +00:00
Bill Currie 34d2e0163c improve the timedemo fps output a little 2003-08-13 16:08:06 +00:00
Bill Currie 70ec073904 use a private cbuf for map_cfg 2003-08-12 23:22: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 1c4c58f1a1 add a "demo_quit" cvar to cause qf to quit automaticly at the end of a
timedemo to make automation of profiling easier
2003-08-08 17:33:34 +00:00
Bill Currie 6a94607d9d rename VectorMA to VectorMultAdd, add VectorMultSub and use it in a few
places. Not certain how much speed difference it makes :/
2003-08-08 15:25:53 +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
Bill Currie 797dc5ccae oops, stuff_view 1 cell too narrow 2003-07-27 22:51:31 +00:00
Bill Currie 830fab2a39 show_fps now updates every 0.2 seconds and displays 10ths of an fps 2003-07-27 22:25:45 +00:00
Bill Currie 6063fb75d9 make the console run at full speed no matter what demo_speed is at. what a
lot of work for such a simple concept :P
2003-07-25 22:21:47 +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 0234988c46 fix an exploitable overflow (owwie) 2003-07-17 22:14:50 +00:00
Bill Currie 454aa5c603 more mailing list corrections 2003-07-12 21:50:22 +00:00
Bill Currie 4f66e1e9da fix a bunch of the previous FIXMEs. needs a bit more work for win32
compiling
2003-07-08 22:39:45 +00:00
Bill Currie dddf045221 put "FIXME: overflow" on all the char arrays I could find that weren't
obviously safe
2003-07-08 20:11:10 +00:00
Bill Currie a9dbdb5b9b clean up Cvar_Info, removing redundant code and a potential overflow 2003-07-08 15:07:59 +00:00
Ragnvald Maartmann-Moe IV 5808d08858 whitespace. 2003-06-03 06:01:47 +00:00
Bill Currie 5bafde58d2 blah, failed to notice the info string was getting freed earlier 2003-05-30 21:22:30 +00:00
Bill Currie 42ade2c507 clear the player slots properly when disconnecting 2003-05-30 20:16:30 +00:00
Bill Currie 016743c3ab diff reduction and maybe a couple speedups 2003-05-29 04:49:34 +00:00
Ragnvald Maartmann-Moe IV 1c1e6e17c4 Clean up sv_pr_cmds.c, and sync up nq's copy. 2003-05-29 02:40:34 +00:00
Brian Koropoff a4bc588947 Draw PL on the scoreboard in the correct spot. 2003-05-26 01:41:58 +00:00
Bill Currie 9297d2b192 bah 2003-05-24 02:04:16 +00:00
Bill Currie dc5e6d5487 clean up mvd easyrecord auto-creation 2003-05-24 02:03:17 +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 4260f55759 make sure the rest of the server gets to run even if there's no network
input (though I fixed this for windows too)
2003-05-14 21:36:41 +00:00
Bill Currie 9b9c435e47 don't draw the shotgun icon in hud mode if it won't fit and crop the lg
icon
2003-05-10 04:20:21 +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 4bb1095951 stock sbar and hud seem to be working in nq (fps back, too:) 2003-05-08 21:22:33 +00:00
Bill Currie c81b1b549d make the fps etc display move with changing viewsize 2003-05-08 15:12:46 +00:00
Bill Currie 6e103fe928 add cl_overlay_gravity cvar to control the placement of the scoreboard
overlay
2003-05-08 06:29:53 +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 878c1c59ba hud works again 2003-05-08 04:13:42 +00:00
Bill Currie 5fb3b4e547 fix a warning and correct some vid.height usages 2003-05-07 21:10:37 +00:00
Bill Currie e03ad81425 reduce the code duplication in the deathmatch overlay code 2003-05-07 21:03:58 +00:00
Bill Currie 52f96e2e3b whitespace 2003-05-07 19:53:08 +00:00
Bill Currie 5e56e01790 qw now has centered scoreboard :) 2003-05-07 17:23:18 +00:00
Bill Currie 1fcf04b0ae get the score overlays working again (not `viewed' yet) 2003-05-07 16:35:54 +00:00
Bill Currie c939351276 non-hud status bar now using the view api. hud version currently not
working but that should be fixed soon :)
2003-05-07 15:58:15 +00:00
Bill Currie c903cfdb78 still more inline guff 2003-05-07 05:41:46 +00:00
Bill Currie 63c804310c more inline avoidance 2003-05-07 04:24:50 +00:00
Bill Currie fa670c30da make sure Net_LogPrintf can't get inlined, tell gcc it's a printf style
function and clean up the resulting warnings
2003-05-07 01:49:31 +00:00
Bill Currie ff299c347b add map to admin commands for DrSpliff 2003-04-29 21:45:57 +00:00
Bill Currie 18ae5b7513 compile fixes for the alpha 2003-04-28 21:02:03 +00:00
Bill Currie c6094b9cea mindHog's patch for making Hash_DelElement work the way he wanted it to 2003-04-28 19:55:03 +00:00
Bill Currie 0985c90ce9 hash.h:
write some docs on mixing (eg) Hash_Add and Hash_DelElement
sv_user.c:
	fix a warning
2003-04-28 16:04:22 +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
Bill Currie e732cf591d remove all references to OFS_* from the C code. only the macros in progs.h
use them now
2003-04-22 18:20:15 +00:00
Bill Currie eb099ae0d3 make qf gcc 3.3 clean 2003-04-17 00:01:48 +00:00
Bill Currie ce44d350b7 allow the server to run when there's no input 2003-04-16 15:43:55 +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
Timothy C. McGrath f61d0f0d6a Fixed a bug Drspliff pointed out that was causing people to be kicked from sensitive servers for 'faking console messages'.
Tim McGrath
2003-04-10 01:36:02 +00:00
Bill Currie b80357afda change _FOpenFile to take a dstring for foundname plugging a potential
buffer overflow.
2003-04-09 05:55:41 +00:00
Bill Currie 255a7522bd merge IN_SendKeyEvents and IN_Commands into IN_ProcessEvents 2003-04-08 18:45:12 +00:00
Bill Currie 25a7216b8c ent file support 2003-03-25 17:49:27 +00:00
Ragnvald Maartmann-Moe IV 5fb8aa07f3 Code style, people. Love it or leave it! 2003-03-21 21:25:44 +00:00
Ragnvald Maartmann-Moe IV 265edd1fef Small optimization. 2003-03-21 00:52:30 +00:00
Bill Currie df148a3b4c more packet log spam 2003-03-17 05:52:45 +00:00
Bill Currie 6621bbee36 don't spam packet logs accidently :) 2003-03-17 04:39:33 +00:00
Bill Currie 2173151560 get packet logging working with mvds 2003-03-16 03:17:50 +00:00
Bill Currie 0f119c7cdb don't bother lowercasing download filenames now that they're forced
lowercase during the precache stage
2003-03-13 16:33:29 +00:00
Bill Currie 2dd3fab209 force model and sound names coming in from the progs to be lowercase 2003-03-13 16:29:55 +00:00
Bill Currie 82c7867be6 white space 2003-03-12 16:34:26 +00:00
Bill Currie 661b812fac call QFS_Gamedir only if the gamedir actually changes 2003-03-11 05:58:06 +00:00
Bill Currie a565f2f9ea `document' the new client functions 2003-03-10 16:49:01 +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 7bdf1bdb90 don't count server clients as clients 2003-03-06 19:06:10 +00:00
Bill Currie f70b1fbafd actually free the client when SV_FreeClient is called (oops:) 2003-03-05 18:19:32 +00:00
Bill Currie 6c028a57bb bot player stats seem to be working working 2003-03-05 03:56:50 +00:00
Bill Currie d788d02716 for now don't allow bots to survive map changes 2003-03-04 17:38:42 +00:00
Bill Currie 3e05400175 add SV_SetUserinfo builtin 2003-03-04 17:28:31 +00:00
Bill Currie 2310e94df8 fix userid setup 2003-03-04 16:00:57 +00:00
Bill Currie e131ec5885 fix the status seg 2003-03-04 07:44:22 +00:00
Bill Currie cee4846743 hmm, that segs :), but then, so does doing "status" while bots are going 2003-03-04 07:36:34 +00:00
Bill Currie a10704f99d boundscheck the client entity 2003-03-04 04:10:25 +00:00
Bill Currie 9fbbadb788 disable the disconnect events for bots as I'm not yet sure how I'm going to
do things
2003-03-04 04:03:02 +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 c07891826a break out the client slot allocation code into a separate function 2003-03-04 01:36:30 +00:00
Bill Currie da3cac2b6a oops, didn't notice the lack of {}s 2003-03-03 21:46:41 +00:00
Bill Currie c52ce7f202 slight optimisation 2003-03-03 21:41:13 +00:00
Ragnvald Maartmann-Moe IV 2000954a2c Whitespace, and a workaround for show_* misplacement. 2003-03-03 19:20:44 +00:00
Bill Currie d469a06620 move the maxclients and maxspectators range checks into callbacks 2003-03-03 18:30:09 +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 15cc02f17c Added client::print, client::printChat, client::printAll, and
client::printAllChat GIB builtins.
2003-02-28 06:51:16 +00:00
Bill Currie a99c859034 "main" in progs is never called 2003-02-28 05:53:40 +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
Ragnvald Maartmann-Moe IV e959df1692 Whitespace. Grr! 2003-02-25 03:56:58 +00:00
Bill Currie d93fceea38 fix a snafu in SVC_DirectConnect related to info strings, make
Info_ParseString take (and pass on to Info_SetValueForStarKey) a flags arg
and simplify the flags handing in Info_SetValueForStarKey.
2003-02-19 17:39:21 +00:00
Brian Koropoff 8f8d866cdf Oops, forget this. 2003-02-16 20:16:22 +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
Brian Koropoff d626575091 Fixed use of a dstring without allocating one. 2003-02-15 21:26:15 +00:00
Bill Currie a98d4c5125 first stab at configurable downloads 2003-02-15 00:05:22 +00:00
Bill Currie 851d203916 work towards a more secure qfs 2003-02-14 22:36:10 +00:00
Bill Currie 6a687f5e45 rename all the globals in quakefs.[ch] to be QFS_* or qfs_* 2003-02-14 19:46:07 +00:00
Brian Koropoff 3c522a83bc Various cleanups and bugfixes. Added proper line number reporting to
errors.  A few new builtin functions, such as slice::find and thread::list.
2003-02-14 08:06:01 +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 4bd1718475 re-arrange viewsize handling to fix the hud bug in glx 2003-02-11 21:24:27 +00:00
Bill Currie eaa82b1439 IPv6 compile fixes from doneill (slightly modded) 2003-02-11 05:59:08 +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 920b5b2a29 cvs ignorage 2003-02-10 21:09:54 +00:00
Bill Currie 6df2c9679b white space 2003-02-10 21:04:08 +00:00
Bill Currie 92fc8109e6 change the master timeout to 10 minutes. 5 is too tight as that's the
heartbeat time on a server
2003-01-31 04:56:11 +00:00
Bill Currie bf3da64c43 flush the output each log call 2003-01-31 04:49:31 +00:00
Bill Currie cd553342e6 give qw-master timestamped logging 2003-01-31 04:11:06 +00:00
Bill Currie b668134f25 reset the client's msecs when resetting the rest of the network stats 2003-01-30 20:31:44 +00:00
Brian Koropoff 1668dd5c1a Whoops, missed these. 2003-01-28 22:37:34 +00:00
Bill Currie 0ec386dc76 create the demo path `properly' 2003-01-21 22:19:07 +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 a4dfef63c3 make all files with rcsid include config.h 2003-01-14 20:18:29 +00:00
Bill Currie 3b9e7db882 fix the skins dowload location issue (not really to my satisfaction, but it
will do for now)
2003-01-10 23:07:04 +00:00
Bill Currie 2e0ed3377c basic (very!) implementation of the new filesystem directory struture code.
All the details of game directories will be fully configurable (search
paths and gamecode file name currently supported). Downloading of skins to
qw/skins only currently broken (will download to $gamedir/skins for now).
2003-01-10 22:47:18 +00:00
Bill Currie 33365ef00d Hurricane's patch for correcting time kick. (Closes: #67) 2003-01-10 18:09:09 +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
Bill Currie d02d502d30 check for socklen_t evailability 2002-12-20 23:53:34 +00:00
Bill Currie dbd5b16883 rename the convenience libs to avoid problems with libx11 vs libX11 on
darwin (damn case insensitive file systems :P)
2002-12-20 23:40:47 +00:00
Bill Currie a84b6bba5d make stuff static that can be and nuke some useless stuff 2002-12-16 23:26:14 +00:00
Bill Currie 15655c23cd get snaps working properly 2002-12-10 18:24:38 +00:00
Bill Currie b62795217a make m_forward, m_side, m_yaw get saved in qw clients 2002-12-09 22:34:18 +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
Brian Koropoff 05bee9dc59 Use Cbuf_Execute_Stack instead of Cbuf_Execute. This guarantees that GIB
scripts executed from server.cfg will be run immediately.
2002-11-30 21:12:45 +00:00
Brian Koropoff 034af573c0 User info keys besides *ver are no longer explicitly set to default values
because registering their respective cvars already does this.  Closes bug
#42.
2002-11-23 07:00:59 +00:00
Bill Currie 8d35d67997 clean up the multiple definitions of the DF_* flags 2002-11-22 17:45:30 +00:00
Bill Currie a089934338 fix a really nasty wrong index bug that would cause SIGFPE when recording demos 2002-11-22 05:22:07 +00:00
Bill Currie ee30860cef fix a bunch of ;; typos 2002-11-20 21:44:04 +00:00
Brian Koropoff 625e1e36d6 Added Sys_PathType, which reports whether a path is absolute, relative
below, or relative above (uses .. to ascend the filesystem). Changed
file functions in GIB to use this.  GIB can now be initialized in a
non-sandboxed mode, which at the moment means that GIB scripts run with
carne can access the entire filesystem.
2002-11-14 05:28:54 +00:00
Bill Currie 836c469737 sys.[ch]:
handle SIGFPE and allow the registered signal handler to do recovery
	rather than bail
progs.h, pr_exec.c, pr_load.c:
	if pr_faultchecks is 1 (0 is default), handle division by 0 gracefully
	by loading the maximum representable number into the answer
	Closes: #58
the rest:
	kill the SIGFPE stuff
2002-11-13 19:26:44 +00:00
Bill Currie f561d25a84 show what console says 2002-11-11 21:29:05 +00:00
Brian Koropoff 0f71b02fd7 Changed the name of GIB builtins from string.length to string::length, etc.
Made a few miscellaneous cleanups and enhancements to builtins and changed
all the GIB scripts in CVS to reflect the new naming conventions.
2002-11-11 01:57:34 +00:00
Brian Koropoff b40400d59c Moved GIB into libs/gib and made util no longer depend on it. Cleaned up
some cruft from a previous incarnation of GIB.
2002-11-09 07:13:52 +00:00
Bill Currie 3d44623b57 change Cmd_Exec_File's api so it can conditionally use normal or quake
file system accesses. fixes the map.cfg exec problem
2002-11-08 16:39:28 +00:00
Bill Currie 864b181b99 d'oh, COM_FOpenFile could probably do with a re-design of its api :P 2002-11-08 03:27:05 +00:00
Bill Currie ec0273e3dc do a pre and post pass for maps/mapname.cfg and use maps_default.cfg if
maps/mapname.cfg doesn't exist.
2002-11-08 02:43:04 +00:00
Bill Currie 8d736d7424 uptime (via status) for qw-server and map time and auto map start for
nq-server
2002-11-07 16:43:05 +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