Commit graph

978 commits

Author SHA1 Message Date
Bill Currie
29970187d7 sprintf audit. 2000-12-05 16:51:01 +00:00
Bill Currie
b34504057c char *buf; strn.* (..., sizeof(buf) ...) doesn't work so well :/ 2000-12-05 16:41:28 +00:00
Bill Currie
eae11661e4 strncat parameter audit. Unfortunatly, strncat is counter-intutite: the n in
strncat is not the maximum length of the destination string, but of the SOURCE
string, thus strncat (dest, src, sizeof (dest)) is incorrect. It should be
strncat (dest, src, sizeof (text) - strlen (dest)). Even then, no terminating
nul will be written if src is too long, but at least it won't crash the stack:)
2000-12-05 16:04:12 +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
Jeff Teunissen
fefca3d275 Fix up host.h snafu's 2000-12-05 06:58:01 +00:00
Bill Currie
cbf7cd5447 show_time 2 will select 12h clock as opposed to 24h (Misty again) 2000-12-05 06:57:44 +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
9554be96f9 clean up screen.c and gl_screen.c includes
remove scr_allowsnap from screen.c
move crosshair related cvars to *screen.c
2000-12-05 05:55:16 +00:00
Bill Currie
481fe0b9ed Misty's hudswap/fps/time patch to put the fps/time on the opposite side of the
screen to the hud.
2000-12-05 04:21:47 +00:00
Bill Currie
19a1e03f5d apply Misty's clock patch part 2 2000-12-05 03:22:35 +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
Dabb
0a8b0a72d2 Removed evil things. WIN32 SDL/SGL now uses (totally crappy)
SDL sounds instead of  old directx sounds. Its time to pay for "portability".
2000-12-03 10:53:07 +00:00
Dabb
05bb0be33a WIN32 SDL/SGL now uses (totally crappy) SDL sounds instead of old directx sounds. Its time to pay for "portability". 2000-12-03 10:48:02 +00:00
Dabb
b426b6daa7 Crappy complier doesn't allow me to UNDEF _win32 on command line! So here we have def WIN32SDL until I figure out better way to do it. Oh yeah, WIN32 SDL/SGL now uses (totally crappy) SDL sounds instead of old directx sounds. 2000-12-03 10:47:07 +00:00
Bill Currie
3bafaa371c don't bother downloading sounds if we are unable to play them. 2000-12-03 01:57:29 +00:00
Bill Currie
8ed2ff9241 -svga now works in background. NOTE: mouse and joystick are probably still
grabbed by svgalib.
2000-12-02 22:19:26 +00:00
Bill Currie
7faabf5032 add thiss before I accidently lose it. It's intended use is for when I
eventually implement the demo movie writer and it will write the sound to a
file rather than the soundcard.
2000-12-02 19:59:35 +00:00
Bill Currie
67896c5d5d fix a stupid bug 2000-12-02 08:31:18 +00:00
Bill Currie
7623a08ada don't subdivide sky polys. we don't need it and it only slows us down 2000-12-02 07:41:47 +00:00
Bill Currie
e8da8add75 disable debug output. oops :/ 2000-12-02 07:41:06 +00:00
Jeff Teunissen
19dd0f19dd whitespace 2000-12-02 06:17:47 +00:00
Bill Currie
bd47fcf241 pass though indent, correct a comment and change vertexen to vertices 2000-12-02 06:09:18 +00:00
Bill Currie
c90adba9dc finally. every condition I've been able to produce in start.bsp (quad jump to
the top of the map) works well. Depth issues have been taken care of as well
(sort of: same problems as non-clipped skybox, but you don't get sky IN the
map any more)
2000-12-02 05:32:50 +00:00
Bill Currie
6ced43e560 this SHOULD take care of case 5.3. Find out when I get home :/ 2000-12-01 19:57:33 +00:00
Jeff Teunissen
7b82e44ca1 Fix PCX loading on big-endian systems 2000-12-01 08:59:44 +00:00
Jeff Teunissen
778fa713a6 Fix snd_null crash (Cvars undefined, segfault) 2000-12-01 08:57:54 +00:00
Bill Currie
a7ed89bdd2 got case 5.1 sorted out and in the process of sorting out 5.3 (just need to
decide on the best way to translate the information).
2000-12-01 08:10:02 +00:00
Bill Currie
588082a570 the cases of 6 faces with two vertexen (both adjoining and opposing) and 7
faces with 1 vertex are implemented, but I have no way of testing them :(ie, I
haven't found anywhere to test them, there just don't seem to be any sky polys
of the right shape)
2000-12-01 07:30:29 +00:00
Bill Currie
257c0eb64a the case of 5 faces with 3 vertexen is now handled. it looks like there might
be a bug in my face visiting code that's causing process_corners to think some
numver of faces < 5 are being visted when really 5 are. I'll sort that out
later (at worst causes a little overdraw).
2000-12-01 05:41:05 +00:00
Bill Currie
fefe5df1bc the case of 5 faces visited with one cube vertex enclosed is now handled. 2000-12-01 05:24:53 +00:00
Bill Currie
d6cb69f6fa a major(?) algo change in cubee vertex handling. When a polygon goes around a
cube vertex, that vertex is no longer added immediatly, instead delaying it's
addition to the poly vertex list until all the sky poly points have been
handled (this has a side benefit of completely eliminating those two almost
identical functions: enter_face() and leave_face() :). After the sky poly
vertexen have been processed, the faces the edges of the poly have visted are
analysed for all 14 possible cases to determine how many and which cube
vertexen are to be added to the face polys. So far, 9/14 cases are handled
properly and 1 seems to be mysteriously handled in what seems to be a correct
fashion part of the time (bloody heisenbugs). The remaining cases are: 5
visited faces with 1 vertex and 3 vertexen (the heisenbug); 6 faces and 2
vertexen (2 variants: neighboring vertexen and opposing vertexen); and 7 faces
with 1 vertex.
2000-12-01 04:57:35 +00:00
Bill Currie
fbf23b9597 #ifdef out the 8 bit support functions 2000-12-01 04:44:05 +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
Bill Currie
150e04b784 finally compiles with `recent' alsa cvs. Doesn't work though (but fails
gracefully).
2000-11-29 23:22:21 +00:00
Jeff Teunissen
975ff3ceff Make vid_common_gl.c use the new extension system. 2000-11-29 04:59:18 +00:00
Jeff Teunissen
377655df11 Get the makefiles to link the new extension system in. 2000-11-29 04:56:23 +00:00
Jeff Teunissen
732dc94090 New functionality: QuakeForge now has a general OpenGL extension-loading
interface. To detect an extension, call QFGL_ExtensionPresent(). To get
the address of an extension function, call QFGL_ExtensionAddress(). This
function uses the preferred method for finding a function, based on
whatever OS and windowing system you use.
2000-11-29 04:55:24 +00:00
Dabb
0a6f195001 Made sure we can build with C++ Builder 5 too. Fixed TASM compile a bit. 2000-11-28 17:53:42 +00:00
Forest Hale
8b04d3e8e7 taniwha removed host_parms, which was necessary to compile... 2000-11-28 11:25:06 +00:00
Bill Currie
d74ab2865a basedir is nolonger mentioned anywhere in the source. It's gone, gone, gone,
gone (and it better stay gone).
2000-11-27 23:03:01 +00:00
Dabb
008f880ea4 Well, let's be really strict and put SV_Init(void) here.. 2000-11-27 15:29:25 +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
Forest Hale
b2fa746f90 redid the way -basedir works, implemented it in the filesystem init code, and it works now (the previous windoze support was broken because the basedir parm was not being used anyway) 2000-11-27 10:55:27 +00:00
Jeff Teunissen
d82b6a2e88 sv_main.c: Set the client's last_check field to -1 on connect. Unless a
player connects immediately after a timekick sample, their time WILL be
off, so don't look at them the first sample.

sv_user.c: Another location to enforce sv_maxrate, make sv_timekick and
friends ignore a user's time if it's -1, and apply double fuzz to times
lower than we expect -- it's way too sensitive otherwise. Also, some
whitespace changes.
2000-11-26 12:43:49 +00:00
Dabb
d480e59d71 Added ver_check.c 2000-11-26 12:39:09 +00:00
Jeff Teunissen
8465917ed1 Stole a proper version comparison function from dpkg. Version strings
(for sv_minqfversion) are no longer compared as floats, so a server admin
can require client versions with a lot more granularity. (e.g. 0.2.99beta5
is greater than 0.2.99beta4, but lower than 0.3.0)
2000-11-26 09:48:01 +00:00
Jeff Teunissen
c8fcb1cf22 Add *qf_version userinfo when connecting to QF servers. 2000-11-25 14:22:09 +00:00
Jeff Teunissen
6f40c97643 New Cvars:
sv_minqfversion: Set to the minimum allowable QuakeForge version you want
to allow on a server. QF clients prior to current CVS _will_not_work_ with
this cvar, as the QF version was not reported previously.

sv_maxrate: Change maximum rate algorithm; if sv_maxrate is nonzero, it is
the maximum rate allowed by the server. If it is unset, the maximum is
10000 like it used to be. The rate is silently capped, so it won't kick.

Cvar fixed: sv_timekick and friends; Now kicks on too little time passed
as well.

Functionality removed: "Last message repeated X times". It causes too much
trouble.
2000-11-25 14:20:04 +00:00
Bill Currie
10fc22f7a0 make r_drawviewmodel CVAR_ARCHIVE so it gets saved 2000-11-25 01:11:31 +00:00
Jeff Teunissen
2a306a092e Whitespace. 2000-11-23 08:01:04 +00:00
Jeff Teunissen
4e72832846 8-bit detection updates. No more -no8bit, it defaults off anyway. set
vid_use8bit 1 to check for 8-bit extensions.
2000-11-23 07:21:46 +00:00
Dabb
a58579cebf Added couple more #ifdef DLOPEN and also moved #include winquake.h. It must be before #include gl.h, or compile will fail. 2000-11-22 13:05:27 +00:00
Dabb
8ce7084ba1 Added Key_Event (whatever, -1, whatever). To use that "Internal mess" until someone has time to do this "right" ;-) 2000-11-22 07:27:46 +00:00
Bill Currie
1697026a62 fix some compile and link errors 2000-11-22 02:28:10 +00:00
Jeff Teunissen
47c70b3257 whitespace 2000-11-21 09:17:29 +00:00
Jeff Teunissen
861e83d7ff Mostly whitespace. 2000-11-21 09:15:36 +00:00
Jeff Teunissen
25db5b29b5 Clean up 8-bit handling. It might work properly, it might not (not that it
worked before), but at least it's cleaner.
2000-11-21 09:10:35 +00:00
Bill Currie
9a44a9fe17 fix up some comments (taking a break tonight, I guess:) 2000-11-21 07:49:58 +00:00
Jeff Teunissen
ded66b1bde Whitespace, optimizations to VID_Update() 2000-11-21 07:42:23 +00:00
Bill Currie
979a5b7e47 fix LordHavoc's spelling error. 2000-11-21 06:49:37 +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
Anton E. Gavrilov
62d76003eb Security fixes (hope it works) 2000-11-21 00:45:36 +00:00
Bill Currie
28701e8f76 poly edge crossing FOUR (ouch, that was unexpected) cube faces partially taken
care of. I have to fill in the incomplete faces (hmm, that will be interesting)
and figure out why one corner in one of my test cases is sometimes set and
sometimes not. Hmm, might be confused buy the enter/leave info from that edge.
2000-11-20 05:41:11 +00:00
Bill Currie
ce5f4b92ca fix a silly bug with framed faces. must have been tired 2000-11-20 05:26:14 +00:00
Forest Hale
0b120aecbc __const was not defined on win32 2000-11-19 23:47:56 +00:00
Forest Hale
2231b97572 added back -basedir in a different place (win32 only) 2000-11-19 23:34:09 +00:00
Bill Currie
06ead88d9d removal of Draw_TranPic. Thanks, Seth. 2000-11-19 21:34:27 +00:00
Bill Currie
b948a6c004 another bites the dust, dn dn dn :)
I think I only have one more clipping case to take care of, and it's really a
bug in an earlier case.
2000-11-19 01:18:54 +00:00
Ragnvald Maartmann-Moe IV
61d80d792f Make -ggi target compile again. *grmbl* 2000-11-18 15:46:43 +00:00
Bill Currie
5ae45ec667 framed cube faces work now! :) clockwise polygon rules are very convenient
(ccw would be just as good, it's the rule that counts:)
2000-11-18 06:44:08 +00:00
Bill Currie
f62b1dd2d4 take care of PFNGLCOLORTABLEEXTPROC properly. I just hope the configure test
works for those that DO have it.
2000-11-18 04:25:01 +00:00
Bill Currie
b798113da8 in_sdl.c and in_svgalib.c now use the new Key_Event api properly 2000-11-17 21:34:07 +00:00
Zephaniah E. Hull
8f1ff1bddc A few compile fixes.
And of course the very slight rework of the input system, at least
in_x11 gets shifts right for different keymaps.

Oh, by the way, ALL other input targets are broken in a very 'will not
compile' way.
2000-11-17 21:23:26 +00:00
Bill Currie
15c31544cf now compiles when glext.h is unavailable 2000-11-17 17:19:29 +00:00
Bill Currie
07d323d551 remove the connect to oorodina. I don't imagine too many other people have a
server runnining on a machine called oorodina :)
2000-11-17 07:27:39 +00:00
Bill Currie
b38903cc6a add the center points of the sky polys to the debug info. 2000-11-17 07:19:47 +00:00
Jeff Teunissen
9dd801f0d3 Okay, ONE MORE TRY... 2000-11-17 07:18:22 +00:00
Jeff Teunissen
9106db191d Okay, let's see if this fixes the 8-bit problems... 2000-11-17 07:12:28 +00:00
Bill Currie
91b2d46330 fixed the bogus vector. I wasn't copying enough vertexen when doing the insert.
Oops :/
2000-11-17 06:02:47 +00:00
Bill Currie
b19b9141cc WOOHOO, framed box face finally works (mostly). For some reason, I sometimes
get a bogus vector on one of the faces, but this is a major improvement :)
Almost there to fully working skybox clipping.
2000-11-17 05:47:48 +00:00
Bill Currie
c59579c8c5 fix a dumb bug in leave_face() caused by the similarity to enter_face 2000-11-17 03:18:22 +00:00
Bill Currie
ed9ca01ada remove -basedir handling. wrong idea, bad implementation (fixed size MALLOC?!?) 2000-11-17 02:45:23 +00:00
Jeff Teunissen
aad43f6d00 Okay, one more try. 2000-11-16 23:23:53 +00:00
Bill Currie
5d69bb1342 use Sys_Error instead of abort 2000-11-16 23:00:35 +00:00
Jeff Teunissen
84df26b7cc This _might_ fix the shared palette issue. 2000-11-16 22:37:59 +00:00
Bill Currie
740e023a53 fix "HUD on left side" menu option 2000-11-16 20:38:12 +00:00
Bill Currie
141fb8b7a5 try to insert the cube vertexen into the correct spot in the face poly vertex
list.
2000-11-16 20:05:15 +00:00
Dabb
c36a485851 Borland compile fix (one I forgot to commit :-). Needs to have winquake.h included for sgl. 2000-11-16 15:07:48 +00:00
Dabb
e1b173450c Added -window parameter in addition to good old -startwindowed (which I hated to type) 2000-11-16 15:05:37 +00:00
Bill Currie
c604d261f7 cleanup and document current code. Also catch a couple of possible bugs in the
process
2000-11-15 18:43:19 +00:00
Bill Currie
293d2bcc13 split gl_sky.c into gl_sky.c and gl_sky_clip.c (should have done this in the
first place, but I didn't realise how much code would go into sky clipping).
2000-11-15 17:20:54 +00:00
Dabb
b9b45d8d79 Move MGRAPH_H def (from config.h) 2000-11-15 14:46:28 +00:00
Dabb
02250336c2 Removed unneeded scitech mgl stuffs. 2000-11-15 14:44:21 +00:00
Bill Currie
d616ad745f very close to having working slipped skybox. framed box faces now work, but not
the surrounding faces within the frame. (frame = sky poly surrounding the face)
Also, faces with only to vertexes from clipping don't work yet.
2000-11-15 06:00:29 +00:00
Ragnvald Maartmann-Moe IV
619cb49fca Fixes mousewheel to work the same way in GGI that it does in other targets. 2000-11-15 05:52:14 +00:00
Bill Currie
e92f295d06 remove some debug info 2000-11-15 05:37:46 +00:00