Commit graph

100 commits

Author SHA1 Message Date
Jeff Teunissen
de55871d32 Overhaul of parts of the polyblend system. Contrast in GL no longer uses
another alpha blend, it's set up exactly as another factor in determining
the final blend. This should help speed up framerates a little.

New cvars:
cl_cshift_bonus: Set to 0 to disable bonus flashes.
cl_cshift_contents: Set to 0 to disable content blends.
cl_cshift_damage: Set to 0 to disable damage blends.
cl_cshift_powerup: Set to 0 to disable powerup (quad, pent, etc) blends.

All of these cvars work for both GL and software, and all of them check
the value of the "cshifts" serverinfo. cshifts is a bit field, with the
following bits defined:

bonus: 1
contents: 2
damage: 4
powerup: 8

An admin can force any of these to be respected by choosing the numbers of
the cshifts to be enforced, and adding them up.

examples:

serverinfo cshifts 15

turns them all on.

serverinfo cshifts 10

turns on powerup and contents shifts.

also, the gl_cshiftpercent Cvar no longer does anything. I'll remove it
entirely soon.
2000-12-13 09:01:11 +00:00
Jeff Teunissen
54e2a4d9d3 Okay, the big whitespace reformat. There is some silliness (case
statements, variable declarations), but all in all it's not bad.
2000-12-08 06:51:37 +00:00
Bill Currie
3feecbde94 cvar doc patches from Misty 2000-12-07 03:02:12 +00:00
Bill Currie
dbbc2cd777 comment patches from Misty 2000-12-07 00:08:42 +00:00
Zephaniah E. Hull
66e0e31b57 strcat -> strncat
sprintf -> snprintf

AKA, really big buffer overflow security fixes.

More to come, geez we have holes everywhere.
2000-12-05 11:08:30 +00:00
Bill Currie
97f7b9a568 rename quakedef.h to host.h (I should have done this months ago).
NOTE: -{sdl,sgl,3dfx,ggi,wgl,mgl} targets are very likely to be broken
if any file fails to compile, just put #include "host.h" into it
2000-12-05 06:33:44 +00:00
Bill Currie
6b3f8e5dba make sure com_gamedir exists before writing config.cfg 2000-12-04 16:07:08 +00:00
Bill Currie
37eb211c0a Misty's clock hack. show_clock 1 displays a clock on the screen for those that
need to know the current time while playing.
2000-12-04 03:46:04 +00:00
Bill Currie
ae290926c4 WildCode's location marking code (with a little touchup). 2000-12-03 23:52:54 +00:00
Bill Currie
c67a1b37e5 fix handling of +set on the command line so the global config file can be
overridden (so long as it doesn't use setrom:)
2000-11-30 19:53:25 +00:00
Bill Currie
42b3a83bd9 move host_parms from quakefs.c to somewhere a little more sensibe. 2000-11-29 23:26:45 +00:00
Dabb
6e3337b64a Well, let's be really strict and put Host_Init(void) here.. 2000-11-27 15:26:49 +00:00
Forest Hale
9ce5fc95df quakeparms_t audit.
changed all parms references to directly access host_parms to improve readability, and removed unused basedir references. (all remaining fields in quakeparms_t deserve to be there)
2000-11-27 13:17:48 +00:00
Jeff Teunissen
c8fcb1cf22 Add *qf_version userinfo when connecting to QF servers. 2000-11-25 14:22:09 +00:00
Bill Currie
e03e707272 new cvar: cl_sbar_separator defaulting to 0. That ugly white vertical line to
the right of the status bar is now GONE (unless you actually /want/ it: if so,
set cl_sbar_separator to 1)
2000-11-21 05:08:12 +00:00
Bill Currie
d31a9f73de Always use COM_CreatPath instead of Sys_mkdir 2000-11-08 06:07:03 +00:00
Jeff Teunissen
ba11d00aba compat.h: Add str*equal () convenience macros
cl_main.c: Clean up version string a little
cmd.c: Add setrom parsing to first init phase, clean up includes a little
cvar.c: setrom command now uses set's semantics. Cvar_Set, Cvar_Set_f,
Cvar_Setrom_f now do a Con_DPrintf to report attempts to set CVAR_ROM
cvars.
sv_main.c: Clean up version string a little
vid.c: -winsize, -width, and -height no longer use Cvar_SetROM. The code
looks a little uglier, but it's more correct.
2000-11-04 07:42:43 +00:00
Bill Currie
56f7cce92e fix the missing explosion noises (and other impact sounds) 2000-10-31 05:48:32 +00:00
Bill Currie
5c2257399d oops :/ 2000-10-31 05:29:32 +00:00
Forest Hale
f404648926 added confirm_quit cvar, defaults to on 2000-10-29 20:49:50 +00:00
Zephaniah E. Hull
13bd5ce012 The init sequence cleanup!
Also broke up client.h into a lot of smaller headers.
Oh, software rendering works again.

And yes, this does hit a hell of a lot of files.
2000-10-29 15:35:24 +00:00
Bill Currie
c9b3b34f26 nukage 2000-10-26 03:43:53 +00:00
Bill Currie
9d80b4394e cl_main.c:
what was id trying to hide? oh well, it's clear now :)
gl_draw.c:
	missed a value->int_val conversion
2000-10-24 19:32:30 +00:00
Bill Currie
d295f183ba remove va from commdef.h and fix the consequences 2000-10-21 07:34:56 +00:00
Bill Currie
2682888425 the big cvar value -> int_val audit. seems to work ok 2000-10-17 03:17:42 +00:00
Bill Currie
4478b82af4 add some more *cap flags to the definition list (those mared with a * are not
yet implemented). Also add the p and t flags to the *cap string.
2000-10-16 20:41:06 +00:00
Bill Currie
6868542519 add some cvar discriptions 2000-10-16 03:29:42 +00:00
Bill Currie
8e7499cb1b fix a nasty buffer overflow giving a potential remote access to the system via
the client. Could be especially nasty if the client is running as root and
stuffcmds can come from anywhere. exploit details:

stuffcmds rcon_password <long password>
stuffcmds rcon <long command>
2000-10-16 03:18:37 +00:00
Bill Currie
1dd0f7ed0f Conditionally disable bunny hopping (speed jumping). To disable bunny hopping
on your server, put `serverinfo no_pogo_stick 1' into your server.cfg. It's
called no_pogo_stick for two reasons: the effect is called "pogo stick" in the
source code in a comment from the original id source code and also as a minor
(and very week:/) obfustication for `cheaters' trying to set it in their
clients. However, the client checks for no_pogo_stick in the server info and
forces it on when appropriate and having them in disagreement would only make
prediction a little screwy anyway :). BTW, when enabled this actually fixes the
original bug that allowed bunny hopping in the first place (though you still
get a jump grunt when you try to bunny hop; minor bug).
2000-10-15 04:26:09 +00:00
Jeff Teunissen
e0a53aa9a2 cl_main.c: More VID_SetCaption status messages.
vid_*: Make it so that VID_SetCaption can be safely called with the output
from va()
2000-10-14 07:10:56 +00:00
Zephaniah E. Hull
dbda53e93b More tweaking of stuff, fixed a minor bug in the loc stuff, may still
have the crash causer though.
2000-10-07 04:06:08 +00:00
Zephaniah E. Hull
760dfb8541 %l %a %A %h, for say and say_team, not quite finished yet. 2000-10-06 16:30:37 +00:00
Bill Currie
fc6ff9374d A solution to the problem of when to set the extended info keys. This allows
for nice large amounts of client info to be sent to a QuakeForge server.

sv_main.c:
	Append " QF" to the challenge reply. This DOES NOT break older clients
	because atoi stops parsing at the first non-number character but
	returns the value of what it successfully parsed. If a client does
	choke on this, its libc is broken and not to spec.

cl_main.c:
	Check for "QF" in the challenge string and if it's there, set the
	QF extended info keys before connecting. Also, make sure the extended
	info keys are NOT set prior to starting the connect process. This is
	done is the CL_Disconnect function.
2000-10-04 16:22:51 +00:00
Bill Currie
065abe9464 make VID_SetCaption consistent wherever appropriate (ie possibly windowed
environments). caption is "PROGRAM VERSION[: text]".
2000-10-04 05:45:48 +00:00
Bill Currie
46cbb108da bah, I broke connecting to old servers :(
remove *qsg_version and *cap on disconnect
set *qsg_version and *cap after connection but only if the server presents
*qsg_version (it will have big enough info buffers if this key exists). Doesn't
yet send the updated values to the server as there is currently no way to do
so :(  I started out creating a setfulluserinfo, but ran into design/security
problems with that approach. What's needed is to either find a secure way to
update these two star keys (however, special casing is ugly) or make them
non-star keys (I don't like that either: too easy to fiddle with). Another
possiblity is to force a reconnect after they are set.
2000-10-03 22:39:51 +00:00
Zephaniah E. Hull
e4c9ccff8f Cvar audit 1, all unused cvars are gone, with the exception of software
rendering, and the server.
2000-09-30 04:08:40 +00:00
Bill Currie
1aa9084aa9 add support for COMPRESSED downloads!!! Of course, both client and server must
both support this. The client tells the server it can support compressed
downloads by setting the z flag in the *cap userinfo. If the server detects
that the client supports compression, and the file to be downloaded is
compressed (more accurately, has the .gz extension), the server sends a special
download packet with a size of -2 (-1 indicates error),, percent of 0, followed
by the new name of the file (eg maps/foo.bsp.gz for maps/foo.bsp). The client
WILL NOT accept a new filename that doesn not match the old name for the length
of the old name. The client also will not accept a new name if there are . or
.. path components. If the client rejects the new name, it prints a warning
message and aborts that download.
2000-09-28 06:11:55 +00:00
Bill Currie
86f87122c0 zlib support (gzipped pack contents). if you have a probelm with gzgets, you
have 3 choices: remove /usr/X11R6/lib/libz.a, --diable-zlib, or fix configure.
I do intend on fixing it myself.
2000-09-27 19:44:26 +00:00
Zephaniah E. Hull
210ba16069 First off in gl_draw.c we have some nice cleanup code for the upload
code.

Then we have the completely purge of treating 'unsigned' as a type, it
is NOT a type, it is a TYPE MODIFIER!

Under gcc for x86 it happens to try and do something sane, just treat it
as a unsigned int, but that is EVIL, it is a MODIFIER and if ANYONE adds
code which uses unsigned as a type in itself I /WILL/ harm them!!!
2000-09-22 09:08:08 +00:00
Anton E. Gavrilov
ea7c4363ba Fix for ugly 'unknown: #' messages at the end of a demo. 2000-08-04 09:47:53 +00:00
Anton E. Gavrilov
bfcee99717 cl_deadbodyfilter and cl_gibfilter should work now. 2000-08-02 23:00:39 +00:00
Dabb
c29a59f262 VID_SetCaption (title) support. 2000-07-14 16:10:26 +00:00
James Brown
089a0a35d0 Patched for QSG Standard 2 (Extend Protocol).
Unfinished, renderer effects are only half implimented at this point.
2000-06-25 13:00:19 +00:00
Bill Currie
acb5f4b21a revert Endy's HL changes. Sorry endy but what would you rather have: HL
support in quakeforge, or knghtbrd using your guts for violin strings? :)
2000-06-16 09:41:42 +00:00
James Brown
1501c63997 Um. Fixed the server so it won't bomb loading Half-Life maps. 2000-06-10 03:43:18 +00:00
Anton E. Gavrilov
1139c87959 Remove master_adr;
Kill the stupid CVAR_SERVERINFO's.
2000-06-09 18:27:20 +00:00
Dan Olson
de18dc1c84 Added maplist command. The function was in, but it was never registered. 2000-05-31 14:16:08 +00:00
Loring Holden
5b094c2aa1 Reapply changes - this time tested w/ svga under Linux 2000-05-26 03:55:27 +00:00
Bill Currie
0bd4043ca4 revert lsh's checkins. They broke newtree for everybody but him. 2000-05-25 09:48:21 +00:00
Loring Holden
8005c0d25e I got this tree to build under Solaris, AIX, IRIX, & Linux.
In order to do so I:
* included strings.h and string.h in many files so various functions would be
defined
* Fixed model_t collision problem in cl_main.c (Solaris)
* com.c - corrected WORDS_BIGENDIAN spelling
* gl_draw.c - Use HAVE_GL_COLOR_INDEX8_EXT to avoid referencing
GL_COLOR_INDEX8_EXT when it isn't available
* net_udp.c - use socklen_t to appease AIX
2000-05-25 06:14:56 +00:00