Compare commits

...

915 commits

Author SHA1 Message Date
Bill Currie
9a9367ae08 update for modern auto tools 2002-10-26 04:27:10 +00:00
Bill Currie
630b1e7a4f fix sw alias model skin loading 2001-12-01 23:31:48 +00:00
Bill Currie
6be99353a1 backport the locs reading fix 2001-11-27 21:25:54 +00:00
Timothy C. McGrath
86f6ce2265 Fixed compiling newtree with alsa 0.9 so it doesn't die with -Werror enabled
Just enough to get it compiling again, I don't actually use this - if someone
actually is using this seriously and this makes it stop working I'll see what
I can do about the depreciated warnings I'm seeing when the clients are lding.

Tim McGrath
(Misty-chan)
2001-11-24 01:17:43 +00:00
Anton E. Gavrilov
36b83eae86 Fix the bug with potential memory overwrite in Info_SetValueForStarKey 2001-11-11 15:03:33 +00:00
Bill Currie
7fa170c325 make make changelog work out-of-tree 2001-10-31 22:59:41 +00:00
Bill Currie
1e1ee75773 fix a seg due to not-yet-initialized sv_highchars cvar 2001-10-20 21:31:21 +00:00
Bill Currie
1afaefd9dc hardware gamma support. I don't know how well it works (hard to tell on my
test box), but it doesn't crash :)
2001-10-20 20:59:55 +00:00
Bill Currie
0fad122bc3 final fixes to get -wgl working. 2001-10-20 19:50:03 +00:00
Bill Currie
412959acba whitespace 2001-10-20 18:52:57 +00:00
Bill Currie
0bca15c502 don't try to add contrast to the blend if we don't yet know what contrast is 2001-10-20 18:51:15 +00:00
Bill Currie
aed7b1c08d backport the svc_updatefrags flood fix 2001-10-19 16:43:15 +00:00
Bill Currie
f15ca83c60 mingw cross compile fixes 2001-10-19 06:46:32 +00:00
Bill Currie
326dc35b41 oops, that didn't work so well for 1.5 2001-10-17 23:22:04 +00:00
Bill Currie
02005a95a4 don't bother linking against an empty lib (some lds seg) 2001-10-17 23:17:57 +00:00
Bill Currie
55229ae4e2 fixes for automake 1.5 2001-10-17 23:06:49 +00:00
Bill Currie
0de1421e61 remove some duplicate header tests 2001-10-16 16:24:34 +00:00
Bill Currie
ae066e93a7 make people's lives easier 2001-10-16 16:18:59 +00:00
Bill Currie
294e8b5dea cross compilation fixes 2001-10-16 16:16:52 +00:00
Bill Currie
2f5e58be2d explicitly link against the correct cl_sys_*.c 2001-08-21 02:30:45 +00:00
Bill Currie
ba5f9ae9a9 protect sys/type.h 2001-08-20 22:38:19 +00:00
Bill Currie
b7727dc730 d'oh, missed this one (QF/) 2001-08-20 22:27:00 +00:00
Thad Ward
808e3ace87 remove some unneccessary cruft 2001-08-20 22:22:16 +00:00
Bill Currie
548ff2f227 bail when Sys_MakeCodeWriteable winds up empty 2001-08-20 22:12:40 +00:00
Bill Currie
1ed975edd5 backport 0.5's sys stuff. much saner linking. 2001-08-20 22:08:54 +00:00
Bill Currie
4fa410afef more compile fixes 2001-08-19 22:35:44 +00:00
Bill Currie
c577657e8e /me makes a not to pay closer attention to ifndef vs ifdef 2001-08-19 22:13:03 +00:00
Bill Currie
7dccb4388d compile fixes for newer sdl 2001-08-19 22:08:31 +00:00
Bill Currie
76bee6c8ab sdl and sgl build now too :) 2001-08-15 19:39:07 +00:00
Bill Currie
305fc0c371 misc fixes to get -wgl to cross compile 2001-08-15 18:07:55 +00:00
Bill Currie
d74f867b06 oops, must have had gl disable for that test :/ 2001-08-15 17:07:07 +00:00
Bill Currie
363aca5b84 backport the mesh improvements from 0.5 2001-08-15 16:25:23 +00:00
Bill Currie
f4dc013a3d back port the info key fix from 0.5. This should take care of the team
kicking.
2001-08-12 03:45:37 +00:00
Bill Currie
6714119351 apply Bruce Momjian's update to his sound/focus patch. Thankyou. 2001-07-12 16:39:49 +00:00
Bill Currie
c4fe80e9c3 check for _snprintf and _vsnprintf 2001-07-08 16:31:27 +00:00
Bill Currie
11f65cc599 double d'oh 2001-07-06 00:19:52 +00:00
Bill Currie
0fbfd46be0 I decided to apply Bruce's sound/focus patch as is after all. 2001-07-05 19:22:28 +00:00
Bill Currie
6c04ad09f8 forgot the imput mask patch 2001-07-05 19:18:20 +00:00
Bill Currie
a823912075 Apply most of Bruce Momjian's BSD/OS 4.2 patches. I didn't include his sound
stoping code because I don't like the way it was done, I'll work on
implementing a better version next.

        * Use of poll() is not standard.  I replaced it with usleep(),
which I think is more portable.  I know linux supports usleep() and all
BSD's.  Another option would be to use select(), which is much more
widely supported than poll().

        * Modified in_x11.c to stop sound and turn on keyboard repeat
when the Quake window loses focus.  It turns them back on/off when the
window gains focus.  I often play quake and leave the window to do
something else, and the lack of repeat and quake sounds were annoying.

        * Fix the -nomouse option so it still allows keyboard actions.
The current code skips keyboard setup when -nomouse is used.

        * Fix so config.cfg option "confirm_quit" works under X11.
2001-07-05 19:07:02 +00:00
Anton E. Gavrilov
f3f427bf4b In CL_Record_f(): Fix the QW bug with wrong player entertime being recorded to demos. 2001-07-04 01:25:41 +00:00
Bill Currie
4c7c5880fe do that the right way. /I/ feel better now :P 2001-06-12 02:28:44 +00:00
Adam Olsen
11de1a1fde disable fbdev by default 2001-06-12 00:03:16 +00:00
Adam Olsen
afc4f250c8 add #include <unistd.h> 2001-06-12 00:02:48 +00:00
Bill Currie
b2a74984e9 add an "extern cvar_t *fs_basegame" 2001-06-11 23:53:56 +00:00
Joseph Carter
609feb779c Idiotproof the can't find gfx.wad message in newtree too 2001-06-10 12:54:06 +00:00
Joseph Carter
4c9a189f90 Add idiot-proof comment that the cross-compile warnings are bogus 2001-06-08 23:10:11 +00:00
Joseph Carter
883b7ecf80 newstyle dies! 2001-06-06 14:29:58 +00:00
Bill Currie
f3c2c4e868 fix for CustomTF menu truncation 2001-06-03 01:28:11 +00:00
Bill Currie
1362736e55 try three :/ 2001-05-30 22:59:00 +00:00
Bill Currie
5a889df497 true64 attempt two 2001-05-30 22:45:36 +00:00
Bill Currie
cf16e6c5d7 compile fixes for true64 2001-05-30 22:22:58 +00:00
Bill Currie
e0b00dfda0 so THAT'S what snd_mme is for (alpha true64). don't know if this compiles,
but don't want it getting lost again.
2001-05-29 22:38:40 +00:00
Bill Currie
e20541700c not all compilers do the right thing with "extern inline" so fix it the easy
way
2001-05-29 20:29:39 +00:00
Bill Currie
86270446e9 snd_initialized is needed outside of snd_* 2001-05-29 20:16:03 +00:00
Bill Currie
e72ebb6c63 send a nop packet to make sure *list packets get acked. should prevent
"player overflowed" messages.
2001-05-29 03:45:52 +00:00
Bill Currie
bc6ff9fc19 it seems autoconf 2.50 doesn't like nested AC_CHECK_FUNC calls 2001-05-26 04:08:32 +00:00
Jeff Teunissen
8f66467568 Misc. cleanups to configure; shaving off some of the excess fat. 2001-05-23 08:12:30 +00:00
Jeff Teunissen
df184072f1 Eliminate the use of stricmp() 2001-05-23 08:08:49 +00:00
Joseph Carter
3cde1a0608 NEWS doesn't apply to newtree 2001-05-22 15:02:38 +00:00
Thad Ward
7a0ba8ca2e port Mercury's Userinfo validation over from cougar. 2001-05-22 14:23:19 +00:00
Thad Ward
759729b5a8 Prevent an infinite loop in a fairly rare case, where the infostring is too
full to accept a new name when there is a duplicate name.
2001-05-22 12:55:36 +00:00
Adam Olsen
920de43af9 - remove align flags from gcc command line
- only use usleep if HAVE_USLEEP is defined
2001-05-22 05:39:16 +00:00
Adam Olsen
5369e82456 ditto as from other commit. 2001-05-22 05:25:20 +00:00
Bill Currie
eb974c6dcb sadly, that just does not work 2001-05-21 06:01:03 +00:00
Bill Currie
a90f8132a7 make the rw selection do the right thing elsewhere 2001-05-21 01:13:44 +00:00
Bill Currie
d90d3d0de3 change "%x" (int)(pointer_expr) to "%p" (pointer_expr) 2001-05-16 21:11:50 +00:00
Bill Currie
f3e7e4d1bc fix device openning mode. defaults to write only, but read/write can be
selected using -sndrw
2001-05-16 18:57:54 +00:00
Adam Olsen
d97095fe87 Apply usleep patch, so we don't busy-wait so much. cl_maxfps will
now release your CPU :)
2001-05-16 08:59:10 +00:00
Bill Currie
3fc2675cb8 fix key_dest handling on startup 2001-05-15 05:35:42 +00:00
Bill Currie
88c3955b4f bump the default memsize up to 16M 2001-05-15 05:35:09 +00:00
Adam Olsen
9de78a5d83 two minor fixes from when I tried gcc 3.0. includes a trigraphs fix. 2001-05-15 02:06:02 +00:00
Adam Olsen
d1f33ed6a6 backport my sdl audio fixes 2001-05-14 22:53:17 +00:00
Jeff Teunissen
978d90f9f7 Make up/down arrows skip over brightness and contrast's positions when
they don't exist.
2001-05-14 18:08:32 +00:00
Bill Currie
a7c23e13a9 handle X11 key repeat properly 2001-05-13 22:29:41 +00:00
Bill Currie
dd134f9c4f updated for 0.3.1 2001-05-13 22:29:13 +00:00
Jeff Teunissen
765a22a033 Remove the rest of the calls to GL_CheckBrightness() 2001-05-13 19:22:31 +00:00
Jeff Teunissen
8a4cc8a526 Restore gamma properly in X11 targets, regardless of the value of
vid_system_gamma
2001-05-13 09:07:57 +00:00
Jeff Teunissen
1a9db8c2eb Make gamma work for GL. Man, that was stupid. :) 2001-05-13 09:06:51 +00:00
Jeff Teunissen
2e88971a08 Make the menu get initialized after video; otherwise, the menu will never
pick up brightness and contrast. :)
2001-05-13 08:26:45 +00:00
Jeff Teunissen
540d13b588 Deal with brightness and contrast not existing in software targets, but do
it at runtime.
2001-05-13 07:48:05 +00:00
Bill Currie
9d23ea9db0 who the hell used 0 for CVAR_NONE? 2001-05-13 05:15:36 +00:00
Jeff Teunissen
272abade38 Backport Cvar callbacks to newtree. Software gamma still doesn't work in
GL, and I still don't know exactly why.
2001-05-13 05:10:02 +00:00
Jeff Teunissen
75089e506e Configure updates, also rev for 0.3.1 2001-05-13 05:08:49 +00:00
Jeff Teunissen
bfc25fa462 Gamma cleanups. Software gamma still doesn't work in GL. 2001-05-12 06:53:53 +00:00
Bill Currie
72d8bd6af7 put in some debug info about precache overflows 2001-05-12 03:24:29 +00:00
Thad Ward
6162fd8017 got win32 building again. not sure (yet) if it works as advertised.
will fully test later.
2001-05-02 22:53:10 +00:00
Bill Currie
8327d1edac clean up V_CheckGamma a bit 2001-04-23 18:44:56 +00:00
Bill Currie
2d5f4b86fb sw gamma now seems to work 2001-04-23 18:39:14 +00:00
Bill Currie
6a75c4e00d vid_gamma now seems to work :) 2001-04-23 04:16:17 +00:00
Bill Currie
bd06625c55 backport the gamma code from the quakeforge tree in preparation for 0.3.1
Doesn't work yet because VID_UpdateGamma needs to be called at the
appropriate time and cvar callbacks are not implemented in newtree.
2001-04-23 03:52:20 +00:00
Anton E. Gavrilov
b9caa4273c LordHavoc forgot to #include "mathlib.h" 2001-04-22 05:18:03 +00:00
Adam Olsen
bf6afa6ad4 Thought I would have commited this by now... 2001-04-20 13:29:55 +00:00
Adam Olsen
5b46db8796 No harm in backporting a few fixes :) 2001-04-20 13:17:48 +00:00
Brian Koropoff
75ecbe3032 This change adds a new type of client connection state (cs_prespawned) to make sure
the client sends the prespawn, spawn, and begin commands in the correct order.
This stops several interesting cheats in TF as well as the posibility of avoiding the map
checksum.
2001-04-19 23:50:31 +00:00
Bill Currie
06b06abc74 must not call snd_pcm_mmap_forward with a count of 0
this fixes the alsa assert at slower rates
2001-04-13 08:07:56 +00:00
Anton E. Gavrilov
54076d1a07 Fix a typo 2001-04-08 00:06:32 +00:00
Dabb
0e3d9f385a Tiny fix, sizeof(*move) -> sizeof(usercmd_t) 2001-04-06 13:02:35 +00:00
Bill Currie
74a61f22f7 make gdb screens infinitely high so it doesn't stop output and wait 2001-03-27 04:01:32 +00:00
Chris Ison
ad37b9cedd fixing LordHavocs untested code 2001-03-16 13:48:24 +00:00
Forest Hale
a8df60c554 cleaned up d_8to24table (build as bytes to avoid endian-issues and make it more readable) and d_15to8table building (faster and MUCH more readable) 2001-03-16 13:05:57 +00:00
Forest Hale
05545350e7 readability cleanup of vector comparisons to 0, now all such comparisons use VectorIsNull, and a little more whitespace cleanup in cl_pred.c 2001-03-16 12:27:11 +00:00
Forest Hale
f922262b61 changed spaces to tabs in dabb's code 2001-03-16 12:10:59 +00:00
Bill Currie
5c63c96340 fix a silly bug in --with-user-cfg 2001-03-09 21:48:36 +00:00
Jeff Teunissen
6f1587ff7f Userinfo culling in the server. The server now only sends userinfo stuff
that's useful to the client or the players. This should solve the problem
with QW clients' tiny setinfo buffers once and for all. Note, you can
still use setinfo to set your user info, but if it's not in the
"need-to-know" list, the server won't send it back to you. I will probably
make this optional with a server Cvar if there are problems.
2001-03-09 08:25:39 +00:00
Jeff Teunissen
49d7b35d43 New server Cvar: sv_extensions. When set to zero, it disables the extended
challenge, causing QF clients to not detect a QuakeForge server. This
makes the client not add the QF-specific info strings, in turn making it
not overflow original QW clients' limited setinfo space. This also
probably makes certain proxies work with QF servers again. It /also/ has
the side effect of disabling compressed downloads. If you want compressed
downloads, you need sv_extensions on.

Also, remove the "stdver" setinfo in the client -- it's handled by
*qsg_version if there's a QF server on the other end, so it was just
wasted space.
2001-03-09 04:50:14 +00:00
Bill Currie
24841130a7 change egcs to kgcc for the broken distro 2001-03-08 21:03:39 +00:00
Bill Currie
8cca7c7dd9 strings.h/string.h compile fixes 2001-03-08 19:50:50 +00:00
Bill Currie
b68b6a4dd3 fix a compile bug 2001-03-07 04:01:23 +00:00
Dabb
b4dfcb0906 I don't think we want to do prediction when DISCONNECTED ... 2001-03-05 18:10:52 +00:00
Dabb
89dd78e5fe Merged duplicate client/server functions (placed into PMOVETST.C).
Client now uses WORLDA.S (renamed func)
2001-03-05 11:53:02 +00:00
Dabb
a033a03624 Merged duplicate client/server functions (placed into PMOVETST.C).
pmtrace_t replaced by trace_t with ent->entnum change
pmplane_t replaced by plane_t
2001-03-05 11:52:19 +00:00
Dabb
f15c42184d Merged duplicate client/server functions (placed into PMOVETST.C).
PM/SV_HullPointContents > HullPointContents
Client now uses WORLDA.S (renamed func)
2001-03-05 11:51:17 +00:00
Dabb
e703935e9b Merged duplicate client/server functions (placed into PMOVETST.C).
PM/SV_RecursiveHullCheck -> HullCheck
PM/SV_InitBoxHull -> InitBoxHull
PM/SV_HullForBox -> HullForBox
PM/SV_HullPointContents > HullPointContents
Client now uses WORLDA.S (renamed func)

pmtrace_t replaced by trace_t with ent->entnum change

pmplane_t replaced by plane_t
2001-03-05 11:49:59 +00:00
Dabb
bb39a9252b Checks against MAX_PHYSENT overflow. 2001-03-05 11:48:52 +00:00
Dabb
c2cf684118 Hullcheck client/server duplicate merge.
mtrace_t replaced by trace_t with ent->entnum change
pmplane_t replaced by plane_t
Might even break something!
2001-03-05 11:48:20 +00:00
Jeff Teunissen
4ae1fda2e1 include snafu in null input driver. 2001-02-26 18:43:29 +00:00
Ragnvald Maartmann-Moe IV
fcd38297d9 Comment update. Move along, nothing to see here. 2001-02-24 08:24:14 +00:00
Bill Currie
c32a59b343 add the contents of the config dir 2001-02-24 03:44:33 +00:00
Ragnvald Maartmann-Moe IV
6d9846e2ce Outdated. Gone. 2001-02-23 22:28:19 +00:00
Ragnvald Maartmann-Moe IV
2bb966d1f7 Remove support for unreleased ALSA 0.6, replace with current 0.9 support.
(thanks to Abramo Bagnara)
2001-02-23 22:24:26 +00:00
Timothy C. McGrath
5cda3dc3cb swspeed.cfg is speed cfg for software clients (-x11 -svga) however it is
not well tested, and needs someone to bash it over the head a few times.
If you routinely use the software clients, please find out what in this
file works for you, and let me know.

Misty
2001-02-22 20:38:54 +00:00
Timothy C. McGrath
63f6f3e9cd My glspeed.cfg this time for newtree. This file will not be updated as
often, as newtree is (generally) a non moving target. However, bug
reports will cause modifications to this file as I get them.

Let me know of any problems,
Misty
2001-02-22 19:26:51 +00:00
Bill Currie
4f7561fd92 fix broken ipv6 address field 2001-02-22 19:00:34 +00:00
Bill Currie
32c6b2be38 add reporting of compression support 2001-02-22 06:03:44 +00:00
Dabb
19c37bbcb3 Some optimizations, use memset instead of for loop with *bl++=0.
Uses almost 1% less CPU for me :-)
2001-02-20 16:52:24 +00:00
Dabb
ea7e76fab7 Added cl_nostatpred. When 1, static, nonmoving players are NOT predicted.
Saving up some CPU time when lot of snipers and sitting duck campers
around. Experimental, try it out.
2001-02-19 15:57:36 +00:00
Bill Currie
2cac0ae365 This should fix the skins problem windows users have been experiencing. I must
have accidently killed the correct version in either my cvar audit or the skin
re-vamp. Thanks, Invigor, for your help in finding this.
2001-02-19 02:51:33 +00:00
Bill Currie
942732d3b9 the mingw files were feeling neglected 2001-02-18 05:01:24 +00:00
Ragnvald Maartmann-Moe IV
c41b730fb8 Fix for compiling without zlib. 2001-02-17 22:00:26 +00:00
Dabb
cabd99e201 Oooops :-) 2001-02-17 12:42:06 +00:00
Dabb
6356c8e596 Default to 16bit colors. 2001-02-17 12:24:39 +00:00
Bill Currie
fdc8bedd2e fix a silly bounding box error 2001-02-17 04:59:13 +00:00
Bill Currie
20b9411bcc disable transparent pixels in the conback. They will still currently be black,
but at least they won't flicker on some drivers.
2001-02-16 22:07:40 +00:00
Dabb
2bb4a60a69 Cleaning up code and adding little more error reporting. Also, now cleans
leftovers when funcs fails bit better.
2001-02-16 14:28:01 +00:00
Bill Currie
c3208b87e7 correct a docco goof on the allskins command 2001-02-16 01:48:49 +00:00
Ragnvald Maartmann-Moe IV
d3e280a088 Fix for wandering point on polyblended cones. Should now always point directly at viewers eye, rather than perpendicular to the view plane...
(thanks Taniwha)
2001-02-16 00:09:49 +00:00
Dabb
d81eb19c1f Check for null buffers from directsound. (forgot to commit, hm..) 2001-02-15 18:25:09 +00:00
Bill Currie
01baf4a868 turns out it might not be gamespy after all, and I didn't particularly like
this as a solution anyway, so I've enabled the command packet channel by
default. I'm leaving it in, because it's a nice to be able to close it
completely under other circumstance.
2001-02-15 18:03:59 +00:00
Jeff Teunissen
e1638eba85 (Finally!) commit the property list parser. 2001-02-15 17:18:45 +00:00
Ragnvald Maartmann-Moe IV
e5cd5030ae Oops. Flattening polyblends is only a help in very limited circumstances. ;) 2001-02-15 09:42:43 +00:00
Ragnvald Maartmann-Moe IV
8d68ffe9f0 Fix long standing issue with conical nature of polyblend dlights being obtrusive. 2001-02-15 07:15:10 +00:00
Bill Currie
ac94390460 got the logic of the if mixed up 2001-02-14 22:26:57 +00:00
Bill Currie
de22be39ba break gamespy instead of gamespy breaking us. disable command packets by
default. If somebody wants gamespy to do its evil, they can say so explicitly.
2001-02-14 22:25:22 +00:00
Bill Currie
ca06d3994d ALWAYS print commands coming from external sources (eg GameSpy (ewww)) 2001-02-14 21:50:55 +00:00
Jeff Teunissen
30a0105e82 Move the DGA check for XDGA_MAJOR_VERSION inside the actual HAVE_DGA
check. :)
2001-02-14 16:47:50 +00:00
Bill Currie
8dead3b82d don't try to execute a "" file 2001-02-14 16:45:58 +00:00
Bill Currie
a76c7779a7 remove a bogus prototype 2001-02-14 05:12:14 +00:00
Zephaniah E. Hull
192eba3898 Compiles now, works too. 2001-02-14 02:49:37 +00:00
Jeff Teunissen
96722e9137 Yeah yeah, I messed it up again. 2001-02-14 02:39:43 +00:00
Jeff Teunissen
cedd063a6a Okay, so I fscked up the video mode restoration. Sue me. It's fixed now. 2001-02-14 02:36:27 +00:00
Bill Currie
8711d430d1 rev for 0.3.0 release 2001-02-12 07:17:01 +00:00
Jeff Teunissen
a05d02c786 Extra paranoia for the XDGA_MAJOR_VERSION #define 2001-02-11 23:32:54 +00:00
Bill Currie
8510dedee9 XDGA_MAJOR_VERSION is XF86DGA_MAJOR_VERSION in 3.3.5 (6?) 2001-02-11 23:15:15 +00:00
Jeff Teunissen
7cb5126153 Be paranoid about the DGA extension as well. 2001-02-11 23:07:39 +00:00
Bill Currie
a12c6913dc compile fixes 2001-02-11 22:59:06 +00:00
Jeff Teunissen
2c703a045e VidMode detection changes. 2001-02-11 22:17:19 +00:00
Bill Currie
d828ba64b3 fix version number for 3.3.5 this MIGHT cause problems for 3.3.6, dunno. 2001-02-11 22:11:18 +00:00
Jeff Teunissen
443944c48b context_x11.c: whitespace.
dga_check.c: Make sure that the version of the VidMode extension at
runtime is the same version we compiled with, to deal with a structure
change that occurred between VidMode extension versions 1 and 2. If a
version 3 is developed, this will have to be fixed again.
2001-02-11 16:05:52 +00:00
Bill Currie
549bbbdb1b revert my sticky corners fix. sticky corsers are better than getting suck so
it's impossible to move.
2001-02-11 07:49:43 +00:00
Bill Currie
604e398e66 clean out dead code 2001-02-11 07:19:59 +00:00
Bill Currie
e6980d2ec3 add cvar to control config.cfg writing (from Adam Olsen
<adamolsen@technologist.com>)
2001-02-11 07:15:39 +00:00
Bill Currie
4417fc6ce0 remove unused function 2001-02-11 05:33:21 +00:00
Bill Currie
2be320d66f slap some grease on those corners. This fixes the sticking on angled corners
bug. The DIST_EPSILON shifts have been removed from PM_RecursiveHullCheck and
only one DIST_EPSILON shift is done in PM_PlayerMove now. This might even give
a very slight speedup.
2001-02-11 03:49:20 +00:00
Bill Currie
08fc75fd32 whitespace in a comment 2001-02-11 03:36:51 +00:00
Forest Hale
14a519c548 whitespace cleanup (spaces -> tabs) after dabb's assault with Edit. 2001-02-10 10:53:50 +00:00
Bill Currie
4961a21b51 whitespace and comment cleanups 2001-02-10 10:05:54 +00:00
Bill Currie
16b2c798f0 white space 2001-02-10 07:00:47 +00:00
Bill Currie
911d38e5e5 fix the failure mode for vid_fullscreen 1 2001-02-10 05:08:25 +00:00
Bill Currie
0ffba7e3da add fs_usercfg. defaults to "" (nothing) in oldstyle, or "~/.PACKAGErc" in
newstyle.
2001-02-10 00:40:55 +00:00
Jeff Teunissen
4eb41da471 D'oh! Make the setrom command actually do something useful, like set the
cvar to be read-only. :)
2001-02-10 00:31:50 +00:00
Dabb
369949e1d7 Add some comment about fix so it wont get removed as "unneeded" 2001-02-09 23:00:15 +00:00
Dabb
7b9f46471c Fix for alt-tab problem on nvidia cards. Thanks go to Tim for figuring this out. 2001-02-09 22:51:14 +00:00
Jeff Teunissen
48e901481a Even more VidMode paranoia: We now save the mode we started with and
explicitly go back to that mode instead of the first in the list.
2001-02-09 22:36:30 +00:00
Bill Currie
f59aa3034c dga_check.c:
fix dga checking. just because the dga queries succeed doesn't mean it's
	actually there.
in_x11.c:
	whitespace
2001-02-09 22:24:44 +00:00
Jeff Teunissen
5fe2ff158d Update XFree86 VidMode extension handling. We no longer try to go
fullscreen if the video mode we want isn't known to X.
2001-02-09 21:50:42 +00:00
Bill Currie
44c9371b4f force console alpha to 1 if not rendering the world 2001-02-09 19:15:37 +00:00
Bill Currie
435c588e37 function header audit. 2001-02-09 02:53:09 +00:00
Ragnvald Maartmann-Moe IV
bb8f25bb64 Don't test for alpha death on particles that aren't alpha fading over time. 2001-02-09 00:07:58 +00:00
Bill Currie
679b67ddd2 fix a broken fix for sun's model_t type. (got broken during the header audit) 2001-02-08 20:56:40 +00:00
Bill Currie
5b2561720e improve the ZERO_LENGTH_ARRAY test and fall back to using [1] if neither [0]
nor [] work.
2001-02-08 20:55:45 +00:00
Bill Currie
5f5456d2c0 fix a compile error when using lex 2001-02-08 20:19:07 +00:00
Bill Currie
3240ed57b4 shrink the default heap for the server from 16 to 8 meg 2001-02-08 19:41:31 +00:00
Bill Currie
b10b829260 amputate an 8M cacerous growth from the memory footprint of the clients 2001-02-08 19:24:27 +00:00
Jeff Teunissen
6da731fec1 Clear packet entities when they are removed. This fixes a bug in particle
trails, and possibly others as well.

Eliminate cl_oldvisedicts and cl_visedicts_list, change cl_visedicts's
definition to compensate. It isn't used any more, so they just waste
memory.
2001-02-08 17:43:14 +00:00
Jeff Teunissen
4cde7461b1 Add forward definition so that Unix clients can build with packet logging. 2001-02-08 17:38:25 +00:00
Jeff Teunissen
9f2da626f3 Fix SVGAlib-X interaction description 2001-02-08 12:08:15 +00:00
Jeff Teunissen
192e4521a9 Update README. 2001-02-08 11:57:03 +00:00
Dabb
d28d3d3df9 Added -brokenpopup to allow alt-tabbing with some broken video drivers,
until I've found a way to avoid the bug.
Also, fixed one crash, so instead of crashing, we notify user that its time
to upgrade drivers :-)
2001-02-08 10:57:58 +00:00
Bill Currie
319d403c25 link movetype_none entitities into the world after doing the think 2001-02-08 00:20:56 +00:00
Bill Currie
fdaf69b9ae reduce minimum timescale to 0 to allow pausing the demo 2001-02-08 00:08:32 +00:00
Zephaniah E. Hull
145284c3ce Tweaked some of the bounds. 2001-02-08 00:02:26 +00:00
Forest Hale
4d40668752 removed unused 'next' field in particle struct 2001-02-07 20:31:01 +00:00
Bill Currie
3320cf5e2c cl_demospeed cvar. 1 = normal speed, < 1 = slow-mo, > 1 = timelaps.
host.h:
	remove Host_SimulationTime prototype
cl_main.c:
	cl_demospeed stuff. Host_SimulationTime was resurected because of gcc
	warnings about setjmp clobbering vars. It's made static inline so its
	resurection doesn't cost fps.
2001-02-07 20:15:33 +00:00
Bill Currie
c2194db299 make a private copy of the map name while doing maplist. Fixes the mangled
map names in directories with lots of maps.
2001-02-07 19:36:55 +00:00
Bill Currie
5471165397 don't redirect output for the pause command 2001-02-07 18:33:38 +00:00
Bill Currie
c935512294 remove the fov test from the view model drawing test. ie, you can see your
weapon with fov > 90
2001-02-07 18:27:21 +00:00
Forest Hale
542457480f Fix for a rare particle bug Despair was trying to figure out, minor consistency cleanup, and some comments added. 2001-02-07 08:14:58 +00:00
Ragnvald Maartmann-Moe IV
800ee05584 More whitespace than you can shake a shambler at. 2001-02-07 05:45:59 +00:00
Bill Currie
e32119aa3c forgot to commit this with in_x11.c 2001-02-07 04:57:38 +00:00
Bill Currie
b3cd4355cf fix the *nix x11 keyboard repeat issues 2001-02-07 04:06:52 +00:00
Jeff Teunissen
b4c9dcc7fb whitespace. 2001-02-06 21:13:05 +00:00
Bill Currie
367fee1dc6 add HAVE_WINSOCK_H 2001-02-06 19:54:26 +00:00
Bill Currie
d57a22fe87 hopefully the last of the " gaffs 2001-02-06 19:53:20 +00:00
Bill Currie
4d8cc6233c fix a missed " fixup 2001-02-06 19:45:24 +00:00
Bill Currie
50ce499a61 cvars and commands are now ALWAYS sorted. This way, cmdlist and cvarlist are
more usable. Downside is tab completion is affected.
2001-02-06 17:34:18 +00:00
Bill Currie
86a7e3b749 change the formatting of cmdlist <args> a bit 2001-02-06 04:12:32 +00:00
Bill Currie
c6e087015c command docs patch from Misty-chan because his access hasn't completely come
through yet.
2001-02-06 02:56:14 +00:00
Chris Ison
222eea81b1 adding brighten support 2001-02-06 01:44:12 +00:00
Timothy C. McGrath
033545f56f This patch adds documentation to MOST of the commands in quakeforge,
however some commands I wasn't sure about, and others the docs are just
plain missing. I've also changed cvars with missing/incomplete
documentation so that we can find them more easily with just one grep.
To find all commands and cvars with bogus/missing documentation grep for
'No Description'

Let me know if I've screwed something up.

Misty-chan

PS: Deek do NOT commit the patch I sent to you, this obsoletes it.
2001-02-06 01:12:24 +00:00
Bill Currie
b443a0254e rev version for beta7 2001-02-06 00:29:16 +00:00
Bill Currie
345d34c386 fix make dist 2001-02-06 00:23:31 +00:00
Jeff Teunissen
6bae2b3010 whitespace, small opt in pcx.c 2001-02-05 23:17:48 +00:00
Bill Currie
eb8c267925 .gdbinit:
add -nosound again
cl_main.c:
	clean up function headers
2001-02-05 23:06:57 +00:00
Bill Currie
054f659078 this SHOULD take care of skin crashes on a permanent basis. The problem in
beta6 was caused by the player skin being set to 0 when it shouldn't be on any
userinfo change, and thus even changing rate would cause the client to seg.
Now, the player skin gets set to 0 only when the skin changes, and while there
still seems to be an opening for a segfault (which this patch closes), I still
couldn't get the client to seg with recent code.
2001-02-04 22:47:07 +00:00
Ragnvald Maartmann-Moe IV
59f4b7a7d0 Kill some commented out dead code. 2001-02-04 22:34:54 +00:00
Ragnvald Maartmann-Moe IV
292807d653 Remove gl_cull cvar. Workaround for a speed issue/bug in a very early windows minigl. 2001-02-04 08:59:59 +00:00
Ragnvald Maartmann-Moe IV
39115d98a7 Tweak teleport effect a little. Particles not so absurdly large. 2001-02-04 04:56:50 +00:00
Ragnvald Maartmann-Moe IV
603a88c160 Whitespace and typos. 2001-02-03 07:39:45 +00:00
Ragnvald Maartmann-Moe IV
ff82461483 Fix mipmap method selection bug in GL_Upload8_EXT. 2001-02-03 06:57:43 +00:00
Bill Currie
9c0006efcd work around a bug in automake that caused configure to fall over if both flex
and lex were not on the system.
2001-02-03 06:47:14 +00:00
Ragnvald Maartmann-Moe IV
a12093fe1c New effect for sw. Quad + Pent glow purple. 2001-02-03 04:23:46 +00:00
Bill Currie
2079b73194 fix gl_conalpha/scr_consize interaction 2001-02-03 04:04:22 +00:00
Ragnvald Maartmann-Moe IV
4acdf6d3b2 Restore old cshift powerup behavior for quad and invuln when using polyblends. Flicker was simply unbearable otherwise. 2001-02-03 04:02:39 +00:00
Bill Currie
759fa8dd5f bring scr_consize over from quakeforge-old 2001-02-02 23:40:46 +00:00
Bill Currie
4d08e219d9 make edict_t.v a union of entvars_t and pr_type_t[] 2001-02-02 21:22:35 +00:00
Ragnvald Maartmann-Moe IV
175f24020d Comment typo fix. 2001-02-02 20:47:31 +00:00
Bill Currie
d6c8b85103 autoconfiscate FB_AUX_VGA_PLANES_VGA4, FB_AUX_VGA_PLANES_CFB4 and
FB_AUX_VGA_PLANES_CFB8
2001-02-02 16:31:20 +00:00
Bill Currie
ff12a738b5 Linux frame buffer support from Ryan Nielsen <ran@gondolin.fortyoz.org> (thank
you). While not yet fully functional, it compiles and runs to the point of
failing to find a mode (probably my fault, that:), but there's no mouse
support yet and the keyboard input isn't playable.
2001-02-02 05:56:53 +00:00
Bill Currie
17e9aa044b fix the shifting window problem in fullscreen (thanks, zinx) 2001-02-02 05:42:35 +00:00
Ragnvald Maartmann-Moe IV
e5b8b14303 Fix default for dynamic lightmap updates. 2001-02-01 21:06:41 +00:00
Ragnvald Maartmann-Moe IV
161973d75a Cvar cleanup.
gl_smooth is now gl_dlight_smooth
gl_smoothdlights was redundant, is now gone
gl_flashblend is now gl_dlight_polyblend
gl_lightmap added to enable/disable lightmap updates independently of use of gl_dlight_polyblend
2001-02-01 19:53:15 +00:00
Bill Currie
20a885c174 clean up the #define mess in progs.h. While I doubt this will fix the null
function crashes, at least the code is easier to read.
2001-02-01 08:38:25 +00:00
Bill Currie
77555241bd remove the commented out versions of the modellist etc code 2001-02-01 07:07:17 +00:00
Ragnvald Maartmann-Moe IV
3affa48786 Whitespace, and a very minor tweak to dynamic texture generation. 2001-01-31 07:52:28 +00:00
Bill Currie
9bb8dc358f apply an axe to the gl scraps code 2001-01-30 21:40:39 +00:00
Bill Currie
f0fc1368cf remove the non-hashtable lookup code from _COM_FOpenFile. While it seemed the
linear search was just slightly faster even for mega2k (~0.3s / 22.5) this is
probably partly due to the cost of initializing the hash tables in the first
place and thus gains might be noticed on subsequent map changes. Also, the
new hash code is much simpler and easier to read/maintain. Enough of a boon
right there :)
2001-01-30 06:54:02 +00:00
Bill Currie
f0c0dd28bc pak files now use hash tables for searching. Doesn't seem to be much of a gain
for bare qw, but might help with tf (my tf setup is borked @work, so I can't
check for certain until later). However, if nothing else, it tidies up the code
a bit.
2001-01-29 19:41:54 +00:00
Bill Currie
9606b889cb white space 2001-01-29 16:10:23 +00:00
Bill Currie
3eb47e6d3e cleanup dlight creation for entity effects. the color, radius etc are now all
set in the one place, rather than two. Should also be more easily extended.
2001-01-29 07:39:37 +00:00
Bill Currie
6025486e15 remove the no-longer needed test to determine whether dlights should be added
to a player
2001-01-29 06:23:35 +00:00
Bill Currie
b2c282de93 extend a comment 2001-01-29 05:58:37 +00:00
Bill Currie
645ba3fe40 function header comment cleanup 2001-01-29 04:03:00 +00:00
Ragnvald Maartmann-Moe IV
e930c800f0 Rename gl_particles to r_particles, and allow software to disable particles as well. Thanks sergio! 2001-01-29 00:13:01 +00:00
Bill Currie
2b165575dd fix a nasty buffer overflow 2001-01-29 00:01:13 +00:00
Bill Currie
a24894dc70 progs modularity improvements. what WAS sv_progs is now sv_pr_state, qwprog is
now sv_progs and the progs loading code no longer falls back to qwprogs.dat or
progs.dat. Also, call SV_Progs_Init_Cvars (forgot to do this earlier)
2001-01-28 23:27:48 +00:00
Bill Currie
3c18a79299 call SV_Progs_Init_Cvars to get r_skyname back 2001-01-28 22:06:40 +00:00
Zephaniah E. Hull
23b015af3f Slight tweak to the particle code. 2001-01-28 22:03:42 +00:00
Zephaniah E. Hull
2a723b5766 Better fix for the rocket trail problem, was my mistake.
(^ is xor, not power of.)
2001-01-28 10:15:52 +00:00
Ragnvald Maartmann-Moe IV
030f721d89 Dim crosshair fix, maybe. 2001-01-28 03:20:36 +00:00
Ragnvald Maartmann-Moe IV
c81a8b79db Crosshair 2 fix. 2001-01-28 02:23:54 +00:00
Ragnvald Maartmann-Moe IV
0ce365a5ae Hack to fix particles. 2001-01-27 23:34:37 +00:00
Ragnvald Maartmann-Moe IV
96d1b3239c Whitespace. 2001-01-27 23:14:09 +00:00
Bill Currie
9754c56836 remove the seams from the skybox 2001-01-27 21:50:51 +00:00
Ragnvald Maartmann-Moe IV
684eeee134 Fix mipmapping default. Oops. :P 2001-01-27 12:18:53 +00:00
Ragnvald Maartmann-Moe IV
0e88a1f18b Fix crosshair blurring, while maintaining gl_texturemode handling. 2001-01-27 11:01:51 +00:00
Ragnvald Maartmann-Moe IV
16c66488e9 Fix blurred cursor when picmip, and a minor include cleanup. 2001-01-27 07:23:39 +00:00
Bill Currie
3b6f18d1af oh, just a 4 x speedup for q1dm17 wih gl_sky_clip 1 and gl_sky_divide 1 :) 2001-01-27 06:16:40 +00:00
Jeff Teunissen
3a2389c3dc Performance tweaks to Alias model rendering in GL. I get 0.5fps out of it
in overkill, but every little bit counts. :)
2001-01-27 06:01:07 +00:00
Zephaniah E. Hull
c316ae0069 Cleaned up a lot of fixmes. 2001-01-27 04:58:07 +00:00
Bill Currie
e73ff67bf3 fix for bsd 2001-01-27 04:37:37 +00:00
Ragnvald Maartmann-Moe IV
4717448bd6 Minor lighting cleanup, plus fix minor bug (loss of color on nearby dlights). 2001-01-27 03:01:09 +00:00
Ragnvald Maartmann-Moe IV
9b0cea79ed Remove unused #define. 2001-01-27 02:59:33 +00:00
Ragnvald Maartmann-Moe IV
57f32284dd Mostly whitespace, typo fixes. Tweak mouse scaling in sdl more inline with other clients. 2001-01-27 02:56:30 +00:00
Ragnvald Maartmann-Moe IV
4c4e7e9530 Whitespace. 2001-01-27 02:11:58 +00:00
Ragnvald Maartmann-Moe IV
2d9f722218 Whitespace. 2001-01-26 06:10:50 +00:00
Ragnvald Maartmann-Moe IV
e1f4bc624a Optimize skydome rendering. Moves 4 multiplies from inner loop to outer loop. Saves 448 multiplies per pass. 2001-01-26 05:50:13 +00:00
Thad Ward
c8ab801128 qw_client.dsp and makefile.mgw:
remove vid_win.c from the projects. no longer needed after taniwha's
    cl_main changes.

cl_main.c:
    remove #include "winquake.h", which is not needed

vc/config.h:
    add #define HAVE_WINSOCK_H
2001-01-25 21:16:43 +00:00
Bill Currie
5c1fa73e55 remove the win32 windows tomfoolery. if someone complains, we'll cross that
bridge when we get to it (unless we burn it first:)
2001-01-25 06:08:46 +00:00
Thad Ward
04d66b0952 get it building on windows again.
cl_main.c:
    added #include "winquake.h" back in, since ming and msvc
    wouldn't build without it

qw_client.dsp and makefile.mgw:
    added vid_win.c
    (need to rename qw_*.dsp to qf_*.dsp one of these days...)
2001-01-25 04:56:27 +00:00
Zephaniah E. Hull
0ec668bc4e Switch GL_RGBA to GL_LUMINANCE_ALPHA, possibily a slight speed gain.
More to the point, should cut texture memory usage for the textures in
question in HALF.
2001-01-25 04:13:04 +00:00
Ragnvald Maartmann-Moe IV
33bea927c9 Tune blood trail length for speed again. *sigh* 2001-01-25 01:33:29 +00:00
Bill Currie
97ff9b38da add .vimrc 2001-01-24 20:17:12 +00:00
Bill Currie
6e1fdf78b0 forgot about this 2001-01-24 19:42:09 +00:00
Dabb
8fd94ff199 Add HAVE_WINSOCK_H 2001-01-24 19:25:39 +00:00
Ragnvald Maartmann-Moe IV
ae0b9b7215 Brighten particles a touch. New blended particles are on average a little less bright anyways. 2001-01-24 18:27:35 +00:00
Ragnvald Maartmann-Moe IV
bcb8ec45da Whitespace. 2001-01-24 18:26:23 +00:00
Bill Currie
21654b12e5 server builds (and works, thanks for the test, Dabb) and an sdl client attempts
to link.
2001-01-24 17:41:34 +00:00
Ragnvald Maartmann-Moe IV
f1a5a25b69 Make blood and slight blood different, like original quakeworld, again. 2001-01-24 09:53:35 +00:00
Ragnvald Maartmann-Moe IV
ee8cd32c0c Dynamically generate particle texture. Even better looking, too! 2001-01-24 07:36:36 +00:00
Ragnvald Maartmann-Moe IV
37ba8cabb3 Upped particle texture from 4*4 mono blotch to 16*16 grayscale circle. Looks dramatically better, and actually seems a hair faster here. 2001-01-24 06:22:18 +00:00
Bill Currie
733d55603c partial fixes for cross-compiling using mingw32. MIGHT break normal builds 2001-01-24 00:06:58 +00:00
Bill Currie
8d3c85349a add a FIXME comment 2001-01-24 00:02:43 +00:00
Bill Currie
49ed4186f8 remove an unused variable 2001-01-23 23:59:32 +00:00
Zephaniah E. Hull
f6b12b12e3 More fixes for the loc code. 2001-01-23 14:48:05 +00:00
Zephaniah E. Hull
712b655c1b Oops, forgot a few commas. 2001-01-23 14:42:16 +00:00
Zephaniah E. Hull
33b135f3dd locs and teamplay: Minor cleanup. (locisgz!? Gone!)
gl_dyn_part.c: Minor cleanup.
2001-01-23 14:36:53 +00:00
Jeff Teunissen
e9f3f3fa37 configure typo fixed. 2001-01-23 04:15:43 +00:00
Jeff Teunissen
2e61696d5c whitespace. 2001-01-23 04:12:48 +00:00
Jeff Teunissen
39949152c6 Whitespace. 2001-01-23 04:12:29 +00:00
Jeff Teunissen
2388cf8f9c Remove the checks for SDL headers. They weren't right anyway, and it's
covered by the SDL check anyway. :)
2001-01-23 04:11:43 +00:00
Jeff Teunissen
d6241c11aa Remove special handling for the WGL extension list. It was broken, and
nobody on win32 fixed it. This made _all_ Windows GL binaries not work.
2001-01-23 04:06:35 +00:00
Chris Ison
6bea8babbe tidied up locs code and changed loc commands to loc <args> 2001-01-22 23:23:28 +00:00
Ragnvald Maartmann-Moe IV
a348e15954 Split in_ggi.c off from vid_ggi.c 2001-01-22 23:11:15 +00:00
Ragnvald Maartmann-Moe IV
6cab98b564 Remove unnecessary include of vid.h 2001-01-22 23:03:11 +00:00
Ragnvald Maartmann-Moe IV
29ba2e38f7 remove unneeded input.h and keys.h 2001-01-22 23:01:38 +00:00
Ragnvald Maartmann-Moe IV
4b4fb0f9aa Remove redundant include of input.h 2001-01-22 22:50:08 +00:00
Bill Currie
8b39af51f2 another missing ) 2001-01-22 22:48:58 +00:00
Bill Currie
b3a9da279b check for an error openning the download file (this is what I intended to
commit previously, but wasn't finished)
2001-01-22 22:48:22 +00:00
Bill Currie
e3674945ed back out an accidental commit 2001-01-22 22:43:50 +00:00
Bill Currie
39ee51118d fix a missing ) 2001-01-22 22:40:36 +00:00
Jeff Teunissen
076db7b5b2 Oops, screwed up the paren placement. :) 2001-01-22 18:26:41 +00:00
Jeff Teunissen
3ea4bdda68 Handle 3DFX_set_dither_mode extension properly. 2001-01-22 18:21:46 +00:00
Jeff Teunissen
da335750e9 Fix dist properly for bzip2 archives. 2001-01-22 18:14:09 +00:00
Bill Currie
d072faf29c fix a compile bug for some systems 2001-01-21 02:55:53 +00:00
Bill Currie
7dd9a2f783 while this is probably not the correct fix, it seems X shm needs to be
completely updated each frame
2001-01-20 22:08:40 +00:00
Bill Currie
591577f6ef skin.c:
skins must always be loaded into a 320x200 buffer
sv_user.c:
	disable redirect for kill
2001-01-20 20:55:00 +00:00
Bill Currie
9146c88760 fix while dead players 2001-01-20 10:28:32 +00:00
Bill Currie
7c1c47b573 clean up skin selection code a little 2001-01-20 10:19:23 +00:00
Bill Currie
77f217bf89 fix black skins with fullbrights 2001-01-20 07:47:07 +00:00
Bill Currie
1444bac78d fullbrights on player skins now work properly instead of using the fb skin
of the player model.
2001-01-20 06:47:01 +00:00
Zephaniah E. Hull
92f357a2ad locs.c should be compiled into all client targets, but NOT the server.
(oops)
2001-01-20 05:13:52 +00:00
Bill Currie
1e270eb552 make fs_skinbase default to fs_basegame when using newstyle 2001-01-20 04:56:02 +00:00
Bill Currie
90f206ba5d move the definition of skin_t from client.h to skin.h 2001-01-20 04:10:12 +00:00
Forest Hale
5931dd6d80 added SKINBASE to win32 config.h files 2001-01-20 01:45:21 +00:00
Bill Currie
a01e68a148 fix a server crash on attempting to checksum a model that isn't there 2001-01-19 21:45:38 +00:00
Bill Currie
de137aa864 reserve some texture numbers for player skin fullbrights 2001-01-19 06:16:40 +00:00
Bill Currie
9a9e827d6d fix the description of --with-newstyle 2001-01-19 06:09:01 +00:00
Bill Currie
248f210099 damn, I REALLY hate it when I accidently commit un-finnished work 2001-01-19 04:10:02 +00:00
Bill Currie
6d09465ade better put this one in while I'm at it with that overcommit before 2001-01-19 04:01:40 +00:00
Bill Currie
e365e174a7 d'oh, forgot to remove the == 0 2001-01-19 04:00:02 +00:00
Bill Currie
186bec3342 remove the hardcoding of qw from all but the default server gamedir. This
should take care of skin downloads when using --with-newstyle
2001-01-19 03:36:08 +00:00
Bill Currie
45c62d5923 add force_centerview command to x11 targets 2001-01-18 22:16:43 +00:00
Bill Currie
5d15e27a3e pcx.c:
forgot to close the skin file.
skin.c:
	seeking within a file inside a pak does NOT work for SEEK_SET and SEEK_END
	so load the whole file at once into memory and change processing
	accordingly. The Hunk_*Alloc calls work nicely because the file is loaded
	into the lower hunk space while the tex is allocated from the temp space
	which is in the high hunk space.
2001-01-18 19:09:37 +00:00
Bill Currie
464ca76e23 don't redirect for the download command 2001-01-18 10:41:03 +00:00
Bill Currie
fc70d429bb skin.c:
Rip out the pcx loading code and use LoadPCX instead.
pcx.h:
	remove the data field from pcx_t: it was messing with gcc's idea of the
	structure size. also, update LoadPCX's prototype
pcx.c:
	change LoadPCX to return tex_t (new type in texture.h) and take a new
	param: convert. LoadPCX will now wither load raw 8 bit or convert to
	rgba on loading depending on convert. Also, make LoadPCX WORK and use
	Hunk_TempAlloc to store the resulting texture.
texture.h:
	define tex_t. defines an in-memory texture (either 8 or 32 bit, depending
	on the presense of a palette). Data comes immediately after the sturcture.
	eg tex_t *tex = Hunk_TempAlloc (sizeof (tex_t) + count)
2001-01-18 10:20:36 +00:00
Bill Currie
6aecae38e6 remove double command execution for 99.9% of the cases 2001-01-18 04:28:26 +00:00
Dabb
f9e5db9aee Fixed skin command bug. Win32 guys want skins too! 2001-01-17 19:44:45 +00:00
Dabb
19f03a4c26 Nuked -no8bit and added vid_use8bit CVAR, ROM. Also, 8bit is now
off by default.
2001-01-17 17:08:57 +00:00
Zephaniah E. Hull
a8077b4cbc Fixed error on the translate code for 32 bit uploads.
Will try and be clever with it next time.
2001-01-17 16:51:51 +00:00
Bill Currie
e955df08d1 skin code cleanup complete 2001-01-17 09:36:38 +00:00
Bill Currie
aab3c199a2 more skin cleanups 2001-01-17 08:43:26 +00:00
Bill Currie
45bacc2b60 second step of skins re-work 2001-01-17 07:28:34 +00:00
Bill Currie
e127bd9ebb rename cl_trans.c to sw_skin.c and gl_trans.c to gl_skin.c
also, remove R_TranslatePlayerSkin placing it's contents into gl_skin.c
2001-01-17 04:48:54 +00:00
Bill Currie
e858fcebb5 correct the skin change detection logic 2001-01-16 23:26:22 +00:00
Bill Currie
e9ed2d1a40 white space 2001-01-16 23:11:51 +00:00
Bill Currie
00b9b23076 remove some debug info 2001-01-16 19:59:08 +00:00
Dabb
92b7f5f8f0 Close packetlog file on exit... 2001-01-16 18:03:50 +00:00
Bill Currie
c6a06f6dc6 bump MAX_STUFFTEXT from 256 to 512 so pox will run 2001-01-16 03:29:21 +00:00
Bill Currie
bae13155b4 fix a segmentation fault in PR_PrintStatement caused by bogus prototypes 2001-01-16 03:15:23 +00:00
Bill Currie
2e882dd198 remove unnessecary strncasecmp calls 2001-01-16 00:09:51 +00:00
Bill Currie
3b14c1d513 missed several places for Cmd_Argv (1) -> Cmd_Args () 2001-01-15 23:28:14 +00:00
Bill Currie
ed042a3d9f make markloc a little nicer to use. "" no longer needed and can now be used
in the description
2001-01-15 23:10:49 +00:00
Dabb
568e4e5909 minor thing. 2001-01-15 19:31:27 +00:00
Bill Currie
3cf5e28082 s/QFPACKET.LOG/qfpacket.log/
save in $fs_userpath instead of .
2001-01-15 19:28:50 +00:00
Bill Currie
496cf83475 don't try to turn off dga if dga isn't available :) 2001-01-15 19:11:28 +00:00
Zephaniah E. Hull
7e437396f6 Frogot to zap an unused var. 2001-01-15 18:22:58 +00:00
Zephaniah E. Hull
2569e34ea9 cl_ents.c: Killed an unused variable which gcc did not catch.
cl_parse.c: Fixed the white body issue taniwha found, finally!

pr_edict.c: From misty, server cvar qwprogs, use it to set the
qwprogs.dat to something else.

sv_user.c: Don't send the r_skyname command, the clients pickup the info
line.
2001-01-15 18:14:36 +00:00
Bill Currie
bbac14a7d5 commands now sport descriptions (currently "No Description", but then I'm a
lazy bastard:)
2001-01-15 17:07:06 +00:00
Dabb
b397f55327 Added --enable-packetlog. 2001-01-15 16:56:07 +00:00
Dabb
936f1f55bb Function defs for packet logging. 2001-01-15 16:55:44 +00:00
Dabb
219a684fd0 Added --enable-packetlog to allow easy use of built-in packet logger.
Note: EXPERIMENTAL - meant for bug hunting.
2001-01-15 16:55:09 +00:00
Dabb
6eb79d233e Fix stupid crash. 2001-01-15 16:53:41 +00:00
Dabb
63a268c19f QSG stuffs, packetentities parsing. 2001-01-15 15:57:32 +00:00
Dabb
65345ecb71 Allow packet logging for clients too. 2001-01-15 14:15:14 +00:00
Dabb
bbf8adaa8e Add packet logging / parsing for demo playback too. 2001-01-15 14:12:19 +00:00
Bill Currie
8a4dfbf615 "Checking ..." messages will now be seen immediately rather than after the
next message.
2001-01-15 07:42:00 +00:00
Bill Currie
1a0d81fd2e fix the segfault caused by corrupt meshes 2001-01-15 07:27:27 +00:00
Bill Currie
a19b49d83c fix a potentially nasty situation with meshes that need to be re-meshed 2001-01-15 07:14:25 +00:00
Bill Currie
26a2d6a3de GL alias model meshes are now doubly protected from corruption and model
mismatch. First, the md4 checksum is stored in the mesh, and the md4 checksum
of the mesh and the model checksum are also stored. If, on loading, either
checksum fails, the model is re-meshed.

include/mdfour.h:
	Add define for MDFOUR_DIGEST_BYTES
source/.gdbinit
	setrom _windowed_mouse 0 so mods don't make debugging difficult
source/model_alias.c:
	pass original model data and size to GL_MakeAliasModelDisplayLists
source/sw_model_alias.c:
	GL_MakeAliasModelDisplayLists take (but ignore) new params
source/gl_mesh.c:
	do md4 checksums on the model and mesh
2001-01-15 06:50:59 +00:00
Bill Currie
7d8fb5901e ipv6 support. TOTALLY untested except for compile time. 2001-01-15 04:09:07 +00:00
Bill Currie
ec4691b8cd bump up supported js buttons to 16 2001-01-14 03:22:03 +00:00
Bill Currie
4883085aff correct zlib search (#128670) 2001-01-14 03:17:47 +00:00
Anton E. Gavrilov
9bc040c14c If you stufftext() something to the client, don't forget to terminate
them with \n !
2001-01-14 01:39:18 +00:00
Bill Currie
ac94074b13 bring location lights up to scratch with the new dlight defaults 2001-01-13 06:26:20 +00:00
Bill Currie
d57764745e forgot about cpp and args 2001-01-13 05:35:04 +00:00
Bill Currie
3ea038af68 test for the evil spawn of satan (gcc 2.96) and try to cope 2001-01-13 05:28:00 +00:00
Dabb
df7e9b9a14 Fix for borland famous alloca-bug. 2001-01-12 13:31:43 +00:00
Bill Currie
21759c69b3 if we include it, test for it (except X11/* GL/*) in the main header test block 2001-01-12 05:29:14 +00:00
Ragnvald Maartmann-Moe IV
90896657ad Follow CodingStyle some more. 2001-01-12 05:23:44 +00:00
Jeff Teunissen
b4c4263d35 Whoops, forgot to add joy_win.c to EXTRA_libqfjs_a_SOURCES :) 2001-01-11 10:21:17 +00:00
Jeff Teunissen
84ad232ed0 Getting ready for 0.2.99beta6... 2001-01-11 10:07:19 +00:00
Zephaniah E. Hull
2e57fd84ef Minor cleanup of dlights.
(On init they are now white, instead of black.)
2001-01-11 10:05:42 +00:00
Zephaniah E. Hull
1369e3f28c Cleaned up the x86 compiler setting stuff. 2001-01-11 10:04:08 +00:00
Bill Currie
cea0adf4ff use a saver version number :/ 2001-01-11 08:51:59 +00:00
Thad Ward
8290955813 get MSVC back up and running again. 2001-01-11 08:43:11 +00:00
Bill Currie
7634d8f3f7 fix for solaris 2001-01-11 07:41:06 +00:00
Bill Currie
678e38f2b5 fix a header snafu 2001-01-10 22:13:06 +00:00
Jeff Teunissen
53e408be2e Fix joystick detection on Linux 2001-01-10 04:02:52 +00:00
Bill Currie
35c50a73d0 updated 2001-01-10 03:36:53 +00:00
Bill Currie
c0aa0e4725 doc fixes from Misty 2001-01-10 02:39:45 +00:00
Bill Currie
843cb3b200 fix usage 2001-01-09 23:51:29 +00:00
Bill Currie
7f584aa151 newlines in cvar descriptions don't work well 2001-01-09 23:07:42 +00:00
Bill Currie
42e203c880 doc fix from misty 2001-01-09 04:49:51 +00:00
Bill Currie
9666eea338 fix mising #include <string*.h> 2001-01-09 02:53:58 +00:00
Jeff Teunissen
40cfa92aa7 The gl_texsort cvar is gone. It did not do anything but disable
multitexture, so I replaced it with a gl_multitexture cvar. It defaults
off. Set gl_multitexture nonzero to enable it, but be warned that
multitexturing and sorted textures are currently incompatible; this means
that if you enable texturing, your textures will not be sorted and you may
or may not get better performance.

Made the following Cvars archived in GL: r_shadows, gl_affinemodels,
gl_cull, gl_flashblend, gl_keeptjunctions, gl_multitexture, gl_particles,
gl_sky_clip, gl_skymultipass, gl_smoothdlights.
2001-01-09 00:45:54 +00:00
Jeff Teunissen
d41da03640 glquake.h: Whitespace, a new convenience check #define for multitexturing.
qfgl_ext.h:
Add protection against multiple includes of extensions from different files.
Add defs for GL_EXT_paletted_texture.
Change the #ifndef conditional for shared palettes to
GL_EXT_shared_texture_palette.
2001-01-09 00:25:31 +00:00
Jeff Teunissen
294402007a Whitespace. 2001-01-09 00:15:34 +00:00
Jeff Teunissen
7bc5f87d53 Add --with-amd argument to optimize for AMD processors on x86. Does
nothing elsewhere, of course.
2001-01-09 00:14:50 +00:00
Jeff Teunissen
8247d35d32 The first messages on the console now wrap like they should, to the window
width instead of to 40 characters.
2001-01-09 00:03:08 +00:00
Bill Currie
91bfddbf58 bring constant brightness skys to non-clip skys 2001-01-08 22:10:02 +00:00
Bill Currie
aa8785d2c2 fix the server info string output on the console. kludgy, but it works :) 2001-01-08 19:59:38 +00:00
Bill Currie
22ad49f949 rev version number for release 2001-01-08 18:04:01 +00:00
Bill Currie
81ac48eaf0 fix for *nix 2001-01-08 17:52:20 +00:00
Dabb
e32fb4d048 Drop packets from ports under <1024 (server only). Also drop packets
with invalid source address (broadcast and any).
2001-01-08 17:47:38 +00:00
Bill Currie
e2f1f503ef move CL_Ents_Init to the right place 2001-01-08 07:31:59 +00:00
Bill Currie
3727753fde fix a possible oob condition 2001-01-08 07:31:40 +00:00
Bill Currie
b66c22d0e5 flickering rocket/lava lights are dead and cvars now support vectors (archiving
broken atm).
2001-01-08 07:07:48 +00:00
Bill Currie
e7a6ad981d take care of repeated output for begin as well as say and say team. As this
list is likely to keep growing, I've re-written SV_ExecuteUserCommand to check
a flag in the user command entry to see wheter output should be redirected or
not. Also, the ucmds table is now qsorted on init and bsearched in
SV_ExecuteUserCommand for both speed and code cleanliness.
2001-01-08 06:23:10 +00:00
Bill Currie
d143410ecd cd_linux.c:
fix silly #include booboo (Thanks, Scottie Shore)
gl_sky_clip.c:
	bring in brighness the right way
2001-01-08 03:16:25 +00:00
Bill Currie
dd37b164e6 skys are no longer brighted with brightness (they saturate way too fast) 2001-01-07 12:19:27 +00:00
Bill Currie
73d26a4e32 rework PF_stuffcmd so it can't lose chars 2001-01-07 12:15:38 +00:00
Bill Currie
8723fde566 add a tab to the beginning of the logged rcon command 2001-01-07 12:07:08 +00:00
Dabb
127b5e4610 Added GL_SHARED_TEXTURE_PALETTE_EXT. 2001-01-06 08:12:42 +00:00
Dabb
c621eef621 Added glext thingy. 2001-01-06 08:09:29 +00:00
Jeff Teunissen
f0d150104e Recover gracefully from TF server cycling problem that sometimes doesn't
send the new map name, resulting in a crash. We now disconnect and go back
to console.
2001-01-06 08:03:14 +00:00
Jeff Teunissen
61cfc6a5db Whitespace, lose a != NULL 2001-01-06 07:52:22 +00:00
Bill Currie
a71f589c77 viewable nearest loc support (sw and gl)
(r_drawentities 0 to turn on)

(from WildCode)
2001-01-06 07:32:53 +00:00
Jeff Teunissen
fc005fc215 Cleanup of extensions, they are no longer defined in glquake.h. In
addition, removed support (for now) for SGIS and EXT multitexture. It
allowed me to enhance support for ARB multitexture, which is better anyway
(especially for Radeon, but that won't get special support yet until we
need a third texture pass).

Updated the Unix 8-bit GL code to be more like the Windows version, which
may work better. It still defaults off, because many drivers have bugs in
their handling of the shared texture palette extension.
2001-01-06 07:29:17 +00:00
Bill Currie
cc8d6c5827 r_drawentities bug in sw fix
(from WildCode)
2001-01-06 07:26:38 +00:00
Bill Currie
4eef82f08a locs_search created for use by locs_moveloc, locs_delloc, locs_editloc
locs_moveloc created for moving nearest location marker
editloc seperated from locs_delloc and placed into locs_edit
locs_delloc cleaned up

Chris Ison
2001-01-06 07:24:44 +00:00
Jeff Teunissen
20784c33fd Include qtypes.h, caused a problem here 2001-01-06 07:21:52 +00:00
Bill Currie
a91a554830 don't redirect for the say command 2001-01-06 07:15:42 +00:00
Bill Currie
544b4fa431 sv_phs doc fix from Misty 2001-01-06 06:50:29 +00:00
Bill Currie
9cd130ec69 non-cvs trees would not make after configure using ./configure && make due to
the last command returning non-zero. Also, check for CVS in $srcdir rather than
.
2001-01-06 04:19:20 +00:00
Bill Currie
8706ada7c6 some compile fixes for vc (hopefully) 2001-01-05 21:10:41 +00:00
Bill Currie
451afbd488 various printf, Sys_Printf, Con_Printf cleanups. Con_Printf now ALWAYS prints
to consol/logfile whether output is recirected or not. Also, Con_Printf will
not print the time stamp if the last char of the previous print wasn't \n
2001-01-05 19:52:50 +00:00
Dabb
3b0d17acc4 pr_cmds -> sv_pr_cmds 2001-01-05 16:37:30 +00:00
Dabb
1fed0a6664 Nuked some leftovers from Havoc. 2001-01-05 16:31:06 +00:00
Dabb
9ac296eec2 Added more ""instructions"" for mingw. 2001-01-05 16:10:04 +00:00
Dabb
a8c5bf0812 Added #define ZERO_ARRAY_LENGTH 2001-01-05 15:25:20 +00:00
Dabb
5ef57c14e4 Added hash.c 2001-01-05 15:24:38 +00:00
Bill Currie
084bfea79c no longer needed and it died a while back anyway 2001-01-05 00:25:11 +00:00
Bill Currie
dd5363cdb5 commands and aliases now use hash tables 2001-01-04 20:51:35 +00:00
Ragnvald Maartmann-Moe IV
57b02fad06 CodingStyle. 2001-01-04 20:43:36 +00:00
Ragnvald Maartmann-Moe IV
9099a7175e Whitespace, and header sort. 2001-01-04 19:57:26 +00:00
Bill Currie
68dfbd6729 forgot to add hash.h for make dist 2001-01-04 19:11:18 +00:00
Bill Currie
381f5b6df4 cvars and cvar alias now use a hash table for lookups. commands and aliases
coming soon :)
2001-01-04 19:10:38 +00:00
Bill Currie
365ece328b hopefully fix some mingw compilation issues 2001-01-04 18:38:05 +00:00
Bill Currie
e2798548a8 make mingw compatable 2001-01-04 18:25:57 +00:00
Bill Currie
8b78d845df add sv_pr_cmds.h to extra-dist 2001-01-04 15:46:00 +00:00
Bill Currie
77970ba4d2 replace face related % and / with table lookups. gives almost 50% speedup in
set_vertex (but it's not called that often) and 1/15 speedup in
R_DrawSkyBoxPoly
2001-01-04 06:24:18 +00:00
Bill Currie
c3a0e96c46 forgot the fscking header file, didn't I? 2001-01-04 05:59:51 +00:00
Bill Currie
81620d5245 fix a crash in progs code caused by a bad prototype 2001-01-04 05:44:53 +00:00
Ragnvald Maartmann-Moe IV
488e415b09 Correct user/info slip in usage for user. 2001-01-04 03:45:47 +00:00
Bill Currie
58c99af5a0 add a flag for CVAR_ROM 2001-01-03 17:09:14 +00:00
Dabb
bf1f6deabf Added missing file. 2001-01-03 14:36:38 +00:00
Bill Currie
e72f0b1eed clean up a fixme as recommended by WildCode 2001-01-03 07:19:01 +00:00
Bill Currie
5e86c729fa now progs and server really are separated :) 2001-01-03 07:08:28 +00:00
Bill Currie
0192ed40c3 the progs engine and the server are now completely independent paving the way
for CSQC.
2001-01-03 05:54:35 +00:00
Bill Currie
6a52b0460c fix some silly typoes and ommissions (thanks, Scottie) 2001-01-03 05:24:00 +00:00
Bill Currie
c746a0fc51 correct the description of zombie time 2001-01-03 04:40:09 +00:00
Bill Currie
a9d8e5bbf5 add a couple of items (and a new state). Also, test loginfo :) 2001-01-03 00:23:32 +00:00
Anton E. Gavrilov
e1e964d446 Add the missing \n in ClientReliableWrite_String (cl, "cmd snap"); 2001-01-02 22:58:32 +00:00
Bill Currie
8e0d495625 include unistd.h 2001-01-02 16:18:08 +00:00
Bill Currie
2debf6f669 now only svs is reverenced where it shouldn't be, and that's to set info
strings (skybox and *progs). skybox is easy to take care of (aditional parse
functions), but I haven't yet decided what to do with *progs. Also, progs code
needs a bit of a cleanup, but that will come later.
2001-01-02 03:22:46 +00:00
Bill Currie
ff89f60c74 move the final command line stuff to AFTER all the subsystems have been
initialised.
2001-01-01 18:00:06 +00:00
Dabb
b439951184 Win32 sound code cleanup - phase 2.
Removal of lpVtbl-> for the sake of readability.
2001-01-01 14:16:17 +00:00
Bill Currie
662674aaef when cvarlist has ANY parameters, it will display the descriptions of the cvars 2000-12-31 22:06:00 +00:00
Dabb
d4ccdbbdc9 Added some compile instructions for mingw users. 2000-12-31 19:27:18 +00:00
Dabb
709118ef0a Makefile for win32 MINGW users. Not fully finished yet, MGL doesnt work.
Preferred method will be using autoconf & automake with ./configure
but that requires single-hosting Mingw which is bit complicated. You can
also use CYGWIN to compile.
2000-12-31 19:08:10 +00:00
Bill Currie
bca9a6eb67 use MSG_WriteString instead of SZ_Print 2000-12-31 18:47:29 +00:00
Bill Currie
ad17c35143 forgot to fix these 2000-12-31 18:20:51 +00:00
Dabb
32910a9385 Cleanup - removed some commented out stuff. 2000-12-31 18:20:24 +00:00
Dabb
587ed5cc3f Lockbuffer, return null when fails. 2000-12-31 15:09:07 +00:00
Dabb
5ba9c66816 Nuked unused "texture_mode" - probably leftovers from old stuffs. 2000-12-31 13:59:19 +00:00
Dabb
d76c72a169 More cleanups, nothing major. 2000-12-31 13:51:31 +00:00
Dabb
edec7bf2d4 Added sv_progs.c 2000-12-31 09:06:13 +00:00
Dabb
22d2cce11f Added " characters to multiline cvar descriptions to avoid compilation
probs and extra whitespaces in resulting help.
2000-12-31 09:05:25 +00:00
Bill Currie
b6c832d900 while not 100% complete (sv is still referred to as well as r_skyname), the
progs engine no longer refers to any global vars. This alows for multiple progs
being loaded (NOTE: NOT multiple mods, but (eg) for various protocol
extensions) and, once the last couple of issues are taken care of, CSQC.
2000-12-31 07:43:09 +00:00
Bill Currie
76a11bd74a cvar doc patches from Misty 2000-12-31 04:46:04 +00:00
Ragnvald Maartmann-Moe IV
cef1be9646 Make multipliers consistent for mouse motion. One part was using -sdl client version, other -sgl. Now both use -sgl. Whee... 2000-12-30 20:12:34 +00:00
Dabb
0348d7c870 Nuked #include <commctrl.h> 2000-12-30 19:23:56 +00:00
Dabb
e91739410d Fixed compile error after Despair cleanups ;-) 2000-12-30 19:14:54 +00:00
Ragnvald Maartmann-Moe IV
35b8c3f79c Minor include sorting/cleanup. 2000-12-30 19:05:34 +00:00
Dabb
1705fbe0a0 Mingw compile fix. 2000-12-30 18:46:10 +00:00
Dabb
2bd3c73d0c Added HAVE_STRING_H 2000-12-30 18:45:03 +00:00
Ragnvald Maartmann-Moe IV
986a610860 Make ifdef's more consistent (and follow CodingStyle), HAVE_* cleanups, make -ggi target compile again, little whitespace, and sorted includes. 2000-12-30 18:26:29 +00:00
Dabb
1ad52d2e98 Small .asm changes. 2000-12-30 14:34:01 +00:00
Dabb
ed7e9b001f Some more defs. 2000-12-30 11:48:54 +00:00
Dabb
58a4575aeb Finally added asms, I forgot to do it before :) 2000-12-30 11:45:28 +00:00
Dabb
ff2658dacd Added HAVE_NETINET_IN_H 2000-12-30 11:20:36 +00:00
Dabb
8415879527 Oops, forgot IN_Command 2000-12-30 11:17:23 +00:00
Dabb
fcdc8912d1 Added joy_win.c. 2000-12-30 10:58:42 +00:00
Dabb
bcfa8702ed Moved JOYSTICK code to joy_win.c - still needs some cleaning but works. 2000-12-30 10:56:03 +00:00
Dabb
76f78fbbf3 Now you can actually turn joyadvanced on and off while playing. 2000-12-30 10:54:45 +00:00
Bill Currie
4d1a1fb5e9 math asm needed 2000-12-30 05:53:34 +00:00
Bill Currie
1e9779f1ca die, borland, die 2000-12-30 05:40:39 +00:00
Bill Currie
886c1d10bc too early to do that :/ 2000-12-30 05:21:56 +00:00
Bill Currie
ee47b4d568 a start on a #include audit for the header files and misc fixups for win32 2000-12-30 05:18:48 +00:00
Bill Currie
e245db2d12 shouldn't have taken out the sound headers 2000-12-30 05:15:00 +00:00
Bill Currie
8eacd803fe should compile now 2000-12-30 04:52:12 +00:00
Bill Currie
5f21837c33 cleanup the includes in host.h 2000-12-30 03:23:31 +00:00
Bill Currie
5197a6443d every single system header file we currently include is now checked for 2000-12-30 03:07:57 +00:00
Bill Currie
f29ea7f1d3 fix up <> vs "" in #includes 2000-12-30 03:07:15 +00:00
Bill Currie
60fe4aea40 forgot these 2000-12-30 02:25:58 +00:00
Bill Currie
ccba39666b #include audit 2000-12-30 02:16:36 +00:00
Dabb
a9ffb0002f Joystick code for win32. Mostly contains code moved from in_win.c.
NOT FINISHED YET.
2000-12-29 20:08:43 +00:00
Dabb
1532c66198 Replaced #ifndef WIN32 with #ifdef HAVE_UNISTD_H and
HAVE_SYS_TIME_H
2000-12-29 18:52:52 +00:00
Dabb
cc0e3dfbb5 Are these uninst.h, timeb.h really needed here? 2000-12-29 16:26:35 +00:00
Dabb
1d2e83bb66 Brought back evil DirectSound hack for SDL/SGL 2000-12-29 16:20:38 +00:00
Dabb
2d4ced491e Put back #include <stdarg.h> or compile fails. 2000-12-29 16:19:23 +00:00
Dabb
3601dd5532 Bringing back Direct-X sounds for SDL/SGL.
I guess we let SDL sound support mature bit more.
2000-12-29 15:52:25 +00:00
Dabb
477bcf51b0 Win32 sound cleanups - phase1 2000-12-29 15:20:12 +00:00
Bill Currie
48f6a02a38 make the `dead sleep' optional (sys_dead_sleep: defaults to on) 2000-12-29 07:15:50 +00:00
Bill Currie
2695ec4990 helps if one groks select semantics :/ 2000-12-29 06:19:44 +00:00
Bill Currie
73980fe852 make qf-server REALY sleep when there are no clients currently connected 2000-12-29 05:32:24 +00:00
Bill Currie
c71fc78360 it was decided the menu code should return until release. here it is with the
gettimeofday -> Sys_DoubleTime change (though I'm having some operational
issues (non-critial) with the server list).
2000-12-29 03:14:53 +00:00
Bill Currie
005dbaa83f white space 2000-12-29 01:28:22 +00:00
Jeff Teunissen
977c10c2f2 Change format of --with-clients= parameters. Used to be
[example] --with-clients="3dfx glx svga", it's now
--with-clients=3dfx,glx,svga
2000-12-28 23:26:45 +00:00
Jeff Teunissen
f9fcd66129 voids 2000-12-28 09:33:49 +00:00
Jeff Teunissen
d3d32986bb shrink the heap back down to 8MB on Win32 -s*l 2000-12-28 09:33:16 +00:00
Jeff Teunissen
300910698c more void cleanup 2000-12-28 09:32:02 +00:00
Jeff Teunissen
fe2f79c5ef Whitespace 2000-12-28 09:31:22 +00:00
Jeff Teunissen
6081ed15a7 more () -> (void) for function defs 2000-12-28 09:30:32 +00:00
Jeff Teunissen
8c9e535247 s/()/(void)/g 2000-12-28 09:29:38 +00:00
Jeff Teunissen
bc9518c9a5 whitespace 2000-12-28 09:27:30 +00:00
Jeff Teunissen
52cc1fa218 Whitespace, some optimizations 2000-12-28 09:26:00 +00:00
Jeff Teunissen
893a8ba827 The GL version of the clock rewrite -- also some whitespace 2000-12-28 07:49:42 +00:00
Jeff Teunissen
37304217c1 Whitespace, some function name changes 2000-12-28 07:46:40 +00:00
Jeff Teunissen
c6a22c8a88 whitespace 2000-12-28 07:44:45 +00:00
Jeff Teunissen
66bd913f7d Whitespace 2000-12-28 07:28:23 +00:00
Bill Currie
80db620524 What's GameSpy? 2000-12-28 07:18:11 +00:00
Jeff Teunissen
3783f9b562 Rewrite of the clock code. 2000-12-28 07:09:04 +00:00
Jeff Teunissen
f9022537ee Whitespace. 2000-12-28 06:58:56 +00:00
Jeff Teunissen
579434b6df Add 22050 to the list of sound rates to attempt 2000-12-28 06:54:16 +00:00
Jeff Teunissen
2fdeaf7aaa whitespace. 2000-12-28 06:49:26 +00:00
Jeff Teunissen
c1e0cf7b8e Use RGB palettes for shared palette extension instead of RGBA. 2000-12-28 06:45:19 +00:00
Bill Currie
f453d2f1b8 clean up the #includes of the progs files 2000-12-28 05:18:38 +00:00
Dabb
e52100982b Merc ripped off bit too much - in-game keys stopped working. Fixed. 2000-12-27 17:01:25 +00:00
Dabb
0e3072728f Mingw support for ppl without configure :-) 2000-12-27 15:18:27 +00:00
Ragnvald Maartmann-Moe IV
d173f0f9dd More menu.c cruft chasing. 2000-12-26 21:29:56 +00:00
Ragnvald Maartmann-Moe IV
23560a26be Remove cruft leftover from menu removal. 2000-12-26 21:00:09 +00:00
Ragnvald Maartmann-Moe IV
ccb1bfd3c4 remove obsolete menu cruft. 2000-12-26 20:58:18 +00:00
Dabb
41d03f34b0 Added some mingw stuffs 2000-12-26 17:58:06 +00:00
Zephaniah E. Hull
01238243c1 Due to snax's ping stuff not compiling under windows, I did a little
cleaning.

Specificly, the entire menu system has been completely and utterly
removed.

Flame me AFTER writing a replacement. <=:]
2000-12-26 17:41:26 +00:00
Bill Currie
9f6b0bf758 put my sky alpha trick into a safe place. currently disabled because while it
works, it's not the right place.
2000-12-25 03:38:48 +00:00
Brian Koropoff
0210465303 This update changes the server list layout and adds server pinging and querying support. Use 'p' to update pings, 's' to update status information, and 'u' to do both at once. Feel free to abuse this and report any bugs that you find. 2000-12-25 02:36:36 +00:00
Bill Currie
e537c27a70 fix a long standing (but only recently discovered) but with INFO cvars (USER
and SERVER) where they weren't being put into the info string if they were
never modified from the default.
2000-12-24 23:39:43 +00:00
Brian Koropoff
382fe8feff A quick hack so that inserting in the server list will use the current server's ip and description if connected. 2000-12-24 05:37:24 +00:00
Bill Currie
86222ca684 don't unroll the resaple loops manually. causes segs for < 4 pixel output
textures (now 2x2 and 1x1 will work. 0x0 is just ignored)
2000-12-24 04:59:15 +00:00
Bill Currie
de79e1433d don't resample a texture when the output size is 0xN or Nx0 2000-12-24 04:43:22 +00:00
Brian Koropoff
6e345718c4 Fixed a segfault with null textures by ignoring them in GL_Upload32 and removed a 'magic number' as well. 2000-12-23 00:09:42 +00:00
Zephaniah E. Hull
22ba7f9f28 The GL_EXT_shared_texture_palette seems like an idea which is
/almost/ a good idea, but seems to be severely broken with many
drivers, as such it is disabled.

It should be noted, that a palette object extension as suggested by
the GL_EXT_shared_texture_palette spec might be a very good idea in
general.
2000-12-22 09:22:54 +00:00
Ragnvald Maartmann-Moe IV
b61586b9b4 Reenable own muzzle flashblend for gl_flashblend users. Anyone have any idea _why_ some madman disabled it? *grmbl* :) 2000-12-22 05:26:42 +00:00
Bill Currie
8b10142de0 fix the broken torches 2000-12-22 05:23:53 +00:00
Bill Currie
6f30e5ee26 dlights now work for BOTH software AND gl :) 2000-12-22 04:36:28 +00:00
Bill Currie
bf0f29bdcd cl_ents.c:
fix sporadic rocket dlights in software
cl_parse.c:
	simpify CL_ParseStatic
cl_tent.c:
	misc cleanups
2000-12-21 20:43:19 +00:00
Bill Currie
b52f1baf96 the spirits shall no longer flee from the bodies of the dead :) 2000-12-21 05:49:14 +00:00
Bill Currie
933f9a1054 add sys_x86.S and ver_check.c to the project (I hope I didn't `corrupt' the
dsp)
2000-12-20 23:38:36 +00:00
Bill Currie
130a99f6f4 undo some of indent's drainbamage 2000-12-20 22:03:49 +00:00
Ragnvald Maartmann-Moe IV
87b5defa64 Correct GL_4_BYTES to GLuint. Also some whitespace/comment cleanups 2000-12-20 21:59:56 +00:00
Bill Currie
8d579b7a0b fix warnings when zlib is not available 2000-12-20 21:31:09 +00:00
Ragnvald Maartmann-Moe IV
1c235242f9 Fix for memory waste noticed by LordHavoc: 4*sizeof(unsigned int) (4* needed size!) to GL_4_BYTES (nice portable GL types, we should use them everywhere!) 2000-12-20 19:39:59 +00:00
Dabb
dae1954eaf "Unused" code for startup dialog now has #ifdef SPLASH_SCREEN. 2000-12-20 18:18:27 +00:00
Dabb
20f0e102ce More win32 cleanups:
"Unused" code for startup dialog now has #ifdef SPLASH_SCREEN.
Removed extra variables which were not used.
2000-12-20 18:18:04 +00:00
Bill Currie
d2e9339f00 this should fix the unknown error on w2k 2000-12-20 17:16:56 +00:00
Dabb
4822383a94 Minor cleanup (dibwindow) and some cosmetic changes :) 2000-12-20 16:42:51 +00:00
Bill Currie
f4c300676f forgot to commit this 2000-12-20 06:56:08 +00:00
Bill Currie
1634c57339 lerp torches. the fast torches (the more common ones), look a bit odd due to
texturing issues. not sure what's wrong there.
2000-12-20 06:50:33 +00:00
Bill Currie
6925190ffd fix a nail related segfault caused by the re-write 2000-12-20 06:43:04 +00:00
Bill Currie
dd3ea544ce cl_visedict re-write. lerping works MUCH better now, and lerping of torches
should be possible. client should also be microscopicly faster.
2000-12-20 06:18:55 +00:00
Bill Currie
3669d78d1b white space 2000-12-19 22:48:16 +00:00
Bill Currie
5de89ed5f1 add a $Id tag 2000-12-19 21:39:20 +00:00
Bill Currie
24a76ef439 don't seek while backing up over demotime. gzipped demos no longer slow down as
the demo progresses (this will probably also be good for eventual dzip
support).
2000-12-19 20:33:06 +00:00
Bill Currie
0e268f9ca7 This is what I have done with this patch
Added editloc to change the description of the closest location
Added delloc to remove closest location
Added dumploc to place locs in memory into a .loc file (required for
editloc and delloc)
Added zdumploc to place locs in memory into a .loc.gz file (requred for
markloc, editloc and delloc)
Added loc.gz saving support to markloc, editloc and delloc (via
zdumploc)

Altered locs_load to use _Com_FOpenFile instead of Com_FOpenFile
Fixed potentual bug in locs_markloc
Fixed bug in Team_ParseSay that cause wierd behaviour if $ or % was last
charactor in line.

patch created from a development tree via diff -ur ../newtree ./
newtree and development tree were up-to-date at time of creating the
patch


Please let me know what you change so I may learn from it

Chris Ison (WildCode)
2000-12-19 19:47:15 +00:00
Bill Currie
5163916a4d forgot to remove j 2000-12-19 19:46:03 +00:00
Bill Currie
7816365252 remove an inner loop for readabilities sake 2000-12-19 19:43:22 +00:00
Ragnvald Maartmann-Moe IV
ea76f45bc6 Merge phase separated mixing from nuq. Still has bugs, but defaults off. 2000-12-19 19:02:37 +00:00
Dabb
36ddd0670e gl_efrag -> r_efrag. 2000-12-19 15:15:26 +00:00
Bill Currie
1a84d5e93b turns out gl_refrag.c just isn't really needed 2000-12-19 05:42:15 +00:00
Bill Currie
151c487fea remove commented out error code. it only confused the reader anyway 2000-12-19 03:29:26 +00:00
Bill Currie
74d8c81457 fix a silly gzio bug 2000-12-19 03:21:12 +00:00
Jeff Teunissen
2f8f1b39b7 Add the use of XQueryExtension() to the DGA and VidMode checks. The game
should no longer crash if the VidMode or DGA extensions are not present at
runtime.
2000-12-19 02:42:26 +00:00
Bill Currie
9f0035bdf9 make sure the server doesn't seg if an info cvar is set early 2000-12-19 00:57:30 +00:00
Jeff Teunissen
fea862d434 Fix the problem with water and sprites acting funny with lerping
on...stupid, stupid bug.
2000-12-18 10:53:38 +00:00
Bill Currie
8c90357234 subdivided skys are back. it seems some cards don't like big polys.
gl_sky_divide (default 1) controls this.
2000-12-17 22:07:06 +00:00
Bill Currie
db7450c11d finally, the stupid sw alias model bug is fixed! There were several possible
symptoms: frozen torches, warped models, crashes, amonst others.
2000-12-17 04:27:36 +00:00
Bill Currie
316b74eddc fix command line parsing when - is embeded in an arg (eg +gamedir artifact-rjs) 2000-12-15 23:24:22 +00:00
Anton E. Gavrilov
32910a1b5f This fixes an ugly bug caused by a bug in the ugly netquake step up smoothing code :) 2000-12-15 12:18:54 +00:00
Jeff Teunissen
ea2a5c6f3e Fix up a silly bug in interpolation that made certain players get
"stuck" at a particular frame.
2000-12-15 11:02:29 +00:00
Bill Currie
b6749ecc0f write out meshed models using gzip compression (files will NOT have the .gz
extension, but the unix file command (and peering at the file when you know
what to look for) verifies that they are gzip files. This should save a little
space (files compress by 40-80%)
2000-12-15 05:57:44 +00:00
Bill Currie
b98e19fdd6 hopefully fix the sky "/usr/local/share/games/qf" not found bug 2000-12-14 22:25:35 +00:00
Bill Currie
c3f6aa669a sv_main.c:
check sv_minqfversion->string[0] instead of value
sv_user.c:
	white space
2000-12-14 07:46:17 +00:00
Bill Currie
a7612bfd0d seems to work now :) probably needs harder testing 2000-12-13 23:20:38 +00:00
Dabb
3bbb9ec7d4 Instructions about basic DoS tone-down in Quakeforge servers. 2000-12-13 22:52:15 +00:00
Bill Currie
cee0850c35 doesn't really work after all. Seems to kill the channel once XRUNs occur :( 2000-12-13 18:55:58 +00:00
Bill Currie
d82f4f6b56 now it actually DOES work for me :/ 2000-12-13 17:07:02 +00:00
Bill Currie
9b99313852 works again (for me :/) 2000-12-13 16:38:26 +00:00
Jeff Teunissen
0e40b21608 nuke gl_cshiftpercent 2000-12-13 09:03:36 +00:00
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
Bill Currie
bf066ac5e6 now has problems with setting the parameters 2000-12-12 23:38:53 +00:00
Bill Currie
c4f186d0ec fix an error message 2000-12-12 19:54:58 +00:00
Bill Currie
2ba8191ff2 compiles with latest alsa cvs, but doesn't work yet :/ 2000-12-12 19:41:06 +00:00
Bill Currie
5c82660a2c configure.in:
enable -mpentiumpro for i686
source/cl_ents.c:
	a tiny abount of whites;ace/style
2000-12-12 07:18:40 +00:00
Bill Currie
c765120903 holy water has been sprinkled on the dancing corpses. they dance no more
also a little whitespace
2000-12-12 06:17:02 +00:00
Jeff Teunissen
0c662b0e6a cl_ents.c: misc. tweaks to CL_ParsePacketEntities ()
rest: Myriad stuff.

r_netgraph now recognizes and abides by the cl_hudswap Cvar.
show_fps and show_time are on the same line now, and stay out of each
others' way.

New Draw_ function: Draw_TextBox(). It's like M_DrawTextBox(), except it
doesn't screw around with the screen coordinates.
2000-12-12 02:46:46 +00:00
Bill Currie
d0b1fc7816 remove un-needed #define _attribute__(x) (there's one in gcc_attr.h) 2000-12-11 19:40:34 +00:00
Forest Hale
2a2b468090 WIN32 now uses %WINDIR% as the home dir (this basically means c:\windows\quakeforge.conf) 2000-12-11 19:14:51 +00:00
Jeff Teunissen
3b6b929841 Okay, that's it. Model animation interpolation is as done as it's going to
get with the QW protocol.
2000-12-11 18:59:55 +00:00
Jeff Teunissen
b7bb19e57a minor opt in the #define 2000-12-11 18:20:51 +00:00
Bill Currie
54b0dc47ed remove -basedir again 2000-12-11 17:21:05 +00:00
Jeff Teunissen
1b139d3378 Fix Dabb's fix, which killed every compiler that wasn't Borland. :) 2000-12-11 16:52:07 +00:00
Dabb
ac50b14d36 #pragma pack for Borland C++ 2000-12-11 15:37:48 +00:00
Dabb
62ec1ccdc0 Packet logging support for debugging and educational purposes.
Experimental. Note: All parts are not YET transferred from quakeforge tree.
Missing detailed and nonconnection packet parsing.
2000-12-11 15:35:01 +00:00
Dabb
c3a0ab3aa1 Packet logging support for debugging and educational purposes. 2000-12-11 15:30:52 +00:00
Dabb
8240b0f05b Added pcx.c 2000-12-11 15:29:49 +00:00
Forest Hale
ac3c854708 struct packing for MSVC 2000-12-11 14:59:01 +00:00
Forest Hale
954accc1c4 must... have... basedir... to... play... 2000-12-11 14:47:33 +00:00
Forest Hale
78360393be removed unused BASEDIR define 2000-12-11 14:00:00 +00:00
Jeff Teunissen
2bd2e8e403 Fix up the interpolation case where it made dead bodies dance and fall
to the floor upon becoming visible. Quite funny, actually :)
2000-12-11 11:12:48 +00:00
Jeff Teunissen
d8e1f27d4b pr_edict.c: whitespace
rest: Implement model animation interpolation for alias models. Trying to
implement this has been an annoyance for some time, but IT WORKS NOW. set
gl_lerp_anims to zero to disable.
2000-12-11 09:59:27 +00:00
Jeff Teunissen
e886b0566d Add support for SDL CD audio, rename --enable-sdlsound to
--enable-sdl-audio
2000-12-11 09:50:26 +00:00
Jeff Teunissen
5023108000 remove "Error: " from no-mmap message 2000-12-11 09:46:58 +00:00
Bill Currie
0bd4b8d288 include/tga.h source/tga.c:
new function WriteTGAfile. Also, put in the tga header structure.
	NOTE: this is currently broken for non gcc ocmilers. you will get a
	#error message.
include/quakefs.h source/quakefs.c:
	new function COM_WriteBuffers. Like COM_WriteFile, but scatter/gather
	style.
source/gl_screen.c source/screen.c:
	misc cleanups. differences are getting fewer. should be mostly
	mergable soon (minus truly sw/gl specific code).
2000-12-11 06:38:58 +00:00
Bill Currie
d1ef9bbc3f fix r_netgraph 1 fix 2000-12-11 05:39:06 +00:00
Bill Currie
a4f03b4c12 move WritePCXfile to pcx.c, move the screenshot filname creation code to
COM_NextFilename in quakefs.c and fix up some remote screenshot snafus
2000-12-11 03:30:32 +00:00
Bill Currie
10e2d388db remove all pure whitepsace diffs between gl_screen.c and screen.c 2000-12-10 23:14:25 +00:00
Ragnvald Maartmann-Moe IV
6569283738 Undo the horrible mistake of paying attention to 4Front's documentation. 2000-12-10 10:56:49 +00:00
Dabb
c8ee33715b Include winquake.h must be BEFORE include gl/gl.h or compile WILL fail
with win32.
2000-12-10 10:54:04 +00:00
Dabb
d5b4938803 Added qfgl_ext.c 2000-12-10 10:53:13 +00:00
Bill Currie
2ed7b7106d remove gratuitous differences between gl_screen.c and screen.c 2000-12-09 23:26:27 +00:00
Jeff Teunissen
f6fbe8df16 SDL sound support. 2000-12-09 20:46:05 +00:00
Jeff Teunissen
808b676eaa Fix up make dist 2000-12-09 18:48:11 +00:00
Ragnvald Maartmann-Moe IV
09354ee7ca Rename of cd_audio.c to cd_dos.c. (cvs needs a move command!) 2000-12-09 18:39:34 +00:00
Ragnvald Maartmann-Moe IV
c2a69bfec3 Fixed /dev/dsp open to only open with write. 2000-12-09 18:34:28 +00:00
Bill Currie
1b82a5b018 finally found the black water bug!!! forgot to set the color back to the
lighting color
2000-12-09 05:37:25 +00:00
Jeff Teunissen
4297432d7e [grumble] 2000-12-08 11:16:07 +00:00
Jeff Teunissen
b21b9ce163 Include qfgl_ext.h in 3Dfx... 2000-12-08 11:06:00 +00:00
Jeff Teunissen
329d51b4e8 context_x11.h -- didn't mean to commit my local changes
rest: Apply patches from Michael Weiser <michael@weiser.saale-net.de>
2000-12-08 07:46:40 +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
Jeff Teunissen
b62d75a774 Some whitespace, removed the timekick detection for slow-mo clients. There
are way too many legitimate ways to get a too-slow time, unfortunately.
2000-12-08 06:14:26 +00:00
Jeff Teunissen
c74861ceb5 Remove unnecessary HAVE_DLOPEN check 2000-12-08 06:10:50 +00:00
Jeff Teunissen
9aa60bc5f9 Nuke SDL/SDL.h include, replace with SDL.h 2000-12-08 04:48:47 +00:00
Jeff Teunissen
6f9f734bd5 Add HAVE_GLIDE define, lose some unnecessary ones. 2000-12-08 04:46:31 +00:00
Jeff Teunissen
47ffcc9ffe Make all bootstrap commands dependant on the success of the previous. 2000-12-08 04:45:58 +00:00
Jeff Teunissen
7744fcd560 Various and sundry improvements to configure. 2000-12-08 04:45:04 +00:00
Jeff Teunissen
1e604c6c33 Compile fixes, some whitespace. This file should be nuked, but I won't do
it until the normal system-level support for Win32 can support the SDL
targets.
2000-12-08 04:42:21 +00:00
Jeff Teunissen
d3da228aef Largely whitespace, some opts, reverse order in which command-line parms
and environment variables are used. Command-line should ALWAYS override
the environment.
2000-12-08 04:40:02 +00:00
Jeff Teunissen
ebc281c279 Use QFGL on 3Dfx. 2000-12-08 04:36:23 +00:00
Bill Currie
a356859bb2 use UTC dates when generating the changelog 2000-12-07 20:51:34 +00:00
Bill Currie
600e6dac57 remove possible trigraphs (eww) 2000-12-07 17:08:38 +00:00
Bill Currie
9f924b3a9e add includes lordhavoc forgot 2000-12-07 11:34:18 +00:00
Bill Currie
4ee0be8f91 first step on the way to merged gl_screen.c and screen.c 2000-12-07 11:12:19 +00:00
Forest Hale
be6e940417 updated .lit loader, forgot to commit this a while back 2000-12-07 08:59:56 +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
Bill Currie
02f14aa326 style changes 2000-12-06 19:45:22 +00:00
Bill Currie
0974d76447 d'oh, forgot to remove the surrounding if(pr_boundscheck) :/ 2000-12-06 18:51:54 +00:00
Bill Currie
56656df96a remove the duplicated progs engine. That would have been a maintainence
nightmare.
2000-12-06 18:41:21 +00:00
Dabb
bb2928830c Added alternative download sites for borland complier & service packs. 2000-12-06 18:33:55 +00:00
Dabb
e8cf0e53f4 First try load qwprogs.dat, then try progs.dat and then fail. 2000-12-06 18:27:23 +00:00
Dabb
8bd6cf15c2 Added #include "host.h" 2000-12-06 13:54:49 +00:00
Dabb
a7b6d2df88 Brought over pr_exec.c and pals from darkplaces.
Improvements include bounds checking, 40% less instructions per
opcode, support for 65535 globals. Might even break something.
2000-12-06 13:23:44 +00:00
Dabb
0dd34a3e20 Added include host.h 2000-12-05 20:29:15 +00:00
Jeff Teunissen
ab4f4f7d2b Update style guidelines 2000-12-05 16:59:49 +00:00
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
2652e77b5f Update style guide. 2000-12-05 07:07:55 +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
b5ff8b5c6c re-arrange things a bit, make some items clearer and correct some spelling
errors
2000-12-05 01:30:13 +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
5910c51bbe Replaced my crap with Seth's instructions. 2000-12-03 11:06:09 +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
bacfb94db0 a slight update 2000-12-02 19:57:23 +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
2f02dffe41 this shows the possible cases for clipping a polygon against a cube (from the
inside). Hopefully, more skybox clipping documentation will be forthcoming :)
2000-12-02 06:14:10 +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
03ca6e6da3 Logos for the X11 clients. 2000-11-29 05:00:57 +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
ba1b5f8974 Added Borland C++ Builder 5 to list of supported compilers. 2000-11-28 18:02:03 +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
462138e983 More fun missed by Havoc, SV_Init(void) 2000-11-27 15:30:09 +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
Dabb
186bba720c Removed Host_Init quakeparam. Havoc missed this one ;-) 2000-11-27 15:25:00 +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
18a411916b no longer used (or was it ever used in the first place?) 2000-11-27 11:58:17 +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
ff636cb1bd Fix configure notice. 2000-11-25 01:05:07 +00:00
Zephaniah E. Hull
31ac0a7091 Added a warning to the configure.in about this being a devel tree. 2000-11-24 05:08:33 +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
3c45ae69b2 add Makefile and Makefile.in 2000-11-16 20:56:57 +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
Dabb
0dfdd65020 Added instructions how to get latest Borland C++ complier service packs. 2000-11-16 15:00:27 +00:00
Jeff Teunissen
f5756a019e Add debian dir to the dist, fix up bootstrap 2000-11-16 08:31:12 +00:00
Dabb
8ad75ddf5e Kinda updated instructions.. 2000-11-15 19:38:53 +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
Dabb
cae9df7689 MGRAPH_H def moved to makefile 2000-11-15 14:40:58 +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
Bill Currie
f971ce91fe fix the double wheel events 2000-11-15 04:01:27 +00:00
Bill Currie
eadf434f17 fix the double mouse wheel events 2000-11-15 03:58:11 +00:00
Bill Currie
39635d52a2 whitespace 2000-11-15 00:35:30 +00:00
Jeff Teunissen
e5641c148b Yaay, Debian package updates. 2000-11-14 21:45:34 +00:00
Bill Currie
24477b651a white space cleanup 2000-11-14 16:16:07 +00:00
Bill Currie
d8b795b6d2 bah, not working yet, but I don't feel like losing my thoughts :/ Doesn't crash
at least :)
2000-11-14 06:29:39 +00:00
Bill Currie
b8dbaafa89 fix all texturing/clipping problems for currently supported cases. Now to sort
out the case where a polygon edge goes all the way across a cube face. There's
also the case where an egde terminates on adjoining faces, but spans a third
(though this is currently rare, but possible)
2000-11-14 04:56:20 +00:00
Bill Currie
bf184744f8 make sv fp rounding same as cl. doesn't seem to help with obtuse angles, but
it doesn't seem to hurt, either.
2000-11-13 21:10:18 +00:00
Bill Currie
1ed9378fa4 this might work a little better :/ I hate duplicate code, but making the
enter/leave face functions use common code would be a pain.
2000-11-13 19:52:32 +00:00
Bill Currie
05f66b4c66 ok, this should fix the skybox edges 2000-11-13 19:38:56 +00:00
Bill Currie
862caa1012 move the edge rendering code out of the poly rendering code to esure all lines
have a chance at getting drawn. Also, forgot to re-set the enter/leave fields.
2000-11-13 18:20:32 +00:00
Bill Currie
d251d03252 this should take care of the case of a cube vertex being enclosed by a sky
polygon. If not, oh well, I won't know till tonight :/ (at least it compiles)
2000-11-13 17:07:57 +00:00
Bill Currie
602912aeb2 forgot to make sure it compiles before committing. compiles now, but uses an
unitted var (though gcc misses that)
2000-11-13 16:10:34 +00:00
Bill Currie
14d5c349fd not there yet. the lines are debug info :) 2000-11-13 01:43:14 +00:00
Bill Currie
2b96ea275e bind with the correct sky textures. no more dizzyness :) 2000-11-12 16:55:05 +00:00
Bill Currie
c9cb8538cc getting closer. bings go outside of glBegin, not in :/. also, much of my
find_intersect was a tad borked. turns out no problems in gl_rsurf :) Now just
to take care of the wierder intersection cases.
2000-11-11 06:23:48 +00:00
Bill Currie
bc84e45835 this *should* fix the wonky clipping in gl_sky_clip 1 with skybox. won't fix
wonky texturing or wonky sky rendering yet :(. anyway, can't find out for
certain until I get home.
2000-11-10 21:58:00 +00:00
Bill Currie
7bd99717d2 gl_sky_clip is getting closer to working with skybox. Textures are borked (not
sure if I'm doing something wrong or if gl is having problems with the scale)
and clipping is a little wonky, but I know the reason for that:) Also, it
seems skys aren't always being drawn: probably something wrong in gl_rsurf.
2000-11-10 16:26:40 +00:00
Bill Currie
1d4c83b5bb put download status in the application name as requested by Mabus. Nifty idea,
why didn't we think of it? :)
2000-11-09 19:31:07 +00:00
Ragnvald Maartmann-Moe IV
01853a7b9b Restore missing paren. 2000-11-09 17:21:15 +00:00
Jeff Teunissen
ea2b747c73 Fix window manager hint. 2000-11-09 00:56:43 +00:00
Bill Currie
352740a194 goofed on this one 2000-11-09 00:53:18 +00:00
Bill Currie
491a357f57 rev the version number for beta5 2000-11-09 00:41:33 +00:00
Bill Currie
bf732cea77 win32 builds from make dist 2000-11-08 23:57:47 +00:00
Zephaniah E. Hull
1b4ed8cc3f When loading a .loc file check each line to see if it has '#' as the
first char, if so the line is a comment.
2000-11-08 22:55:39 +00:00
Bill Currie
9ab8833def forgot how lame blorland c was :/ 2000-11-08 16:03:58 +00:00
Bill Currie
bc06876fa8 getting there with the skybox clipping. DO NOT play with gl_sky_clip if you
have a skybox loaded unless you're prepared to work on the code :)
2000-11-08 08:25:48 +00:00
Bill Currie
f8343a2707 so long as you're using skydome, gl_sky_clip is now a usefull speadup. it just
renders the sky as black (for now)
2000-11-08 06:08:25 +00:00
Bill Currie
d31a9f73de Always use COM_CreatPath instead of Sys_mkdir 2000-11-08 06:07:03 +00:00
Bill Currie
631d5f470c fix a nasty dir creation bug. there's probably a few more such spots :/ 2000-11-08 03:13:38 +00:00
Bill Currie
26c6b9618f fix a couple of problems that came up in SGI 2000-11-07 23:43:05 +00:00
Bill Currie
2f9292f3e4 do some fixups for make dist before going beta5 :) 2000-11-07 20:15:57 +00:00
Dabb
6b52545fb0 I don't think we want to free vid.buffer under win32... 2000-11-07 19:23:28 +00:00
Dabb
d1ec2e2cac Oops... forgot to add "return false" - did it now. 2000-11-07 19:16:43 +00:00
Bill Currie
b7ea0dcf7b small ws cleanups 2000-11-07 18:15:43 +00:00
Dabb
10d9030dc9 Fix lockup bug in Win32 - cleaned up VID_Allocbuffers (copy/paste from *nix counterparts :-) 2000-11-07 18:09:20 +00:00
Jeff Teunissen
f5a77e3441 Add resources to dist 2000-11-06 03:48:52 +00:00
Jeff Teunissen
59b79d250a gl_rmain.c: Fix up brighten cvar/arg properly so it can be setrom'ed
vid.c: Get rid of the redundancy, much nicer.
quakeforge.lsm.in: Update Linux Software Map data file.
2000-11-04 08:20:20 +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
c7790511ec hopefully fix the surface cache alloc error 2000-11-03 18:29:42 +00:00
Bill Currie
46518d0229 do some alpha sorting 2000-11-03 16:55:55 +00:00
Thad Ward
57d8d38fd5 add the win32/resources dir to the include paths for vc6 2000-11-03 07:41:14 +00:00
Bill Currie
ef28d1b19f fix a bug where maplist would seg on an empty map. d'oh :/ 2000-11-02 21:14:43 +00:00
Dabb
f933bbcc32 Added include\win32\resources to include paths. 2000-11-02 19:48:25 +00:00
Dabb
81840d58c6 ICON2 -> ICON1 - LoadIcon works now for win32. 2000-11-02 19:47:33 +00:00
Dabb
1e8ff659f1 Merged two resource.h files into one. This one got whacked. 2000-11-02 19:18:13 +00:00
Dabb
408bbd6a51 Merged two resource.h files into one. 2000-11-02 19:16:57 +00:00
Dabb
88b05229bf Two times void Sys_Init(void) - removed extra. 2000-11-02 18:24:54 +00:00
Dabb
f1070f5416 Um, added Coderjoe's resources and stuff. 2000-11-02 18:17:28 +00:00
Dabb
bf1ef353c1 Um, added Coderjoe's resources and stuff. Compiles again. 2000-11-02 18:02:10 +00:00
Dabb
5e30af41b3 Added that HAVE_FNMATCH_PROTO thingy 2000-11-02 17:57:41 +00:00
Dabb
f9556db838 BC compile fix. 2000-11-02 17:53:36 +00:00
Jeff Teunissen
31c5c6079c Fix Win32 software crash (null surface cache) 2000-11-02 17:02:59 +00:00
Thad Ward
28c972a3fd get vc projects building again 2000-11-02 07:38:41 +00:00
Thad Ward
98adca1e34 add win32 icon files 2000-11-02 07:37:47 +00:00
Thad Ward
cf01a7c2f2 make gas2masm drop any "preprocessor" directives (any line where the first non-whitespace char is #) 2000-11-02 07:35:30 +00:00
Bill Currie
2fc438ca13 hopefully fix Fragman's compilation problems on Mandrake 6.1 2000-11-01 06:31:29 +00:00
Forest Hale
41a62ccfc2 Fix for insta-crash bug to do with sys_nostdout being checked before it was registered (grabbed solution from sys_unix.c) 2000-11-01 03:54:43 +00:00
Forest Hale
760c9996d4 added #include's for cl_input.h and view.h so it will now compile again 2000-11-01 03:40:05 +00:00
Zephaniah E. Hull
4aacab9013 r_skyname on the server should be CVAR_SERVERINFO, not CVAR_NONE. 2000-11-01 03:09:55 +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
Bill Currie
3a9eba4f03 ok, server now runs without segging on a cvar (with simple testing, anyway.
needs fuller bashing).
2000-10-31 05:24:34 +00:00
Bill Currie
54963bfcb4 vid_fullscreen is meant to be CVAR_ROM, not CVAR_ARCHIVE
* taniwha programs his black logo logitech wheel mouse with secret instructions
2000-10-31 04:16:20 +00:00
Bill Currie
cdedafcbf3 finally. no more undefined symbol "gzgets" :) 2000-10-30 21:16:46 +00:00
Bill Currie
47eea32832 fix the annoying white line at the bottom of the world view when viewsize is
90%. This was caused by a rounding error when converting from float to int.
Also, viewsize can now safely be changed in the console.
2000-10-30 04:10:32 +00:00
Bill Currie
5e44c303e3 fix releasing of the mouse on setting _windowed_mouse 0 2000-10-30 02:56:39 +00:00
Bill Currie
56ac383268 server now starts without segging and fix a compile error in tga.c 2000-10-30 00:05:21 +00:00
Ragnvald Maartmann-Moe IV
005daa844d Miscellaneous firefighting. Everything compiles again. 2000-10-29 22:49:18 +00:00
Bill Currie
ce700bb36c forgot the changes to glquake.h
also, my brighten cvar changes somehow got lost
2000-10-29 22:21:53 +00:00
Bill Currie
4057988e1f tree now builds again. Note: this includes some of my sky work, but so long as
gl_sky_clip is not set, it's not working won't affect you :)
2000-10-29 22:02:29 +00:00
Bill Currie
09dbb0670d seems config.h.in is needed as well 2000-10-29 21:29:46 +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
Ragnvald Maartmann-Moe IV
b0d4014885 Open CD Audio O_NONBLOCK. CD Audio now works on my system, and doesn't
spew garbage in /var/log/syslog. Whee!
2000-10-29 11:24:18 +00:00
Jeff Teunissen
091ed897ef Backport changes from beta 4.1 2000-10-29 10:28:04 +00:00
Zephaniah E. Hull
f0d92da7db Oops, still need to do physics and such on particles too close to us. 2000-10-29 09:39:38 +00:00
Thad Ward
06996ffe01 fix build errors in vid_wgl and vid_mgl 2000-10-29 08:45:37 +00:00
Dabb
26b2e9d594 win32 compile fixes 2000-10-29 08:38:43 +00:00
Dabb
aadb0d31b5 Compiles again, added files. 2000-10-29 08:20:09 +00:00
Ragnvald Maartmann-Moe IV
2f094cb344 Minor cleanup to window closing on exit. 2000-10-29 07:58:43 +00:00
Ragnvald Maartmann-Moe IV
fe73db40a0 Comment out x11_force-view_port. Doing it every frame was dropping framerate to 40% of normal on V5, and probably any hardware under DRI, as I suspect it's running into DRI/X lock contention. 2000-10-29 07:41:45 +00:00
Bill Currie
9b458ba730 make the new -brighten a cvar (ROM) as well so it can be set in the config
file. Also includes a cvar from my sky hacking, but it's harmless :)
2000-10-29 04:42:14 +00:00
Bill Currie
669648778f hopefully help Coderjoe with win32 compilation 2000-10-29 00:13:23 +00:00
Bill Currie
e9ca2db5e4 make dist now builds a working tarbal 2000-10-28 20:41:15 +00:00
Bill Currie
2070b1a5a1 re-indent 2000-10-28 20:19:36 +00:00
Bill Currie
c60c3892e5 add some missing headers 2000-10-28 20:00:42 +00:00
Bill Currie
06e50ba0c9 chop up gl_warp into gl_sky, pcx and tga. also break out pcx stuff from client.h 2000-10-28 19:58:22 +00:00
Zephaniah E. Hull
5d07b61d7a The big particle rework!
Lots of changes, more then I can cover quickly.
Things now look, different, and probally much better!

Note, SOFTWARE RENDERING IS BROKEN with this commit!
2000-10-28 08:02:08 +00:00
Jeff Teunissen
111274c12e Rev for beta 4 2000-10-28 07:35:42 +00:00
Jeff Teunissen
5bb2a9002c Change fires to a more visually-appealing red-orange color. Looks *killer*
Add -brighten arg to GL targets, to replace -gamma but still look nice.
"-brighten 2.5" brightens the palette by 2.5 times, to give a similar
effect to the brightness cvar, but without the dithering brightness
gives. This is a palette hack, which means it _can't_ be a cvar.
2000-10-28 07:11:37 +00:00
Jeff Teunissen
718544d190 Change -sdl to use 320x200 window again 2000-10-28 05:08:55 +00:00
Bill Currie
a3dbf0f9da fix the screen offset caused by moving the mouse at just the wrong moment 2000-10-28 05:08:11 +00:00
Jeff Teunissen
0ec5c00c18 whitespace, some optimizations 2000-10-28 05:05:17 +00:00
Bill Currie
decea3fd39 finally works with recent ALSA cvs 2000-10-27 19:00:33 +00:00
Bill Currie
b9ba65308b still fiddling and it still doesn't work 2000-10-27 14:38:43 +00:00
Jeff Teunissen
0630268292 white space 2000-10-27 10:17:38 +00:00
Jeff Teunissen
e678502641 Mostly whitespace 2000-10-27 10:16:18 +00:00
Jeff Teunissen
cfcfceb458 Add types to indent profile 2000-10-27 06:18:24 +00:00
Bill Currie
9f455da123 hopefully, this will compile 2000-10-27 04:04:26 +00:00
Bill Currie
426aa7ff77 use the correct include delimitiers 2000-10-27 01:50:04 +00:00
Bill Currie
2846b27f92 doesn't work yet (infact, it crashes), but I'm sick of mailing it back and forth 2000-10-27 00:08:01 +00:00
Bill Currie
caf7d73751 hopefully a little closer to compiling 2000-10-26 23:45:33 +00:00
Bill Currie
29532ecedc accidently committed this with an experimental file 2000-10-26 22:49:08 +00:00
Jeff Teunissen
5c2533248b Bring over indent profile from nuq, matching style guide 2000-10-26 20:43:09 +00:00
Jeff Teunissen
15c4d4cd29 Fix "bug" in style guide. 2000-10-26 20:41:36 +00:00
Bill Currie
baf8a494d6 fix sgl linking 2000-10-26 20:16:11 +00:00
Jeff Teunissen
76b53d780f Move the building of -sgl into the block of OpenGL targets 2000-10-26 18:22:57 +00:00
Jeff Teunissen
75778143ee tweaks 2000-10-26 18:13:59 +00:00
Bill Currie
217f59e1ed glx, sdl and sgl now all compile on my system (at work), but sgl doesn't link 2000-10-26 16:29:45 +00:00
Bill Currie
619d9396cc oops, forgot this 2000-10-26 06:48:10 +00:00
Bill Currie
27465bc765 bring in Despair's (Ragnvald Maartmann-Moe IV, rmmiv@earthlink.net) clean up
of the gl setup code.
2000-10-26 06:08:09 +00:00
Zephaniah E. Hull
07322ef780 s/ABS/abs/, abs is standard C, no evil defines. 2000-10-26 05:07:00 +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
Zephaniah E. Hull
cff853a374 Cleanup of x11_set_vidmode, with a chainsaw.
Other minor cleanups too.
2000-10-24 18:10:01 +00:00
Zephaniah E. Hull
b9c0c95729 Misc cleanups. 2000-10-24 17:03:09 +00:00
Dabb
d8dc00f29b Added joy_null.c and pals. 2000-10-24 14:57:53 +00:00
Forest Hale
0040dd25ff major speedup in PM_RecursiveHullCheck 2000-10-24 10:47:01 +00:00
Jeff Teunissen
c757f969c4 sw_view.c: whitespace
gl_screen.c: Some whitespace, some optimization. Still looking for the
culprit killing contrast in GL.
2000-10-24 02:22:29 +00:00
Jeff Teunissen
ae76d79b40 Corrected algorithm, optimized code, and reversed the order of
brightness/contrast operations... brightness is applied first, then
contrast. A contrast of 0 is now /always/ solid medium grey.
2000-10-24 01:43:35 +00:00
Bill Currie
b4a29a6766 forgot to remove some code 2000-10-23 15:29:20 +00:00
Bill Currie
ac4d76b52a make vid_sdl.c use the new window size code and the vid_fullscreen cvar instead
of the -fullscreen command line arg (eww:). Also, doc vid_fullscreen in
vid_sgl.c
2000-10-23 15:27:10 +00:00
Bill Currie
66bc30c2a8 gl_polyblend: RIP 2000-10-23 14:58:15 +00:00
Jeff Teunissen
f7f968daeb -gamma removal 2000-10-23 10:26:43 +00:00
Jeff Teunissen
17f9704978 -gamma parameter is _gone_. Colors are now almost exactly what they are in
software. If you want to hack the colors, use the cvars.
2000-10-23 09:35:54 +00:00
Bill Currie
1abb6fe74c fix the misaligned fullscreen window once and for all (fingers crossed:) 2000-10-22 07:14:47 +00:00
Bill Currie
c43b9161c5 fix for linux 2.2.17. Hopfully works for earlier kernels still 2000-10-22 01:30:34 +00:00
Bill Currie
f28f087ddc width and height name issues 2000-10-21 21:17:51 +00:00
Bill Currie
5c92b35c6e fix width and height name issues 2000-10-21 21:14:12 +00:00
Bill Currie
499eaa2a7d cvar.c:
%g is no good :/
menu.c screen.c:
	float -> int cleanup for scr_viewsize
vid_glx.c:
	remove unused vid_mode cvar
2000-10-21 21:08:04 +00:00
Bill Currie
0e950c65f5 change %f to %g in Cvar_SetValue so 1.0 gets printed as 1 2000-10-21 07:47:14 +00:00
Bill Currie
d295f183ba remove va from commdef.h and fix the consequences 2000-10-21 07:34:56 +00:00
Bill Currie
63fc732758 clean up the includes ov vid.c and bring over va.h from nuq 2000-10-21 07:20:57 +00:00
Bill Currie
dcd1201131 create VID_GetWindowSize in vid.c and use it elsewhere for window size
selection.  in_x11.c just had refs to scr_width and scr_height removed.
2000-10-21 07:15:30 +00:00
Jeff Teunissen
afae879d2e dga_check.h: DGA and VidMode check functions return qboolean, not
int. Cleaned up prototypes to not include variable names.

dga_check.c: Fix bug in DGA detection that lead to segfault.

in_x11.c: Better DGA input support for X targets; The -nodga parameter is
gone, it is now the in_dga Cvar, which is dependant on the _windowed_mouse
Cvar. in_dga is archived.
2000-10-21 05:30:34 +00:00
Bill Currie
f0c35d7f9d o rcon now prints (hidden) instead of the rcon password
* taniwha  drops a 900lb security manual on zoid's head
	 <taniwha> nah, make that kg :)
 o  fix a potential buffer overflow
2000-10-20 18:03:26 +00:00
Jeff Teunissen
ea766e6203 Fix the VID_SetCaption () bug here too 2000-10-19 18:07:00 +00:00
Bill Currie
f837616025 locs.c:
handle dos line endings. COM_FOpenFile /always/ opens files in binary
	mode in Windows (and *nix is effectively binary only anyway) and the
	\r characters being left in the location description strings was
	causing %l to print a blank line. Makes for unhappy users :/
teamplay.c:
	handle %%. this seams to have been missed.
2000-10-18 17:06:44 +00:00
Jeff Teunissen
17ea696c0d One of the biggest things keeping -mem/-heapsize numbers up is the video
memory in software mode. This is now taken care of, the memory is now
grabbed using calloc.

On Unix systems and all systems using SDL, the default video memory is now
8MB. This should now be enough for almost everybody, unless you have some
truly huge maps and boatloads of sounds. The minimum memory allowable is
now down to 4MB, but complex maps and/or models can cause the game to quit
-- not like this wasn't a problem already with the old 5.3MB lower limit,
but there it is.
2000-10-18 10:16:11 +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
a4ccdad288 include string.h and or strings.h 2000-10-16 15:34:53 +00:00
Bill Currie
d716829478 update some entries 2000-10-16 15:23:22 +00:00
Anton E. Gavrilov
9698c439dc This hopefully fixes the problem with feigning spies in TF staying visible when cl_deadbodyfilter is on. 2000-10-16 08:15:22 +00:00
Bill Currie
cf8afd73a3 vid_fullscreen cvar cleanup 2000-10-16 04:49:12 +00:00
Bill Currie
6868542519 add some cvar discriptions 2000-10-16 03:29:42 +00:00
Bill Currie
f3e8b3ffcc better output (includes source file and line) 2000-10-16 03:27:32 +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
e60ae3b48c fix the paused message swaparoo 2000-10-16 03:12:03 +00:00
Bill Currie
c808bf155e Clean up SV_Serverinfo_f a bit where it sets the cvar corresponding to the
server info key.
2000-10-15 04:31:32 +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
Bill Currie
9dc1c00a16 whitespace 2000-10-14 17:05:13 +00:00
350 changed files with 52728 additions and 43088 deletions

5
.gitignore vendored
View file

@ -1,12 +1,15 @@
.vimrc
ChangeLog
Makefile
Makefile.in
aclocal.m4
build-stamp
config.cache
config.log
config.status
configure
quakeforge.lsm
configure-stamp
quakeforge-*.tar.bz2
quakeforge-*.tar.gz
quakeforge-*.zip
quakeforge.lsm

116
CodingStyle Normal file
View file

@ -0,0 +1,116 @@
QuakeForge Coding Style
~~~~~~~~~~~~~~~~~~~~~~~
You /WILL/ indent with hard tabs, or you will be harmed. :) You can
format for whatever tab spacing you like, but if you indent with spaces
you will be hurt and you will have deserved it. :)
For best results, use 4-space tabs, because that's what id used and what
most of us use.
Each file should have a standard comment, formatted as in the example
below. Please, when you create a new file, make sure you put an ID at
the bottom of the opening comment. This is something special that CVS
translates into a string that shows information on what version the file
is, when it was last edited, and so on. This is done by embedding
[dollar sign]Id[dollar sign].
All source files MUST #include "config.h" if the symbol HAVE_CONFIG_H
is defined. Likewise, no source file may be compiled multiple times to
produce different object files -- one source, one object.
Atop each function you write, attach a /* */ comment heading, containing
the name and a short, DESCRIPTIVE summary of the function's purpose.
Indent both of these with one or more tabs. The function is to
immediately follow the heading, with no space between.
The return type should be located on the line previous to the function's
name. This is to facilitate easy searches for a function using the
simple regular expression "^FuncName".
Functions that do not take a value should be explicitly declared to
accept void, not simply ().
Please use the SECTION_ prefix for new functions.
Cross-target prefixes:
IN_ Input
JOY_ Joystick (called by IN_* functions)
R_ Rendering
S_ Sound
VID_ Low-level video
Target-specific prefixes:
CL_ Client
GL_ OpenGL rendering
QFGL_ OpenGL portability aids
SNDDMA_ DMA Sound (called from S_*)
SV_ Server
SW_ Software rendering
x11_ X11R6-specific window handling
An example:
/*
filename.c
Description of this file
Copyright (C) 2002 Your Name <your@email.addr>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
$Id$
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
/*
SECTION_FunctionName
Description
*/
returntype
SECTION_FunctionName (args)
{
type var;
for (var = 0; var; var++) { // do something silly
:
:
}
}
For switch statements:
switch (expr) {
case X: // foo
:
:
break;
case Y: // bar
:
:
break;
default: // fallthrough
whatever;
}

View file

@ -1,24 +0,0 @@
Coding Style Guide
==================
You _WILL_ indent with hard tabs, or you will be harmed. :)
You can format for whatever tab spacing you like, but if you indent with spaces
you will be hurt, and you will have deserved it. :)
For best results, use 4-space tabs, because that's what id used and what most
of us use.
/*
SECTION_FunctionName
Description
*/
returntype
SECTION_FunctionName ( args )
{
type var;
for (stuff) { // do something silly
:
:
}
}

View file

@ -1,33 +1,36 @@
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS = foreign
AUTOMAKE_OPTIONS= foreign
SUBDIRS = include source doc
SUBDIRS= include source debian doc
EXTRA_DIST = README.WIN newtree.dsw ChangeLog \
RPM/build_rpm.in RPM/quakeforge.spec.in \
tools/gas2masm/Makefile tools/gas2masm/gas2masm.c \
tools/gas2masm/gas2masm.dsp tools/gas2masm/gas2masm.dsw \
tools/gas2masm/gas2masm.mak tools/gas2masm/gas2masm.mdp \
tools/zpak
EXTRA_DIST= README.WIN newtree.dsw ChangeLog \
RPM/build_rpm.in RPM/quakeforge.spec.in \
tools/gas2masm/Makefile tools/gas2masm/gas2masm.c \
tools/gas2masm/gas2masm.dsp tools/gas2masm/gas2masm.dsw \
tools/gas2masm/gas2masm.mak tools/gas2masm/gas2masm.mdp \
tools/zpak
NOCONV_DIST= $(distdir)/include/win32/resources/icon1.ico
changelog::
-touch ChangeLog
-tools/cvs2cl/cvs2cl.pl -b
-rm -f ChangeLog.bak
( cd $(top_srcdir); \
tools/cvs2cl/cvs2cl.pl --stdout -b --utc ) > ChangeLog
dist-zip: distdir
-chmod -R a+r $(distdir)
ZIP="-r9ql" zip $(distdir).zip $(distdir)
ZIP="-r9q" zip $(distdir).zip $(NOCONV_DIST)
ZIP="-r9ql" zip $(distdir).zip $(distdir) -x $(NOCONV_DIST)
-rm -rf $(distdir)
dist-bz2: distdir
-chmod -R a+r $(distdir)
BZIP2="-9" $(TAR) Ichof $(distdir).tar.bz2 $(distdir)
$(TAR) -cho $(distdir) | bzip2 -9 > $(distdir).tar.bz2
-rm -rf $(distdir)
dist-all-local: distdir
-chmod -R a+r $(distdir)
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
BZIP2="-9" $(TAR) Ichof $(distdir).tar.bz2 $(distdir)
ZIP="-r9ql" zip $(distdir).zip $(distdir)
$(TAR) -cho $(distdir) | bzip2 -9 > $(distdir).tar.bz2
ZIP="-r9q" zip $(distdir).zip $(NOCONV_DIST)
ZIP="-r9ql" zip $(distdir).zip $(distdir) -x $(NOCONV_DIST)
-rm -rf $(distdir)

204
NEWS
View file

@ -1,204 +0,0 @@
NEWS for the QuakeForge project
-------------------------------
QuakeForge 0.2
08 Mar 2000 - Massive news updates
The engine is actually working and working well for perhaps the
first time since we branched off stable. A long overdue news
update is in order. These things have been added to GL targets:
Skyboxes
Put a a Quake2 skybox in mydir/gfx/env and -game mydir,
set r_skyname to the base name of the sky (for the one
released on the MegaTF website, use r_skyname night for
example), load a map with a sky in it, and set r_sky 1.
You must reload a map for a new r_skyname to take effect.
The software renderer WILL support this hopefully soon.
Volumetric fog
For testing only. As implemented now it uses the stencil
buffer (very slow for most of us) and borrows the water
brush since we don't have a fog brush yet. raptor suggests
r_volfog 0.0009 and r_wateralpha 0.3 to test. You'll need
watervis'd maps.
Water Ripples
We reported earlier that setting r_waterripple to 1 made a
wave effect. Actually, if you want a wave effect you can
see, you'd better set it at least to 5. Looks good with
the volfog settings mentioned above. raptor plans to put
r_waterripple into the software renderer.
Rodents with wheels
If you've got one, you'll be pleased to hear that -x11 and
-glx now support them the same way -svga does. You need to
have ZAxisMapping set in your XF86Config properly.
26 Jan 2000 - Waterwarp bug fixed
The waterwarp bug has been fixed, set r_waterwarp 1 to use it.
QuakeForge 0.1.0
22 Jan 2000 - cl_sbar and cl_hudswap in uquake
The cvars cl_sbar and cl_hudswap noe work in uquake just like they
do in qw-client. In uquake, cl_sbar defaults to 1 to satisfy the
least-surprise principle. Set it to 0 if you want a qw-client like
HUD.
22 Jan 2000 - changes to command line option -game [REMOVED!]
You may now specify multiple game directories with -game. If for
example you wanted to use the original registered game with MegaTF
on a new style binary you would use -game id1,megatf. It does work
with traditional style binaries and you may specify as many dirs as
you like seperated by commas.
One caveat: Most mods were designed to be the only one in use, it
may be a Bad Thing to mix certain mods with other mods.
NOTE: This feature has been removed because it can seriously cause
confusion to a game mod. The proper way to override part of
a game is to use different fs_basepath and fs_sharepath.
19 Jan 2000 - changes to cvar r_fog
Fog color is once again white. The r_fog cvar is now a control for
the fog density rather than a simple toggle control. Eric Windisch
recommends setting r_fog to .0005 if you're going to use it.
19 Jan 2000 - removed cvar r_mirroralpha
This was a cheap hack which affected one texture on one map of the
entire game. It also wasn't working right, so it's been removed.
19 Jan 2000 - time cheats revisited
The final word in detecting time/speed cheating is here at long
last! Still catches an occasional person who is "not cheating", but
as it turns out when it does catch such a person they technically
are cheating.
This seems to be caused by dodgy cmos clocks used in many machines
on the market. If the server occasionally claims you seem to be
cheating, try installing some sort of ntp program to synchronize
your clock periodically against a time server. If this does not
seem to fix the problem, we'd like to know about it.
18 Jan 2000 - cvar show_fps
show_fps 1 now works in uquake as well as qw-client. No more need
to use timedemo to check performance! Much more accurate in showing
where performance is good and where it isn't.
16 Jan 2000 - new ./configure option: --enable-newstyle
Use this option when you run ./configure if you wish to use a few
QuakeForge defaults which are a bit different than Id Software used,
but do not change the gameplay.
Currenly all this does is use "base" instead of "id1" for the
default place to look for your game data.
11 Jan 2000 - New cvar: r_waterripple
When set to 1 this will create a small wave effect under the GL
renderer.
09 Jan 2000 - Preliminary IPv6 support
Support exists in QuakeForge for the use of IPv6. It's not ready
for prime time yet. Still, it deserves mention.
09 Jan 2000 - gl_ztrick default changed
Since this seems not to work more places than it does at this point,
the default for the cvar gl_ztrick has been changed from 1 to 0 in
the glx target. This value is saved to your config so if it works
for you just set it to 1.
08 Jan 2000 - Mouse wheel support
Preliminary support for the wheels found on some mice has been added
to the Linux SVGALib target. To use it bind MHWHEELDOWN and
MHWHEELUP to whatever you want to use the wheel for.
07 Jan 2000 - Options menu changes
A few things were added to the options menu in some targets such as
an option for fullscreen and whether or not to use the mouse.
06 Jan 2000 - Output cleanups
The use of CR and LF in names is a "feature" Id Software clearly
didn't intend. General mailing list consensus is that unlike other
unintended features (rocket jumps for example), this "feature" has
no real legitimate use. qw-server now replaces CR's and LF's with
underscores.
You will no longer see [e1] or similar crap sent to stdout. These
characters are now translated to the nearest ASCII characters,
resulting in much nicer-looking output.
06 Jan 2000 - PackFile/Findfile messages to stdout removed
The PackFile and FindFile messages previously sent to stdout no
longer are. If you wish to see them again for some reason, set the
developer cvar to 1.
05 Jan 2000 - Preliminary time cheat detection code
Preliminary code to detect clients attempting various time related
cheats has been added. Some issues persist.
05 Jan 2000 - GL fullbright texture support [REMOVED]
The GL renderer now supports fullbright textures, though this causes
a noticable impact on performance. Use the new cmdline option
-noglow to disable it if this bugs you.
NOTE: This was removed for now because it didn't work quite right
and -noglow did not in fact actually disable it properly.
02 Jan 2000 - registered game check removed
The check for a copy of the registered pak files has largely been
removed since it no longer makes a whole lot of sense with all the
talk of free complete TC's (total conversions).
A very simple check for pop.txt (found only in the registered pak
files) remains to set the cvar registered to 1 if necessary,
allowing the start map to know whether or not to allow you through
the gates leading to episodes 2-4.
02 Jan 2000 - crosshairs
qw-client's crosshair 2 is now supported in uquake.
A new (for now) GL-renderer-only experimental crosshair 3 has been
added. It's obeys the crosshaircolor cvar. No timeframe on porting
it to the software renderers yet, but it will happen eventually.
02 Jan 2000 - Removed cvar
gl_reporttjunctions did nothing at all, removed.
01 Jan 2000 - Changed cvar
In uquake, the chasecam cvar is now cl_chasecam just like it is in
qw-client.
01 Jan 2000 - Preliminary volumetric fog
QuakeForge now has preliminary support for volumetric fog. The cvar
r_fog can be set to 1 to try it out.
30 Dec 1999 - CVS tree changes
We now use autoheader and autoconf. If you checkout/update your
tree from CVS you're going to need to run ./bootstrap now to
perform all the necessary black voodoo needed to allow you to run
./configure as normal. This should not be necessary for releases,
only for the CVS tree and CVS snapshots.
29 Dec 1999 - Known bug in sound init fixed
A bug which caused QF to segfault if sound could not be initialized
has been fixed. If sound can not be initialized, you will now
simply not hear any.
29 Dec 1999 - Autoconf support
QuakeForge now uses autoconf! Run ./configure --help and have a
look at the options available in case something isn't detected or
you wish to enable or disable certain compile-time options.
25 Dec 1999 - Keyboard bindings now support keypad keys
The numeric keypad keys found on many keyboards may now be bound to
functions. The names for these keys are (in PC style layout):
KP_NUMLCK KP_DIVIDE KP_MULTIPLY KP_MINUS
KP_HOME KP_UPARROW KP_PGUP
KP_LEFTARROW KP_5 KP_RIGHTARROW KP_PLUS
KP_END KP_DOWNARROW KP_PGDN
KP_INS KP_DEL KP_ENTER

117
README
View file

@ -1,7 +1,6 @@
QuakeForge - Release Notes
Copyright (C) 1996-1997 Id Software, Inc.
Copyright (C) 1999,2000 contributors of the QuakeForge Project
Please see the file "AUTHORS" for a list of contributors
Copyright (C) 1996-1997 Id Software, Inc.
Copyright (C) 1999-2001 contributors to the QuakeForge Project
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@ -22,10 +21,8 @@ along with this program; if not, write to:
See file COPYING for license details.
Quake(R) and QuakeWorld(R) are registered trademarks of Id Software,
Inc. The NIN logo is a registered trademark licensed to Nothing
Interactive, Inc. All other trademarks are the property of their
respective owners
Quake and QuakeWorld are registered trademarks of Id Software, Inc. All
other trademarks are the property of their respective owners.
Table of Contents
@ -46,9 +43,10 @@ Table of Contents
~~~~~~~~~~~~~~~~~~~~~~
The QuakeForge Project would like to thank Id Software, Inc. for writing
and releasing Quake under the GNU GPL. We'd like to thank John Carmack
and Dave Kirsch in particular for the support they have provided to us
and to the Free Software community as a whole.
and releasing Quake under the GNU General Public License (GPL). We'd
like to thank John Carmack and Dave "Zoid" Kirsch in particular for the
support they have provided to us and to the Free Software community as a
whole.
We would also like to thank the following organizations for their
contributions to QuakeForge:
@ -58,12 +56,8 @@ contributions to QuakeForge:
And last but certainly not least, we would like to thank every single
person who has contributed even one line of code, documentation, or
other support to the QuakeForge project.
Without all of you, we would not be where we are right now.
Id Software, Inc. thanks MPath Interactive and Gandalf Technology for
their help and support.
other support to the QuakeForge project. Without all of you, we would
not be where we are today.
If you'd like to contribute in any way to the QuakeForge project, please
contact our mailing list at quake-devel@lists.sourceforge.net.
@ -72,10 +66,11 @@ contact our mailing list at quake-devel@lists.sourceforge.net.
2 System Requirements
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* A Raster capable display. ;-)
* A raster-capable display. ;-)
* 16 megabytes of memory beyond operating system footprint.
* A Floating-point processor. While not strictly required, QuakeForge
uses a lot of floating-point math, so a FPU is highly recommended.
* A Floating-point processor (FPU). While not strictly required,
QuakeForge uses a lot of floating-point math, so a FPU is highly
recommended.
* 10MB of free hard disk space to build all targets. In addition to the
base system, you will require game data files. For the default game
("Quake"), you will need either the shareware or registered version of
@ -101,57 +96,32 @@ files.
4 Platform-Specific Issues
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This section discusses issues that affect only certain operating
platforms.
This section discusses issues that affect only certain platforms.
4.1 DOS
4.1 Linux/Unix
If you experience page faults while running Quarterdeck's QDPMI DPMI
server, this is caused by a bug in QDPMI. Workarounds: Remove QDPMI
from CONFIG.SYS, issue the command QDPMI OFF before running QuakeForge,
or get the update patch for QDPMI from Quarterdeck. You may be running
QDPMI without knowing it if you have QEMM installed, because it can be
installed as part of the QEMM installation.
SVGALib-using targets (-svga and -3dfx) can't be started from within the
X Window System. This is caused by a design limitation in SVGAlib. As a
workaround, you can use "open" to start those targets from within X.
(example: "open -s -- qf-client-svga")
4.2 Linux
4.2 Windows 95/98/Me
SVGALib-using targets (-svga and -3dfx) can't be started from within X.
We are aware of the problem, and if you can figure out the reason, we'd
appreciate a patch, PLEASE! As a workaround, you can use "open" to start
those targets from within X. (e.g. "open -s -- qw-client-svga")
The MGL-using Windows target (qf-client-win) is unable to use the Alt
and F10 keys. This is caused by a bug in the SciTech MGL library, which
intercepts these key events before the client gets to see them. The
SDL-using targets (currently available from the Borland-compiled
distribution only) do not exhibit this problem, but may have other
issues themselves that we are unaware of.
Some 3Dfx Voodoo-based 3D accelerators may have issues with the way
QuakeForge uses the "3dfxgl" minidriver to interface to the Glide
library.
Video boards based on the Riva
128/128ZX/TNT/TNT2/TNT2 Ultra/Vanta/GeForce 256 chipsets from nVidia
Corp. using the latest (as of 13 Jan 2000) nVidia OpenGL drivers may
have problems with transparency. Under some conditions, these drivers
may lock the X Window System server, possibly rendering the system
unusable. The currently-recommended drivers for video cards with Riva
128/128ZX/TNT/TNT2/TNT2 Ultra chipsets are those from the Utah GLX
project, located at http://utah-glx.sourceforge.net/ -- for the Vanta
and GeForce 256 chipsets, there is no suggested hardware-accelerated
OpenGL alternative at this time. We believe the bug to be in nVidia's
drivers, because our code seems to work under other OpenGL
implementations.
4.4 Windows 95/98/Millennium
Currently, we are unable to determine the status of the Windows-based
targets of QuakeForge. Because of our move to GNU Autoconf and the
dearth of "proper" GNU tools available on the Windows platform, our
build system may not work properly on Windows. We are working on
solutions for this problem.
4.5 Windows NT/2000
4.2 Windows NT/2000
For the most part, issues for Windows 9x-based operating environments
will be similar. However, because of numerous differences in the way
Windows NT and Windows 9x operate, these systems may have specific
issues.
5 Errata and Known Bugs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -159,30 +129,6 @@ Problem: After running the X11 target my keyboard repeat turns off! How
do I turn it back on?
Solution: xset r on
Problem: The screen flickers once about every other frame when using GL
Solution: Not all GL implementations support a performance hack which is
used by the GL renderer allowing it to avoid clearing the
Z-buffer. The console command "gl_ztrick 0" fixes this
problem.
Problem: Zombies can sometimes get "stuck" in the ground. They can be
heard but not killed making it impossible to get 100% on the
current level.
Solution: None found yet.
Problem: It is possible for players to sometimes get stuck in a room or
wall, much like the zombies mentioned above.
Solution: The "kill" console command will un-stick you, but it has the
unfortunate side effect of killing you in the process (hence
the command's name.) It is a good idea to save your games
often.
Problem: Sometimes during a game the player's view will not center
properly. The end result is that the player view is looking
up toward the ceiling while walking.
Solution: Use of freelook (mouse or keyboard) may solve this problem, as
will exiting the level or the "kill" console command.
6 Troubleshooting
~~~~~~~~~~~~~~~~~~~~~~~
@ -228,12 +174,12 @@ If you have a joystick plugged in, but do not wish QuakeForge to try to
use it, just add the -nojoy option to the QuakeForge command line.
You may disable joystick reads from the QuakeForge console with the
"joystick 0" command.
"joy_enable 0" command.
There are default configuration bindings for joystick buttons.
If your joystick or interface card reports three or four buttons and you
only have two, use the QuakeForge console command "joybuttons 2".
only have two, use the QuakeForge console command "joy_buttons 2".
The "mlook" and "sidestep" commands work with a joystick exactly as they
do for a mouse, as does the "invert mouse up/down" menu option.
@ -264,6 +210,7 @@ Operating systems tested:
Compaq/Digital Tru64 Unix
Windows 98
Windows NT
Windows 2000
Video cards tested (On Intel-based systems):
3Dfx Voodoo Graphics (Linux)

View file

@ -1,3 +1,14 @@
-----------------------------------------------------------------------
COMPILING NEWTREE FOR WIN32 (Win95/98,NT/2000)
We've succesfully compiled newtree source code with following
compilers:
- Microsoft Visual C 6.0 (commercial)
- Borland C++ compiler v5.5 (free) and v5.02
- Borland C++ Builder 5 (commercial)
- Mingw (free, GPL), (GCC 2.95.2, http://www.mingw.org)
-----------------------------------------------------------------------
Steps to compile standalone on win32 platforms with VC++.
@ -49,24 +60,38 @@ UNDER BORLAND C++ 5.02 and 5.5
1) Get and install latest SCITECH MGL (http://www.scitechsoft.com), you
don't need to install sources and demo's, just libraries and includes.
2) If you want to compile SDL/SGL targets, you also need to get SDL sdk
(http://www.libsdl.org). If you don't know what SDL means, you don't
need this.
2) If you want to compile SDL/SGL targets, you also need to get SDL
Source Code and Win32 Binary Runtime (http://www.libsdl.org.)
Extract the runtime (sdl.dll) into the lib subdirectory of the SDL
Source Code. If you don't know what SDL means, you don't need this.
3) Get and install Dirext-X 7.0 libraries and header files
(headers http://www.microsoft.com/downloads/release.asp?ReleaseID=12471)
(borland lib: http://www.microsoft.com/downloads/release.asp?ReleaseID=17051)
4) If you don't have Borland complier (5.02 or 5.5), get and install
FREE Borland C++ complier 5.5.
4) If you don't have Borland complier (5.02 or 5.5, or C++ Builder 5),
get and install FREE Borland C++ complier 5.5.
(http://www.borland.com/bcppbuilder/freecompiler/)
or get from alternative location:
(http://www.saunalahti.fi/~mipes/freecommandlinetools.exe)
Make sure you install latest Borland C++ free complier service packs for
5.5 to upgrade it to 5.5.1.
http://www.borland.com/devsupport/bcppbuilder/patches/bcc55/bcc55sp1.zip
http://www.borland.com/devsupport/bcppbuilder/patches/bcc55/bcc55sp2.exe
or get from alternative location:
(http://www.saunalahti.fi/~mipes/bcc55sp1.zip)
(http://www.saunalahti.fi/~mipes/bcc55sp2.exe)
5) Borland preprocessor can't process quake .S files. You need to get
.ASM files or use some other complier to preprocess them.
ASM files must be placed on newtree SOURCE dir.
(http://www.saunalahti.fi/~mipes/qf-asms.zip)
6) You need to have either MASM or TASM to compile ASM files.
6) You need to have either MASM or TASM to compile ASM files. If you've
TASM32, you need to uncomment it in makefiles.
(For MASM: http://www.microsoft.com/ddk/download/98/BINS_DDK.EXE)
(MASM patch: http://support.microsoft.com/support/kb/articles/Q228/4/54.asp)
@ -85,15 +110,19 @@ and it'll make lib and stuff. You can safely ignore any complains
from zlib makefile as long as it builds working zlib.lib.
8) For GL targets, you'll need to have import library for OPENGL stuffs
one coming with Borland C++ itself is screwed!
one coming with Borland C++ itself is screwed!
implib -c -f opengl32.lib c:\windows\system\opengl32.dll
9) If you want to compile SDL/SGL, you HAVE to run:
9) If you want to compile SDL/SGL, you HAVE to run this command
in the SDL source code bin directory where you put the SDL binary
runtime (sdl.dll):
implib -a -c sdl.lib sdl.dll (in sdlsdk directory where sdl.dll is located)
implib -a -c sdl.lib sdl.dll
10) Check all paths in all makefiles and correct them to suit your system.
10) Check all paths in makefiles (found in sources directory, see list of
makefiles below) and correct them to suit your system. You shouldn't need
to change anything below "# end of system dependant stuff."
11) When everything else is done, just start making
@ -116,9 +145,64 @@ qf-client-sdl.mak Makefile for QuakeWorld client, software SDL renderer
qf-client-sgl.mak Makefile for QuakeWorld client, SDL opengl wrapper
Requires SDL SDK (www.libsdl.org)
-----------------------------------------------------------------------
For FREE IDE for your BC 5.5:
http://www.objectcentral.com/vide.htm
-----------------------------------------------------------------------
COMPILING NEWTREE WITH MINGW (http://www.mingw.org)
These are MINGW compile instructions for users without cygwin or self-hosting
mingw. If you've cygwin or self-hosting mingw, you can soon use standard
./configure process. You can also build WIN32 binaries under Linux using
cross-compiling mingw. Note: THIS IS WORK IN A PROGRESS (in case you
haven't noticed yet)
1) Get and install MINGW compiler. See mingw home page for closer details.
Make sure your MINGW\BIN directory is in your PATH.
(if you want easy way in, get http://www.libsdl.org/Xmingw32/mingw32.zip and extract it)
2) Get and install LATEST WIN32API for mingw
(http://sourceforge.net/project/showfiles.php?group_id=2435)
Latest one at the time of the writing is
http://download.sourceforge.net/mingw/w32api-0.4-20001122.tar.gz
3) Get and install ZLIB
You can either download ZLIB source code from
http://www.info-zip.org/pub/infozip/zlib/
and compile it OR get zlib packages from
http://sourceforge.net/projects/mingwrep/
and just install them.
4) If you want to compile SDL/SGL targets, you also need to get SDL
Source Code and Win32 Binary Runtime (http://www.libsdl.org.)
Extract the runtime (sdl.dll) into the lib subdirectory of the SDL
Source Code. If you don't know what SDL means, you don't need this.
Look libsdl FAQ page for closer details how to get mingw working with SDL.
5) Go to source directory and check paths in makefile.mgw and change them
to suit your system.
Then just type:
make -fmakefile.mgw
And hope for best. You will see lot of "warnings" but they're ok as long
as you manage to get working .EXE files.
Notes about mingw:
If you get weird compile errors, try getting
http://pws.prserv.net/thefortins/basetyps_h.tar.gz
and replacing your basetyps.h with it.
If you don't have WORKING DirectX libs with your mingw, you need
to get them.
(http://pws.prserv.net/thefortins/directx6_1-cyg.tar.gz)
Any later DX release (7.0, 8.0) is fine too.
If you don't get SDL library to build with mingw, don't worry, you're
not the only one. Just FLAME ON SDL dev. team, not us.
-----------------------------------------------------------------------

22
ROADMAP
View file

@ -2,26 +2,30 @@ o = todo
X = done
? = maybe but not likely
M = more testing
I = in progress
W = waiting on other work
X water textures are seriously screwed in GL
X Endy's effects need to be made to work properly (totally broken!)
X R_DrawParticles in software hangs
X timestamping server (and optionally client) consoles
M it seems possible to crash a QF server still - need to fix this!
M GL is still way too slow
M Scitech MGL used in win32 is screwed - dump it and use SDL
o It's possible to stick on some obtuse-angled corners qwsv 2.3x didn't
X teamplay messages ($location, $health; %L, %h?; cl_parsesay)
X fullbrights on models (yeah, we have to..)
M it seems possible to crash a QF server still - need to fix this!
M Scitech MGL used in win32 is screwed - dump it and use SDL
I GL is still way too slow
I Client side QuakeC.
W fix skybox/dome vis problems (workable solution found, needs new renderer)
o It's possible to stick on some obtuse-angled corners qwsv 2.3x didn't
o better server control of certain cvars
o triggers (f_respawn, f_death, f_took; cl_triggers)
o software PCXs don't work in X11 at least if you're using 16/24/32 color
? more direct intra-team comms (eg, talk to offense or defense directly)
? Draw_Pic and friends need a cleanup in GL at least
? software PCXs don't work in X11 at least if you're using 24/32 color
? console commands to see a user, ignore talk from them, etc
? more direct inter-team comms (ie, talk to offense or defense directly)
? improved crosshairs (custom file, 32 bit for GL, etc)
? software targets should mix color at 16/16 or 24/32 color
? Draw_Pic and other tex draw functions should use local palettes
? wad loader should load wad3 and fall back to wad2 if necessary
? better control over client console logging
? ban reasons and expire times
o "proxy" cvars (cl_muzzleflash, v_bonusflash)
o teamplay messages ($location, $health; %L, %h?; cl_parsesay)
o triggers (f_respawn, f_death, f_took; cl_triggers)

View file

@ -1,101 +0,0 @@
/*
Compiler/Machine-Specific Configuration
*/
#ifndef _CONFIG_H
#define _CONFIG_H
@TOP@
/* "Proper" package name */
#undef PROGRAM
/* Define this to the QuakeWorld standard version you support */
#undef QW_VERSION
/* Define this to the QSG standard version you support */
#undef QSG_VERSION
/* Define if you want to use QF-style defaults instead of Id-style */
#undef NEWSTYLE
/* Define this to the location of the global config file */
#undef FS_GLOBALCFG
/* Define this to the shared game directory root */
#undef FS_SHAREPATH
/* Define this to the unshared game directory root */
#undef FS_USERPATH
/* Define this to the base game for the engine to load */
#undef BASEGAME
/* Define this to use experimental code */
#undef _EXPERIMENTAL_
/* Define this if you want to use Intel assembly optimizations */
#undef USE_INTEL_ASM
/* Define this if you have a Linux-style CD-ROM API */
#undef USE_LINUX_CD
/* Define this if you have a BSD-style CD-ROM API */
#undef USE_BSD_CD
/* Define if you have the XFree86 DGA extension */
#undef HAVE_DGA
/* Define if you have the XFree86 VIDMODE extension */
#undef HAVE_VIDMODE
/* Define this if you have GLX */
#undef HAVE_GLX
/* Define this if you have 3dfx */
#undef HAVE_TDFXGL
/* Define this if you have GL_COLOR_INDEX8_EXT in GL/gl.h */
#undef HAVE_GL_COLOR_INDEX8_EXT
/* Define this if you are using a version of Mesa with X mode change support */
#undef HAVE_XMESA
/* Define this if you want IPv6 support */
#undef HAVE_IPV6
/* Define this if C symbols are prefixed with an underscore */
#undef HAVE_SYM_PREFIX_UNDERSCORE
/* Define this if your system has socklen_t */
#undef HAVE_SOCKLEN_T
/* Define this if your system has size_t */
#undef HAVE_SIZE_T
/* Define this if you have ss_len member in struct sockaddr_storage (BSD) */
#undef HAVE_SS_LEN
/* Define this if you have sin6_len member in struct sockaddr_in6 (BSD) */
#undef HAVE_SIN6_LEN
/* Define this if you have sa_len member in struct sockaddr (BSD) */
#undef HAVE_SA_LEN
/* Define if you have the dlopen function. */
#undef HAVE_DLOPEN
/* Define if you have zlib */
#undef HAVE_ZLIB
/* Define if you have pthread support. */
#undef HAVE_LIBPTHREAD
/* Define this to something sane if you don't have stricmp */
#undef stricmp
/* If your version of OpenGL uses APIENTRY, define GLAPIENTRY to be APIENTRY */
#undef GLAPIENTRY
/* Define this to something sane if you don't have stricmp */
#undef stricmp
@BOTTOM@
#endif // _CONFIG_H

View file

@ -279,3 +279,12 @@ main (int argc, char *argv[])
ifelse([$3], , :, [$3])
fi
])
dnl AM_PROG_LEX
dnl Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
AC_DEFUN(AM_PROG_LEX,
[missing_dir=ifelse([$1],,`cd $ac_aux_dir && pwd`,$1)
AC_CHECK_PROGS(LEX, flex lex, $missing_dir/missing flex)
AC_PROG_LEX
AC_DECL_YYTEXT
])

View file

@ -1,6 +1,4 @@
#!/bin/sh
aclocal && autoheader && automake --add-missing && autoconf
echo "If you see a couple warnings about cross-compiling above, don't worry"
aclocal
automake --add-missing
autoheader
autoconf

File diff suppressed because it is too large Load diff

3
debian/.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
files
Makefile
Makefile.in

24
debian/Makefile.am vendored Normal file
View file

@ -0,0 +1,24 @@
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS= foreign
EXTRA_DIST= changelog control copyright rules \
quakeforge.conf \
qf-client-3dfx.dirs qf-client-3dfx.docs qf-client-3dfx.files \
qf-client-3dfx.suid qf-client-3dfx.undocumented \
qf-client-ggi.dirs qf-client-ggi.docs qf-client-ggi.files \
qf-client-ggi.undocumented \
qf-client-glx.dirs qf-client-glx.docs qf-client-glx.files \
qf-client-glx.undocumented \
qf-client-sdl.dirs qf-client-sdl.docs qf-client-sdl.files \
qf-client-sdl.undocumented \
qf-client-sgl.dirs qf-client-sgl.docs qf-client-sgl.files \
qf-client-sgl.undocumented \
qf-client-svga.dirs qf-client-svga.docs qf-client-svga.files \
qf-client-svga.suid qf-client-svga.undocumented \
qf-client-x11.dirs qf-client-x11.docs qf-client-x11.files \
qf-client-x11.undocumented \
qf-server.dirs qf-server.docs qf-server.files \
qf-server.undocumented \
quakeforge-common.conffiles quakeforge-common.docs \
quakeforge-common.files \
quakeforge.files

8
debian/changelog vendored
View file

@ -1,3 +1,9 @@
quakeforge (0.2.99beta6-0) frozen unstable; urgency=low
* New upstream version
-- Jeff Teunissen <deek@dusknet.dhs.org> Tue, 14 Nov 2000 03:28:03 -0500
quakeforge (0.2.99alpha0-1) frozen unstable; urgency=low
* New upstream release
@ -5,7 +11,7 @@ quakeforge (0.2.99alpha0-1) frozen unstable; urgency=low
* uquake-* targets dropped upstream, to be re-added in new package
* New package quakeforge-common contains quakeforge.conf conffile
-- Jeff Teunissen <deek@dusknet.dhs.org> Fri, 22 Sep 2000 03:22:56 -0400
-- Jeff Teunissen <deek@dusknet.dhs.org> Tue, 14 Nov 2000 03:26:04 -0500
quakeforge (0.2-20000308-1) frozen unstable; urgency=low

22
debian/control vendored
View file

@ -30,6 +30,7 @@ Description: First-person shooter Internet game - common files
Package: qf-client-ggi
Architecture: any
Depends: ${shlibs:Depends}, quake-game
Suggests: joystick
Provides: qf-client
Description: First-person shooter Internet game - GGI client
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
@ -42,6 +43,7 @@ Description: First-person shooter Internet game - GGI client
Package: qf-client-sdl
Architecture: i386
Depends: ${shlibs:Depends}, libsdl1.1, quake-game
Suggests: joystick
Provides: qf-client
Description: First-person shooter Internet game - SDL client
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
@ -54,6 +56,7 @@ Description: First-person shooter Internet game - SDL client
Package: qf-client-svga
Architecture: i386
Depends: ${shlibs:Depends}, quake-game
Suggests: joystick
Provides: qf-client
Description: First-person shooter Internet game - SVGAlib client
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
@ -66,6 +69,7 @@ Description: First-person shooter Internet game - SVGAlib client
Package: qf-client-x11
Architecture: any
Depends: ${shlibs:Depends}, quake-game
Suggests: joystick
Provides: qf-client
Description: First-person shooter Internet game - X11 client
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
@ -75,9 +79,25 @@ Description: First-person shooter Internet game - X11 client
.
This package contains the X11 version of the QuakeForge client.
Package: qf-client-3dfx
Architecture: any
Depends: ${shlibs:Depends}, libgl1, quake-game
Conflicts: libglide3
Suggests: joystick
Provides: qf-client
Description: First-person shooter Internet game - Voodoo 1/2 Client
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
Software's very popular DOOM series. Its primary development goal is to
remain compatible with the original games released by id Software while
adding portability and optional extensions to enhance gameplay.
.
This package contains the Voodoo 1/2 version of the QuakeForge client. For
Voodoo 3 and higher, use the GLX client.
Package: qf-client-glx
Architecture: any
Depends: ${shlibs:Depends}, libgl1, quake-game
Suggests: joystick
Provides: qf-client
Description: First-person shooter Internet game - GLX Client
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
@ -90,6 +110,7 @@ Description: First-person shooter Internet game - GLX Client
Package: qf-client-sgl
Architecture: any
Depends: ${shlibs:Depends}, libsdl1.1 (>= 1.1.3), quake-game
Suggests: joystick
Provides: qf-client
Description: First-person shooter Internet game - SDL-GL client
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
@ -102,6 +123,7 @@ Description: First-person shooter Internet game - SDL-GL client
Package: qf-server
Architecture: any
Depends: ${shlibs:Depends}, quake-game
Suggests: joystick
Provides: qf-client
Description: First-person shooter Internet game - Server
QuakeForge is a source port of Quake and QuakeWorld, the successors to id

29
debian/copyright vendored Normal file
View file

@ -0,0 +1,29 @@
This is a Debian prepackaged version of QuakeForge. This package was
compiled by Jeff Teunissen <deek@dusknet.dhs.org>.
Original sources can be found at:
http://www.quakeforge.net/files.php
Copyright (C) 1999,2000 contributors to the QuakeForge Project.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License along
with QuakeForge; if not, write to:
Free Software Foundation, Inc.
59 Temple Place
Suite 330 Boston, MA 02111-1307 USA
Portions of QuakeForge are Copyright (C) 1996-1997 id Software, Inc.
Used under license.
Quake and QuakeWorld are registered trademarks of id Software, Inc.

View file

@ -1,2 +1 @@
usr/games
usr/share/man/man6

View file

@ -1,4 +1,3 @@
INSTALL
README
doc
NEWS

1
debian/qf-client-3dfx.undocumented vendored Normal file
View file

@ -0,0 +1 @@
qf-client-3dfx.6

View file

@ -1,2 +1 @@
usr/games
usr/share/man/man6

View file

@ -1,4 +1,3 @@
INSTALL
README
doc
NEWS

1
debian/qf-client-ggi.undocumented vendored Normal file
View file

@ -0,0 +1 @@
qf-client-ggi.6

View file

@ -1,2 +1 @@
usr/games
usr/share/man/man6

View file

@ -1,4 +1,3 @@
INSTALL
README
doc
NEWS

1
debian/qf-client-glx.undocumented vendored Normal file
View file

@ -0,0 +1 @@
qf-client-glx.6

View file

@ -1,2 +1 @@
usr/games
usr/share/man/man6

View file

@ -1,4 +1,3 @@
INSTALL
README
doc
NEWS

1
debian/qf-client-sdl.undocumented vendored Normal file
View file

@ -0,0 +1 @@
qf-client-sdl.6

View file

@ -1,2 +1 @@
usr/games
usr/share/man/man6

View file

@ -1,4 +1,3 @@
INSTALL
README
doc
NEWS

1
debian/qf-client-sgl.undocumented vendored Normal file
View file

@ -0,0 +1 @@
qf-client-sgl.6

View file

@ -1,2 +1 @@
usr/games
usr/share/man/man6

View file

@ -1,4 +1,3 @@
INSTALL
README
doc
NEWS

1
debian/qf-client-svga.undocumented vendored Normal file
View file

@ -0,0 +1 @@
qf-client-svga.6

View file

@ -1,2 +1 @@
usr/games
usr/share/man/man6

View file

@ -1,4 +1,3 @@
INSTALL
README
doc
NEWS

1
debian/qf-client-x11.undocumented vendored Normal file
View file

@ -0,0 +1 @@
qf-client-x11.6

View file

@ -1,3 +1,2 @@
usr/games
usr/share/man/man6
usr/share/games/quake/qw

View file

@ -1,4 +1,3 @@
INSTALL
README
doc
NEWS

1
debian/qf-server.undocumented vendored Normal file
View file

@ -0,0 +1 @@
qf-server.6

1
debian/quakeforge-common.conffiles vendored Normal file
View file

@ -0,0 +1 @@
/etc/quakeforge.conf

View file

@ -1,4 +1,3 @@
INSTALL
README
doc
NEWS

View file

@ -1,8 +1,15 @@
// QuakeForge: NEEDNAME Configuration
// QuakeForge: Newtree Configuration
// Location of shared data
setrom fs_sharepath "/usr/share/games/quake"
set fs_sharepath "/usr/share/games/quake" // Location of shared data
set fs_userpath "~/.quake" // Location of user's personal data
// Location of user's personal data
setrom fs_userpath "~/.quake"
//set fs_basegame base // Name of the base
// Video defaults
set vid_width 640
set vid_height 480
set vid_fullscreen 0
// Uncomment for high-quality OpenGL rendering
//gl_texturemode gl_linear_mipmap_linear

0
debian/quakeforge.files vendored Normal file
View file

5
debian/rules vendored
View file

@ -19,7 +19,7 @@ configure: configure-stamp
configure-stamp:
dh_testdir
# Add here commands to configure the package.
[ -d CVS ] && tools/cvs2cl/cvs2cl.pl
# [ -d CVS ] && tools/cvs2cl/cvs2cl.pl
./bootstrap
./configure --prefix=/usr $(RETARGET) --bindir=/usr/games \
--mandir=\$${prefix}/share/man \
@ -34,6 +34,7 @@ build-stamp:
# Add here commands to compile the package.
$(MAKE)
$(MAKE) changelog
touch build-stamp
@ -85,7 +86,7 @@ binary-arch: build install
dh_fixperms
# You may want to make some executables suid here.
chmod 4755 debian/qf-client-svga/usr/games/qf-client-svga
# chmod 4755 debian/qf-client-3dfx/usr/games/qf-client-3dfx
-chmod 4755 debian/qf-client-3dfx/usr/games/qf-client-3dfx
dh_suidregister
dh_installdeb
dh_shlibdeps

View file

@ -1,4 +1,5 @@
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS= foreign
SUBDIRS = man texinfo
EXTRA_DIST = readme.txt template.h
EXTRA_DIST = readme.txt template.h config/glspeed.cfg config/swspeed.cfg

87
doc/config/glspeed.cfg Normal file
View file

@ -0,0 +1,87 @@
// Draw the weapon model. Turn off to gain 2 fps
r_drawviewmodel "1"
// smooth dynamic lights. Older cards set to 0 for a speedup.
gl_dlight_smooth "0"
// smooth lighting on models ~2 fps increase on my system set to 0, however
// others with newer cards (I have a voodoo 1) report setting it to 1 gives
// them a .1 fps speed *increase.* Fiddle with it in game to find out what
// works best for you.
gl_smooth "0"
// dimensions of displayed textures. 0 is normal, 1 is blurry, 2 isn't worth it
// 1 is pretty good for a decent speed up - you can still tell what you're
// looking at
gl_picmip "1"
// Set to 0 to turn off colinear vertexes upon level load. You'll be able to
// see through junctions of some objects and walls - will give you ~1 fps
// if you turn it off.
gl_keeptjunctions "0"
// How blurry is the player model? 2 makes them still identifyable, but speeds
// it up enough to be noticable. 4 is highest setting, 0 is default.
gl_playermip "2"
// Turn off most dynamic lighting. An enourmous speed increase if you can bear
// it
r_dynamic "0"
// If not, turn this on as well and it'll speed it up slightly as you'll be
// using a type of lighting easier on the GL card.
// NOTE: Setting r_dynamic to 0 and this to 1 will cause it to light
// many things anyway. Yes, it's schitzo.
gl_dlight_polyblend "0"
// turn these two on to turn on fullbrights for all models - mostly useful
// in MegaTF/2k to see the proximity mines in dark places! If you don't play
// those, or stay out of dark places which go beep, turn them off to gain 2 fps.
gl_fb_bmodels "0"
gl_fb_models "0"
// Rocket trails, smoke etc. Turn off to gain a LOT of fps in battles, as well
// as make it a hell of a lot easier to see your enemy.
r_particles "0"
// Toggles lavaball and rocket fireballs, - 0 gives a bit of a speed up.
gl_fires "0"
// Speed at which the console background spins. Leave it off unless you like
// your console background to spin :P
gl_conspin "0"
// Alpha value for the console background.
gl_conalpha "0.6"
// Slide the console or stretch it.
gl_constretch "0"
// Lighting mode, 0 glquake style, 1 new style. Setting 0 is 1 fps faster.
gl_lightmode "0"
// Sets the division value for the sky brushes. Higher is faster, however
// Setting it this high is a bit rediculous. Real fast compared to default
// of 128 though - assuming you have sky ON.
gl_subdivide_size "128"
// Set to 1 by default. Fixes status bar flicker on some buggy hardware.
// Normally sane people set it to 0... Because it's a speed hit if it's on.
gl_triplebuffer "0"
// Set to 0 *default* to draw sky before anything else, 1 to draw it last, >1
// to not do it at all. I have it at 3 because I've been assured there will
// eventually be a setting 2.
gl_sky_clip "3"
// The next four options can be set to 1 by the SERVER, so if it doesn't
// work, check that the server admin hasn't set them to 1 himself.
// Set to 0 to turn off quad/suit/pent screen filling color. 2 fps increase.
cl_cshift_powerup "0"
// Set to 0 to turn off 'bonus' flash, and item pickup flash. 2 fps increase.
cl_cshift_bonus "0"
// Set to 0 to turn off pain screen filling color. 2 fps increase.
cl_cshift_damage "0"
// Set to 0 to turn off water/lava screen filling color. 2 fps increase...
// However, it can be used to cheat in megatf/mega2k with flash grens/mines.
// Smart server admins would force this to 1 for quakeforge servers running
// megatf/2k. Older quakeworld servers couldn't disable gl_polyblend anyway.
cl_cshift_content "1"
// client's maximum fps allowed. 72 is the highest it can be set to
cl_maxfps "72"
// Set to 0 to go faster, 1 is older mode and slower
// Or not. Some people say 0 is slower and 1 is faster.
// *shrugs* Pick your favorite I guess.
cl_sbar "0"
// If you set this to 120 your status bar will disappear completely and
// your fps will improve slightly. But I like my status bar.
viewsize 100
// Don't show gibs. Should improve speed slightly if you're experiencing lots
// of gibs in battle :)
cl_gibfilter 1
// Don't show dead bodies. Should improve speed slightly if... well, a lot
// of people are dying. Note in TF/Megatf/2k this is BAD TO USE, spies
// can feign and you won't be able to see them at *all*
cl_deadbodyfilter 0

49
doc/config/swspeed.cfg Normal file
View file

@ -0,0 +1,49 @@
// Draw the weapon model. Turn off to gain 2 fps
r_drawviewmodel "1"
// Rocket trails, smoke etc. Turn off to gain a LOT of fps in battles, as well
// as make it a hell of a lot easier to see your enemy.
r_particles "0"
// The next four options can be set to 1 by the SERVER, so if it doesn't
// work, check that the server admin hasn't set them to 1 himself.
// Set to 0 to turn off quad/suit/pent screen filling color.
cl_cshift_powerup "0"
// Set to 0 to turn off 'bonus' flash, and item pickup flash.
cl_cshift_bonus "0"
// Set to 0 to turn off pain screen filling color.
cl_cshift_damage "0"
// Set to 0 to turn off water/lava screen filling color.
// However, it can be used to cheat in megatf/mega2k with flash grens/mines.
// Smart server admins would force this to 1 for quakeforge servers running
// megatf/2k. Older quakeworld servers couldn't disable gl_polyblend anyway.
cl_cshift_content "1"
// client's maximum fps allowed. 72 is the highest it can be set to
cl_maxfps "72"
// Set to 0 to go faster, 1 is older mode and slower
// Or not. Some people say 0 is slower and 1 is faster.
// *shrugs* Pick your favorite I guess.
cl_sbar "0"
// If you set this to 120 your status bar will disappear completely and
// your fps will improve slightly. Setting it lower, minimum is 30, will
// improve your fps.
viewsize 100
// Don't show gibs. Should improve speed slightly if you're experiencing lots
// of gibs in battle :)
cl_gibfilter 1
// Don't show dead bodies. Should improve speed slightly if... well, a lot
// of people are dying. Note in TF/Megatf/2k this is BAD TO USE, spies
// can feign and you won't be able to see them at *all*
cl_deadbodyfilter 0
// detail level, 0 is highest 3 is lowest
d_mipcap 1
// detail level of objects, 0 is highest 3 is lowest
d_mipscale 1
// subdivide sky polys - not sure if turning this off helps or not. Experiment
gl_sky_divide 1
// division value for the sky brushes. - not sure if playing with this helps.
gl_subdivide_size 128
// set how many edges are visible. Reduce from default to increase speed on
// big maps at the cost of how much you can see
r_maxedges 2000
// set how many surfaces are visible. Reduce from default to increase speed on
// big maps at the cost of how much you can see
r_maxsurfs 1000

View file

@ -1,4 +1,5 @@
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS= foreign
man_MANS = quakeforge.1
EXTRA_DIST = $(man_MANS)

View file

@ -0,0 +1,49 @@
SV_NETDOSPROTECT 0/1
Used to turn on/off Denial Of Service protections. Makes it more
difficult to use quakeworld servers to conduct DoS attacks against
other sites.
NETDOSVALUES
Tells server how many of specified kind of requests (per IP addr)
are allowed during time defined with NETDOSEXPIRE.
Possible request types:
<FLOOD_PING> <FLOOD_LOG> <FLOOD_CONNECT> <FLOOD_STATUS> <FLOOD_RCON> <FLOOD_BAN>
NETDOSEXPIRE
Tells server how much time must pass before request counter expires
and gets set to zero.
NETDOSVALUES <FLOOD_PING> <FLOOD_LOG> <FLOOD_CONNECT> <FLOOD_STATUS> <FLOOD_RCON> <FLOOD_BAN>
NETDOSEXPIRE <FLOOD_PING> <FLOOD_LOG> <FLOOD_CONNECT> <FLOOD_STATUS> <FLOOD_RCON> <FLOOD_BAN>
defaults are:
NETDOSVALUES 12 1 3 1 1 1 1
NETDOSEXPIRE 1 1 2 0.9 1 5
meaning :
maximum of 12 PINGS are allowed in 1 second
maximum of 1 LOG request / second
maximum of 2 connect requests / 3 seconds
maximum of 1 status request / 0.9 seconds
maximum of 1 rcon command / 1 second
maximum of 1 request from banned IP / 5 second
Examples
if server receives 15 ping requests under 1 second, it will allow 12 requests
and drop 3 without response.
Other commands:
sv_allow_log
Allow/disallow remote LOG requests
sv_allow_status
Allow/disallow remote status requests
sv_allow_ping
Allow/disallow remote pings

219
doc/skybox.fig Normal file
View file

@ -0,0 +1,219 @@
#FIG 3.2
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
6 900 4500 2100 5700
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
1200 4800 1800 4800 1800 5400 1200 5400 1200 4800
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1200 4800 900 4500
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1800 5400 2100 5700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1800 4800 2100 4500
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1200 5400 900 5700
-6
6 2700 4500 3900 5700
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
3000 4800 3600 4800 3600 5400 3000 5400 3000 4800
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3000 4800 2700 4500
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3600 5400 3900 5700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3600 4800 3900 4500
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3000 5400 2700 5700
-6
6 4500 4500 5700 5700
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
4800 4800 5400 4800 5400 5400 4800 5400 4800 4800
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4800 4800 4500 4500
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5400 5400 5700 5700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5400 4800 5700 4500
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4800 5400 4500 5700
-6
6 6300 4500 7500 5700
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
6600 4800 7200 4800 7200 5400 6600 5400 6600 4800
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6600 4800 6300 4500
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7200 5400 7500 5700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7200 4800 7500 4500
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6600 5400 6300 5700
-6
6 900 2700 2100 3900
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
1200 3000 1800 3000 1800 3600 1200 3600 1200 3000
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1200 3000 900 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1800 3600 2100 3900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1800 3000 2100 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1200 3600 900 3900
-6
6 2700 2700 3900 3900
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
3000 3000 3600 3000 3600 3600 3000 3600 3000 3000
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3000 3000 2700 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3600 3600 3900 3900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3600 3000 3900 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3000 3600 2700 3900
-6
6 4500 2700 5700 3900
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
4800 3000 5400 3000 5400 3600 4800 3600 4800 3000
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4800 3000 4500 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5400 3600 5700 3900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5400 3000 5700 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4800 3600 4500 3900
-6
6 6300 2700 7500 3900
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
6600 3000 7200 3000 7200 3600 6600 3600 6600 3000
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6600 3000 6300 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7200 3600 7500 3900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7200 3000 7500 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6600 3600 6300 3900
-6
6 8100 2700 9300 3900
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
8400 3000 9000 3000 9000 3600 8400 3600 8400 3000
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
8400 3000 8100 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
9000 3600 9300 3900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
9000 3000 9300 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
8400 3600 8100 3900
-6
6 900 900 2100 2100
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
1200 1200 1800 1200 1800 1800 1200 1800 1200 1200
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1200 1200 900 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1800 1800 2100 2100
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1800 1200 2100 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1200 1800 900 2100
-6
6 2700 900 3900 2100
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
3000 1200 3600 1200 3600 1800 3000 1800 3000 1200
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3000 1200 2700 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3600 1800 3900 2100
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3600 1200 3900 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3000 1800 2700 2100
-6
6 4500 900 5700 2100
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
4800 1200 5400 1200 5400 1800 4800 1800 4800 1200
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4800 1200 4500 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5400 1800 5700 2100
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5400 1200 5700 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4800 1800 4500 2100
-6
6 6300 900 7500 2100
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
6600 1200 7200 1200 7200 1800 6600 1800 6600 1200
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6600 1200 6300 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7200 1800 7500 2100
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7200 1200 7500 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6600 1800 6300 2100
-6
6 8100 900 9300 2100
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
8400 1200 9000 1200 9000 1800 8400 1800 8400 1200
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
8400 1200 8100 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
9000 1800 9300 2100
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
9000 1200 9300 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
8400 1800 8100 2100
-6
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
1350 1425 1650 1425 1650 1650 1350 1650 1350 1425
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
3150 1125 3450 1125 3450 1275 3150 1275 3150 1125
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
4950 1125 5250 1125 5250 1950 4950 1950 4950 1125
2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
6975 1050 6825 1050 6525 1500 6525 1725 6975 1050
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
8325 2850 9225 2850 9225 3150 8325 3150 8325 2850
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
6450 4500 7350 4500 7350 5700 6450 5700 6450 4500
2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
1650 5625 1050 4875 1050 4500 1275 4500 2025 5400 1650 5625
2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
3300 5625 2775 4875 2850 4500 3975 4725 3300 5625
2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
5400 5700 4650 4950 4800 4500 5775 4800 5400 5700
2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
5700 3450 4650 3075 4650 2775 4875 2775 5700 3450
2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
6825 3750 6450 3075 6450 2700 6750 2700 7350 3375 6825 3750
2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
1950 3300 1500 2850 1050 3375 1500 3750 1950 3300
2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
8850 1950 8775 975 8250 1575 8850 1950
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
2850 2775 3225 2775 3225 3225 2850 3225 2850 2775
4 0 0 50 0 0 16 0.0000 4 120 105 900 825 a\001
4 0 0 50 0 0 16 0.0000 4 165 120 2700 825 b\001
4 0 0 50 0 0 16 0.0000 4 120 105 4500 825 c\001
4 0 0 50 0 0 16 0.0000 4 165 120 6300 825 d\001
4 0 0 50 0 0 16 0.0000 4 120 105 8100 825 e\001
4 0 0 50 0 0 16 0.0000 4 165 90 900 2625 f\001
4 0 0 50 0 0 16 0.0000 4 180 120 2700 2625 g\001
4 0 0 50 0 0 16 0.0000 4 165 120 4500 2625 h\001
4 0 0 50 0 0 16 0.0000 4 165 75 6300 2625 i\001
4 0 0 50 0 0 16 0.0000 4 225 60 8100 2625 j\001
4 0 0 50 0 0 16 0.0000 4 165 120 900 4425 k\001
4 0 0 50 0 0 16 0.0000 4 165 75 2700 4425 l\001
4 0 0 50 0 0 16 0.0000 4 120 195 4500 4425 m\001
4 0 0 50 0 0 16 0.0000 4 120 120 6300 4425 n\001

View file

@ -1,4 +1,6 @@
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS= foreign
info_TEXINFOS = quakeforge.texinfo
EXTRA_DIST = gpl.texinfo

2
include/.gitignore vendored
View file

@ -1,6 +1,8 @@
.vimrc
Makefile.in
Makefile
config.h.in
stamp-h.in
stamp-h
stamp-h1
config.h

View file

@ -1,15 +1,23 @@
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS= foreign
EXTRA_DIST = adivtab.h anorm_dots.h anorms.h asm_draw.h asm_i386.h block16.h \
block8.h bothdefs.h bspfile.h buildnum.h cdaudio.h checksum.h \
cl_slist.h client.h cmd.h commdef.h compat.h console.h crc.h \
cvar.h d_iface.h d_ifacea.h d_local.h draw.h gl_warp_sin.h \
glquake.h in_win.h info.h input.h keys.h link.h locs.h \
mathlib.h mdfour.h menu.h model.h modelgen.h msg.h net.h \
pmove.h pr_comp.h progdefs.h progs.h protocol.h qargs.h \
qdefs.h qendian.h qstructs.h qtypes.h quakeasm.h quakedef.h \
quakefs.h quakeio.h r_local.h r_shared.h render.h resource.h \
sbar.h screen.h server.h sizebuf.h sound.h spritegn.h sys.h \
teamplay.h uint32.h vid.h view.h wad.h winquake.h world.h zone.h \
win32/fnmatch.h win32/bc/config.h win32/vc/config.h win32/vc/dirent.h \
win32/version.h win32/version.h.in context_x11.h dga_check.h gcc_attr.h \
joystick.h
cl_cam.h cl_demo.h cl_ents.h cl_input.h cl_main.h cl_parse.h \
cl_pred.h cl_slist.h cl_tent.h client.h cmd.h commdef.h compat.h \
config.h.in console.h context_x11.h crc.h cvar.h d_iface.h \
d_ifacea.h d_local.h dga_check.h draw.h fbset.h fractalnoise.h gcc_attr.h \
gl_warp_sin.h glquake.h hash.h host.h in_win.h info.h input.h joystick.h \
keys.h link.h locs.h mathlib.h mdfour.h menu.h model.h modelgen.h \
msg.h net.h pcx.h pmove.h pr_comp.h progdefs.h progs.h protocol.h \
qargs.h qdefs.h qendian.h qfgl_ext.h qtypes.h quakeasm.h quakefs.h \
quakeio.h r_dynamic.h r_local.h r_shared.h render.h sbar.h screen.h \
server.h sizebuf.h skin.h sound.h spritegn.h sv_pr_cmds.h sys.h tga.h \
teamplay.h texture.h uint32.h va.h ver_check.h vid.h view.h wad.h \
winquake.h world.h zone.h \
\
win32/fnmatch.h win32/version.h win32/version.h.in \
win32/mingw/config.h \
win32/resources/icon1.ico win32/resources/resource.h \
win32/resources/quakeforge.rc win32/bc/borland.c win32/bc/config.h \
win32/vc/config.h win32/vc/dirent.h

View file

@ -26,7 +26,7 @@
$Id$
*/
#if defined(_WIN32) && !defined(__GNUC__)
#pragma warning(disable:4305)
# pragma warning(disable:4305)
#endif
{-0.525731, 0.000000, 0.850651},
{-0.442863, 0.238856, 0.864188},

View file

@ -30,9 +30,9 @@
#define __ASM_I386__
#ifdef HAVE_SYM_PREFIX_UNDERSCORE
#define C(label) _##label
# define C(label) _##label
#else
#define C(label) label
# define C(label) label
#endif
//
@ -89,11 +89,13 @@
#define ch_pos 16
#define ch_looping 20
#define ch_entnum 24
#define ch_entchannel 28
#define ch_entchannel 28
#define ch_origin 32
#define ch_dist_mult 44
#define ch_master_vol 48
#define ch_size 52
#define ch_dist_mult 44
#define ch_master_vol 48
#define ch_phase 52
#define ch_oldphase 56
#define ch_size 60
// portable_samplepair_t structure
// !!! if this is changed, it much be changed in sound.h too !!!
@ -102,4 +104,3 @@
#define psp_size 8
#endif

View file

@ -30,9 +30,9 @@
#define _BOTHDEFS_H
#ifdef USE_INTEL_ASM
#define UNALIGNED_OK 1 // set to 0 if unaligned accesses are not supported
# define UNALIGNED_OK 1 // set to 0 if unaligned accesses are not supported
#else
#define UNALIGNED_OK 0
# define UNALIGNED_OK 0
#endif
// !!! if this is changed, it must be changed in d_ifacea.h too !!!
@ -40,7 +40,8 @@
#define UNUSED(x) (x = x) // for pesky compiler / lint warnings
#define MINIMUM_MEMORY 0x550000
// Error out if we get less than 4MB
#define MINIMUM_MEMORY 0x400000

View file

@ -25,14 +25,11 @@
$Id$
*/
#ifndef _BSPFILE_H
#define _BSPFILE_H
#ifndef __bspfile_h_
#define __bspfile_h_
#include "qtypes.h"
// upper design bounds
#define MAX_MAP_HULLS 4
@ -67,9 +64,9 @@
#define BSPVERSION 29
typedef struct
{
int fileofs, filelen;
typedef struct {
int fileofs;
int filelen;
} lump_t;
#define LUMP_ENTITIES 0
@ -90,8 +87,7 @@ typedef struct
#define HEADER_LUMPS 15
typedef struct
{
typedef struct {
float mins[3], maxs[3];
float origin[3];
int headnode[MAX_MAP_HULLS];
@ -99,29 +95,25 @@ typedef struct
int firstface, numfaces;
} dmodel_t;
typedef struct
{
typedef struct {
int version;
lump_t lumps[HEADER_LUMPS];
} dheader_t;
typedef struct
{
typedef struct {
int nummiptex;
int dataofs[4]; // [nummiptex]
} dmiptexlump_t;
#define MIPLEVELS 4
typedef struct miptex_s
{
typedef struct miptex_s {
char name[16];
unsigned int width, height;
unsigned int offsets[MIPLEVELS]; // four mip maps stored
} miptex_t;
typedef struct
{
typedef struct {
float point[3];
} dvertex_t;
@ -136,15 +128,12 @@ typedef struct
#define PLANE_ANYY 4
#define PLANE_ANYZ 5
typedef struct
{
typedef struct {
float normal[3];
float dist;
int type; // PLANE_X - PLANE_ANYZ ?remove? trivial to regenerate
} dplane_t;
#define CONTENTS_EMPTY -1
#define CONTENTS_SOLID -2
#define CONTENTS_WATER -3
@ -153,8 +142,7 @@ typedef struct
#define CONTENTS_SKY -6
// !!! if this is changed, it must be changed in asm_i386.h too !!!
typedef struct
{
typedef struct {
int planenum;
short children[2]; // negative numbers are -(leafs+1), not nodes
short mins[3]; // for sphere culling
@ -163,15 +151,13 @@ typedef struct
unsigned short numfaces; // counting both sides
} dnode_t;
typedef struct
{
typedef struct {
int planenum;
short children[2]; // negative numbers are contents
} dclipnode_t;
typedef struct texinfo_s
{
typedef struct texinfo_s {
float vecs[2][4]; // [s/t][xyz offset]
int miptex;
int flags;
@ -180,14 +166,12 @@ typedef struct texinfo_s
// note that edge 0 is never used, because negative edge nums are used for
// counterclockwise use of the edge in a face
typedef struct
{
typedef struct {
unsigned short v[2]; // vertex numbers
} dedge_t;
#define MAXLIGHTMAPS 4
typedef struct
{
typedef struct {
short planenum;
short side;
@ -211,8 +195,7 @@ typedef struct
// leaf 0 is the generic CONTENTS_SOLID leaf, used for all solid areas
// all other leafs need visibility info
typedef struct
{
typedef struct {
int contents;
int visofs; // -1 = no visibility info
@ -282,4 +265,4 @@ void WriteBSPFile (char *filename);
void PrintBSPFileSizes (void);
#endif
#endif // _BSPFILE_H
#endif // __bspfile_h_

View file

@ -29,6 +29,7 @@
#ifndef _CDAUDIO_H
#define _CDAUDIO_H
#include "qtypes.h"
int CDAudio_Init(void);
void CDAudio_Play(byte track, qboolean looping);

55
include/cl_cam.h Normal file
View file

@ -0,0 +1,55 @@
/*
cl_cam.h
Client camera definitions
Copyright (C) 1996-1997 Id Software, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
$Id$
*/
#ifndef _CL_CAM_H
#define _CL_CAM_H
// since all headers are circular-protected with #ifdef _xxx_H
// try to get them self-sufficient by including whatever other
// headers they might need
#include "protocol.h"
#define CAM_NONE 0
#define CAM_TRACK 1
extern int autocam;
extern int spec_track; // player# of who we are tracking
qboolean Cam_DrawViewModel(void);
qboolean Cam_DrawPlayer(int playernum);
void Cam_Track(usercmd_t *cmd);
void Cam_FinishMove(usercmd_t *cmd);
void Cam_Reset(void);
void CL_Cam_Init(void);
void CL_Cam_Init_Cvars(void);
void CL_ParseEntityLump(char *entdata);
#endif // _CL_CAM_H

View file

@ -1,7 +1,7 @@
/*
gl_trans.c
client.h
(description)
Client definitions
Copyright (C) 1996-1997 Id Software, Inc.
@ -26,24 +26,20 @@
$Id$
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "sys.h"
#include "quakedef.h"
#ifndef _CL_DEMO_H
#define _CL_DEMO_H
#include "qtypes.h"
#include "protocol.h"
#include "glquake.h"
/*
=====================
CL_NewTranslation
=====================
*/
void CL_NewTranslation (int slot)
{
if (slot > MAX_CLIENTS)
// Sys_Error ("CL_NewTranslation: slot > MAX_CLIENTS");
Host_EndGame ("CL_NewTranslation: slot > MAX_CLIENTS");
void CL_StopPlayback (void);
qboolean CL_GetMessage (void);
void CL_WriteDemoCmd (usercmd_t *pcmd);
R_TranslatePlayerSkin(slot);
}
void CL_Stop_f (void);
void CL_Record_f (void);
void CL_ReRecord_f (void);
void CL_PlayDemo_f (void);
void CL_TimeDemo_f (void);
#endif

47
include/cl_ents.h Normal file
View file

@ -0,0 +1,47 @@
/*
client.h
Client definitions
Copyright (C) 1996-1997 Id Software, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
$Id$
*/
#ifndef _CL_ENTS_H
#define _CL_ENTS_H
#include "qtypes.h"
void CL_SetSolidPlayers (int playernum);
void CL_SetUpPlayerPrediction(qboolean dopred);
void CL_EmitEntities (void);
void CL_ClearProjectiles (void);
void CL_ParseProjectiles (void);
void CL_ParsePacketEntities (qboolean delta);
void CL_SetSolidEntities (void);
void CL_ParsePlayerinfo (void);
void CL_Ents_Init (void);
extern struct cvar_s *cl_deadbodyfilter;
extern struct cvar_s *cl_gibfilter;
#endif

View file

@ -1,11 +1,9 @@
/*
qstructs.h
client.h
common structures
Client definitions
Copyright (C) 1996-1997 Id Software, Inc.
Copyright (C) 1999,2000 contributors of the QuakeForge project
Please see the file "AUTHORS" for a list of contributors
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@ -27,33 +25,39 @@
$Id$
*/
#ifndef _QSTRUCTS_H
#define _QSTRUCTS_H
#include <stdio.h>
#include <sys/types.h>
#ifndef _CL_INPUT_H
#define _CL_INPUT_H
//=============================================================================
// the host system specifies the base of the directory tree, the
// command line parms passed to the program, and the amount of memory
// available for the program to use
#include "protocol.h"
typedef struct
{
char *basedir;
int argc;
char **argv;
void *membase;
int memsize;
} quakeparms_t;
int down[2]; // key nums holding it down
int state; // low bit is down state
} kbutton_t;
//=============================================================================
extern kbutton_t in_mlook, in_klook;
extern kbutton_t in_strafe;
extern kbutton_t in_speed;
typedef struct
{
int destcolor[3];
int percent; // 0-256
} cshift_t;
void CL_Input_Init (void);
void CL_Input_Init_Cvars (void);
void CL_ClearStates (void);
void CL_SendCmd (void);
void CL_SendMove (usercmd_t *cmd);
#endif // _QSTRUCTS_H
void CL_ClearState (void);
void CL_ReadPackets (void);
int CL_ReadFromServer (void);
void CL_WriteToServer (usercmd_t *cmd);
void CL_BaseMove (usercmd_t *cmd);
float CL_KeyState (kbutton_t *key);
char *Key_KeynumToString (int keynum);
#endif

57
include/cl_main.h Normal file
View file

@ -0,0 +1,57 @@
/*
client.h
Client definitions
Copyright (C) 1996-1997 Id Software, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
$Id$
*/
#ifndef _CL_MAIN_H
#define _CL_MAIN_H
#include "client.h"
#include "qtypes.h"
#include "render.h"
dlight_t *CL_AllocDlight (int key);
void CL_DecayLights (void);
void CL_Init (void);
void Host_WriteConfiguration (void);
void CL_EstablishConnection (char *host);
void CL_Disconnect (void);
void CL_Disconnect_f (void);
void CL_NextDemo (void);
qboolean CL_DemoBehind(void);
void CL_BeginServerConnect(void);
#define MAX_VISEDICTS 256
extern int cl_numvisedicts;
extern entity_t *cl_visedicts[MAX_VISEDICTS];
extern char emodel_name[], pmodel_name[], prespawn_name[], modellist_name[], soundlist_name[];
#endif // _CL_MAIN_H

46
include/cl_parse.h Normal file
View file

@ -0,0 +1,46 @@
/*
client.h
Client definitions
Copyright (C) 1996-1997 Id Software, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
$Id$
*/
#ifndef _CL_PARSE_H
#define _CL_PARSE_H
#include "qtypes.h"
#define NET_TIMINGS 256
#define NET_TIMINGSMASK 255
extern int packet_latency[NET_TIMINGS];
int CL_CalcNet (void);
void CL_ParseServerMessage (void);
void CL_NewTranslation (int slot);
qboolean CL_CheckOrDownloadFile (char *filename);
qboolean CL_IsUploading(void);
void CL_NextUpload(void);
void CL_StartUpload (byte *data, int size);
void CL_StopUpload(void);
#endif

39
include/cl_pred.h Normal file
View file

@ -0,0 +1,39 @@
/*
client.h
Client definitions
Copyright (C) 1996-1997 Id Software, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
$Id$
*/
#ifndef _CL_PRED_H
#define _CL_PRED_H
#include "client.h"
void CL_Prediction_Init_Cvars (void);
void CL_PredictMove (void);
void CL_PredictUsercmd (player_state_t *from, player_state_t *to, usercmd_t *u, qboolean spectator);
#endif

View file

@ -36,6 +36,10 @@
typedef struct server_entry_s {
char *server;
char *desc;
char *status;
int waitstatus;
double pingsent;
double pongback;
struct server_entry_s *next;
struct server_entry_s *prev;
} server_entry_t;
@ -58,4 +62,5 @@ void SL_Shutdown(server_entry_t *start);
char *gettokstart(char *str, int req, char delim);
int gettoklen(char *str, int req, char delim);
void timepassed (double time1, double *time2);
#endif // _CL_SLIST_H

40
include/cl_tent.h Normal file
View file

@ -0,0 +1,40 @@
/*
client.h
Client definitions
Copyright (C) 1996-1997 Id Software, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
$Id$
*/
#ifndef _CL_TENT_H
#define _CL_TENT_H
void CL_TEnts_Init (void);
void CL_ClearEnts (void);
void CL_ClearTEnts (void);
void CL_Init_Entity (struct entity_s *ent);
struct entity_s **CL_NewTempEntity (void);
void CL_ParseTEnt (void);
void CL_UpdateTEnts (void);
#endif

View file

@ -29,33 +29,17 @@
#ifndef _CLIENT_H
#define _CLIENT_H
// since all headers are circular-protected with #ifdef _xxx_H
// try to get them self-sufficient by including whatever other
// headers they might need
#include <stdio.h>
#include "info.h"
#include "mathlib.h"
#include "protocol.h"
#include "net.h"
#include "model.h"
#include "sound.h"
#include "render.h"
#include "cvar.h"
#include "protocol.h"
#include "quakefs.h"
typedef struct
{
char name[16];
qboolean failedload; // the name isn't a valid skin
cache_user_t cache;
} skin_t;
#include "render.h"
#include "vid.h"
#include "zone.h"
// player_state_t is the information needed by a player entity
// to do move prediction and to generate a drawable entity
typedef struct
{
typedef struct player_state_s {
int messagenum; // all player's won't be updated each frame
double state_time; // not the same as the packet time,
@ -67,6 +51,7 @@ typedef struct
vec3_t velocity;
int weaponframe;
int number;
int modelindex;
int frame;
int skinnum;
@ -102,7 +87,7 @@ typedef struct player_info_s
int spectator;
byte translations[VID_GRADES*256];
skin_t *skin;
struct skin_s *skin;
} player_info_t;
@ -147,8 +132,7 @@ typedef struct
float die; // stop lighting after this time
float decay; // drop this each second
float minlight; // don't add when contributing less
float _color[3]; // Don't use alpha --KB
float *color;
float color[3]; // Don't use alpha --KB
} dlight_t;
typedef struct
@ -280,7 +264,7 @@ typedef struct
float driftmove;
double laststop;
int onground; // -1 when in air
float crouch; // local amount for smoothing stepups
qboolean paused; // send over by server
@ -301,7 +285,7 @@ typedef struct
char levelname[40]; // for display on solo scoreboard
int playernum;
int stdver;
float stdver; // QSG version
// refresh related state
struct model_s *worldmodel; // cl_entitites[0].model
@ -321,35 +305,36 @@ typedef struct
//
// cvars
//
extern cvar_t *cl_warncmd;
extern cvar_t *cl_upspeed;
extern cvar_t *cl_forwardspeed;
extern cvar_t *cl_backspeed;
extern cvar_t *cl_sidespeed;
extern struct cvar_s *cl_warncmd;
extern struct cvar_s *cl_upspeed;
extern struct cvar_s *cl_forwardspeed;
extern struct cvar_s *cl_backspeed;
extern struct cvar_s *cl_sidespeed;
extern cvar_t *cl_movespeedkey;
extern struct cvar_s *cl_movespeedkey;
extern cvar_t *cl_yawspeed;
extern cvar_t *cl_pitchspeed;
extern struct cvar_s *cl_yawspeed;
extern struct cvar_s *cl_pitchspeed;
extern cvar_t *cl_anglespeedkey;
extern struct cvar_s *cl_anglespeedkey;
extern cvar_t *cl_shownet;
extern cvar_t *cl_sbar;
extern cvar_t *cl_hudswap;
extern struct cvar_s *cl_shownet;
extern struct cvar_s *cl_sbar;
extern struct cvar_s *cl_sbar_separator;
extern struct cvar_s *cl_hudswap;
extern cvar_t *cl_pitchdriftspeed;
extern cvar_t *lookspring;
extern cvar_t *lookstrafe;
extern cvar_t *sensitivity;
extern cvar_t *cl_freelook;
extern struct cvar_s *cl_pitchdriftspeed;
extern struct cvar_s *lookspring;
extern struct cvar_s *lookstrafe;
extern struct cvar_s *sensitivity;
extern struct cvar_s *cl_freelook;
extern cvar_t *m_pitch;
extern cvar_t *m_yaw;
extern cvar_t *m_forward;
extern cvar_t *m_side;
extern struct cvar_s *m_pitch;
extern struct cvar_s *m_yaw;
extern struct cvar_s *m_forward;
extern struct cvar_s *m_side;
extern cvar_t *name;
extern struct cvar_s *name;
#define MAX_STATIC_ENTITIES 128 // torches, etc
@ -371,178 +356,6 @@ extern qboolean allowskybox;
//=============================================================================
//
// cl_main
//
dlight_t *CL_AllocDlight (int key);
void CL_DecayLights (void);
void CL_Init (void);
void Host_WriteConfiguration (void);
void CL_EstablishConnection (char *host);
void CL_Disconnect (void);
void CL_Disconnect_f (void);
void CL_NextDemo (void);
qboolean CL_DemoBehind(void);
void CL_BeginServerConnect(void);
#define MAX_VISEDICTS 256
extern int cl_numvisedicts, cl_oldnumvisedicts;
extern entity_t *cl_visedicts, *cl_oldvisedicts;
extern entity_t cl_visedicts_list[2][MAX_VISEDICTS];
extern char emodel_name[], pmodel_name[], prespawn_name[], modellist_name[], soundlist_name[];
//
// cl_input
//
typedef struct
{
int down[2]; // key nums holding it down
int state; // low bit is down state
} kbutton_t;
extern kbutton_t in_mlook, in_klook;
extern kbutton_t in_strafe;
extern kbutton_t in_speed;
void CL_InitInput (void);
void CL_ClearStates (void);
void CL_SendCmd (void);
void CL_SendMove (usercmd_t *cmd);
void CL_ParseTEnt (void);
void CL_UpdateTEnts (void);
void CL_ClearState (void);
void CL_ReadPackets (void);
int CL_ReadFromServer (void);
void CL_WriteToServer (usercmd_t *cmd);
void CL_BaseMove (usercmd_t *cmd);
float CL_KeyState (kbutton_t *key);
char *Key_KeynumToString (int keynum);
//
// cl_demo.c
//
void CL_StopPlayback (void);
qboolean CL_GetMessage (void);
void CL_WriteDemoCmd (usercmd_t *pcmd);
void CL_Stop_f (void);
void CL_Record_f (void);
void CL_ReRecord_f (void);
void CL_PlayDemo_f (void);
void CL_TimeDemo_f (void);
//
// cl_parse.c
//
#define NET_TIMINGS 256
#define NET_TIMINGSMASK 255
extern int packet_latency[NET_TIMINGS];
int CL_CalcNet (void);
void CL_ParseServerMessage (void);
void CL_NewTranslation (int slot);
qboolean CL_CheckOrDownloadFile (char *filename);
qboolean CL_IsUploading(void);
void CL_NextUpload(void);
void CL_StartUpload (byte *data, int size);
void CL_StopUpload(void);
//
// view.c
//
void V_StartPitchDrift (void);
void V_StopPitchDrift (void);
void V_RenderView (void);
void V_UpdatePalette (void);
void V_Register (void);
void V_ParseDamage (void);
void V_SetContentsColor (int contents);
void V_CalcBlend (void);
//
// cl_tent
//
void CL_InitTEnts (void);
void CL_ClearTEnts (void);
//
// cl_ents.c
//
void CL_SetSolidPlayers (int playernum);
void CL_SetUpPlayerPrediction(qboolean dopred);
void CL_EmitEntities (void);
void CL_ClearProjectiles (void);
void CL_ParseProjectiles (void);
void CL_ParsePacketEntities (qboolean delta);
void CL_SetSolidEntities (void);
void CL_ParsePlayerinfo (void);
//
// cl_pred.c
//
void CL_InitPrediction (void);
void CL_PredictMove (void);
void CL_PredictUsercmd (player_state_t *from, player_state_t *to, usercmd_t *u, qboolean spectator);
//
// cl_cam.c
//
#define CAM_NONE 0
#define CAM_TRACK 1
extern int autocam;
extern int spec_track; // player# of who we are tracking
qboolean Cam_DrawViewModel(void);
qboolean Cam_DrawPlayer(int playernum);
void Cam_Track(usercmd_t *cmd);
void Cam_FinishMove(usercmd_t *cmd);
void Cam_Reset(void);
void CL_InitCam(void);
void CL_ParseEntityLump(char *entdata);
//
// skin.c
//
typedef struct
{
char manufacturer;
char version;
char encoding;
char bits_per_pixel;
unsigned short xmin,ymin,xmax,ymax;
unsigned short hres,vres;
unsigned char palette[48];
char reserved;
char color_planes;
unsigned short bytes_per_line;
unsigned short palette_type;
char filler[58];
unsigned char data; // unbounded
} pcx_t;
void Skin_Find (player_info_t *sc);
byte *Skin_Cache (skin_t *skin);
void Skin_Skins_f (void);
void Skin_AllSkins_f (void);
void Skin_NextDownload (void);
#define RSSHOT_WIDTH 320
#define RSSHOT_HEIGHT 200
#endif // _CLIENT_H

View file

@ -75,10 +75,11 @@ then searches for a command or variable that matches the first token.
typedef void (*xcommand_t) (void);
void Cmd_Init_Hash (void);
void Cmd_Init (void);
void cl_Cmd_Init (void);
void Cmd_AddCommand (char *cmd_name, xcommand_t function);
void Cmd_AddCommand (char *cmd_name, xcommand_t function, char *description);
// called by the init functions of other parts of the program to
// register commands and functions to call for them.
// The cmd_name is referenced later, so it should not be in temp memory

View file

@ -34,8 +34,8 @@
# include "config.h"
#endif
#include "cvar.h"
#include "gcc_attr.h"
#include "qtypes.h"
/* The host system specifies the base of the directory tree, the
command line parms passed to the program, and the amount of memory
@ -44,7 +44,6 @@
typedef struct
{
char *basedir;
int argc;
char **argv;
void *membase;
@ -54,15 +53,12 @@ typedef struct
/* Host */
extern quakeparms_t host_parms;
extern cvar_t *sys_nostdout;
extern cvar_t *developer;
extern struct cvar_s *sys_nostdout;
extern struct cvar_s *developer;
extern qboolean host_initialized; /* True if into command execution. */
//extern double host_frametime;
extern double realtime; /* Not bounded in any way, changed at
start of every frame, never reset */
char *va(char *format, ...) __attribute__((format(printf,1,2)));
// does a varargs printf into a temp buffer
#endif // _COMMDEF_H

View file

@ -39,7 +39,7 @@
# include <sys/types.h>
#endif
#include "stdlib.h"
#include <stdlib.h>
#ifndef max
# define max(a,b) ((a) > (b) ? (a) : (b))
@ -74,4 +74,18 @@ extern int snprintf(char * s, size_t maxlen, const char *format, ...);
extern int vsnprintf(char *s, size_t maxlen, const char *format, va_list arg);
#endif
/* String utility functions */
#if !defined(strequal)
# define strequal(a,b) (strcmp (a, b) == 0)
#endif
#if !defined(strcaseequal)
# define strcaseequal(a,b) (strcasecmp (a, b) == 0)
#endif
#if !defined(strnequal)
# define strnequal(a,b,c) (strncmp (a, b, c) == 0)
#endif
#if !defined(strncaseequal)
# define strncaseequal(a,b,c) (strncasecmp (a, b, c) == 0)
#endif
#endif // _COMPAT_H

View file

@ -60,6 +60,7 @@ void Con_DrawCharacter (int cx, int line, int num);
void Con_CheckResize (void);
void Con_Init (void);
void Con_Init_Cvars (void);
void Con_DrawConsole (int lines);
void Con_Print (char *txt);
void Con_Printf (char *fmt, ...) __attribute__((format(printf,1,2)));

View file

@ -28,36 +28,44 @@
$Id$
*/
#ifndef __CONTEXT_X11_H__
#define __CONTEXT_X11_H__
#ifndef __context_x11_h_
#define __context_x11_h_
#include <qtypes.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
void GetEvent( void );
#include "qtypes.h"
extern Display *x_disp;
extern int x_screen;
extern Window x_root;
extern XVisualInfo *x_visinfo;
extern Visual *x_vis;
extern Visual *x_vis;
extern Window x_root;
extern Window x_win;
extern qboolean doShm;
extern XVisualInfo *x_visinfo;
extern double x_gamma;
extern int x_screen;
extern int x_shmeventtype;
extern qboolean doShm;
extern qboolean oktodraw;
extern struct cvar_s *vid_fullscreen;
qboolean x11_add_event (int event, void (*event_handler)(XEvent *));
qboolean x11_del_event (int event, void (*event_handler)(XEvent *));
void x11_process_event (void);
void x11_process_events (void);
void x11_open_display (void);
void x11_close_display (void);
void x11_create_null_cursor (void);
void x11_set_vidmode (int, int);
void x11_restore_vidmode (void);
void x11_create_window (int, int);
void x11_grab_keyboard (void);
void x11_set_caption (char *);
void GetEvent (void);
#endif // __CONTEXT_X11_H__
double X11_GetGamma (void);
qboolean X11_AddEvent (int event, void (*event_handler)(XEvent *));
qboolean X11_RemoveEvent (int event, void (*event_handler)(XEvent *));
qboolean X11_SetGamma (double);
void X11_CloseDisplay (void);
void X11_CreateNullCursor (void);
void X11_CreateWindow (int, int);
void X11_ForceViewPort (void);
void X11_GrabKeyboard (void);
void X11_Init_Cvars (void);
void X11_OpenDisplay (void);
void X11_ProcessEvent (void);
void X11_ProcessEvents (void);
void X11_RestoreGamma (void);
void X11_RestoreVidMode (void);
void X11_SetCaption (char *);
void X11_SetVidMode (int, int);
#endif // __context_x11_h_

View file

@ -26,25 +26,25 @@
$Id$
*/
#ifndef _CVAR_H
#define _CVAR_H
#ifndef __cvar_h_
#define __cvar_h_
#include "qtypes.h"
#include "quakeio.h"
typedef struct cvar_s
{
typedef struct cvar_s {
char *name;
char *string;
int flags;
void (*callback)(struct cvar_s *var);
char *description; // for "help" command
float value;
int int_val;
vec3_t vec;
struct cvar_s *next;
} cvar_t;
typedef struct cvar_alias_s
{
typedef struct cvar_alias_s {
char *name;
cvar_t *cvar;
struct cvar_alias_s *next;
@ -56,19 +56,11 @@ typedef struct cvar_alias_s
// specific configurations
#define CVAR_USERINFO 2 // sent to server on connect or change
#define CVAR_SERVERINFO 4 // sent in response to front end requests
#define CVAR_SYSTEMINFO 8 // these cvars will be duplicated on all clients
#define CVAR_INIT 16 // don't allow change from console at all,
// but can be set from the command line
#define CVAR_NOTIFY 32 // Will notify players when changed.
#define CVAR_ROM 64 // display only, cannot be set by user at all
#define CVAR_USER_CREATED 128 // created by a set command
#define CVAR_HEAP 256 // allocated off the heap, safe to free
#define CVAR_CHEAT 512 // can not be changed if cheats are disabled
#define CVAR_NORESTART 1024 // do not clear when a cvar_restart is issued
#define CVAR_LATCH 2048 // will only change when C code next does
// a Cvar_Get(), so it can't be changed
#define CVAR_TEMP 4096 // can be set even when cheats are
// disabled, but is not archived
// Zoid| A good CVAR_ROM example is userpath. The code should read "cvar_t
// *fs_userpath = CvarGet("fs_userpath", ".", CVAR_ROM); The user can
@ -80,7 +72,8 @@ typedef struct cvar_alias_s
// Returns the Cvar if found, creates it with value if not. Description and
// flags are always updated.
cvar_t *Cvar_Get (char *name, char *value, int cvarflags, char *description);
cvar_t *Cvar_Get (char *name, char *value, int cvarflags,
void (*callback)(cvar_t*), char *description);
cvar_t *Cvar_FindAlias (char *alias_name);
@ -118,9 +111,10 @@ void Cvar_WriteVariables (QFile *f);
// Returns a pointer to the Cvar, NULL if not found
cvar_t *Cvar_FindVar (char *var_name);
void Cvar_Init();
void Cvar_Init_Hash (void);
void Cvar_Init (void);
void Cvar_Shutdown();
void Cvar_Shutdown (void);
extern cvar_t *cvar_vars;

View file

@ -31,7 +31,6 @@
#include "mathlib.h"
#include "model.h"
#include "cvar.h"
#define WARP_WIDTH 320
#define WARP_HEIGHT 200
@ -120,7 +119,7 @@ typedef struct
int color;
} zpointdesc_t;
extern cvar_t *r_drawflat;
extern struct cvar_s *r_drawflat;
extern int d_spanpixcount;
extern int r_framecount; // sequence # of current frame since Quake
// started
@ -170,6 +169,7 @@ void D_DrawZPoint (void);
void D_EnableBackBufferAccess (void);
void D_EndParticles (void);
void D_Init (void);
void D_Init_Cvars (void);
void D_ViewChanged (void);
void D_SetupFrame (void);
void D_StartParticles (void);

View file

@ -3,9 +3,8 @@
Definitions for XFree86 DGA and VidMode support
Copyright (C) 2000 Marcus Sundberg [mackan@stacken.kth.se]
Copyright (C) 2000 contributors of the QuakeForge project
Please see the file "AUTHORS" for a list of contributors
Copyright (C) 2000 Jeff Teunissen <deek@dusknet.dhs.org>
Copyright (C) 2000 Marcus Sundberg [mackan@stacken.kth.se]
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@ -28,21 +27,19 @@
$Id$
*/
#ifndef DGA_CHECK_H
#define DGA_CHECK_H
#ifndef __dga_check_h_
#define __dga_check_h_
#include <X11/Xlib.h>
#include "cvar.h"
extern cvar_t *vid_dga_mouseaccel;
#include "qtypes.h"
/*
VID_CheckDGA
Check for the presence of the XFree86-DGA support in the X server
*/
int VID_CheckDGA(Display *dpy, int *maj_ver, int *min_ver, int *hasvideo);
qboolean VID_CheckDGA (Display *, int *, int *, int *);
/*
@ -50,6 +47,6 @@ int VID_CheckDGA(Display *dpy, int *maj_ver, int *min_ver, int *hasvideo);
Check for the presence of the XFree86-VMode X server extension
*/
int VID_CheckVMode(Display *dpy, int *maj_ver, int *min_ver);
qboolean VID_CheckVMode (Display *, int *, int *);
#endif /* DGA_CHECK_H */
#endif // __dga_check_h_

View file

@ -34,9 +34,11 @@
extern qpic_t *draw_disc; // also used on sbar
void Draw_Init (void);
void Draw_Init_Cvars (void);
void Draw_Character8 (int x, int y, int num);
void Draw_SubPic(int x, int y, qpic_t *pic, int srcx, int srcy, int width, int height);
void Draw_Pic (int x, int y, qpic_t *pic);
void Draw_TextBox (int x, int y, int width, int lines);
void Draw_TransPic (int x, int y, qpic_t *pic);
void Draw_TransPicTranslate (int x, int y, qpic_t *pic, byte *translation);
void Draw_ConsoleBackground (int lines);
@ -48,7 +50,7 @@ void Draw_FadeScreen (void);
void Draw_String8 (int x, int y, char *str);
void Draw_AltString8 (int x, int y, char *str);
qpic_t *Draw_PicFromWad (char *name);
qpic_t *Draw_CachePic (char *path);
qpic_t *Draw_CachePic (char *path, qboolean alpha);
void Draw_Crosshair(void);
#endif // _DRAW_H

84
include/fbset.h Normal file
View file

@ -0,0 +1,84 @@
/*
* Linux Frame Buffer Device Configuration
*
* © Copyright 1995-1998 by Geert Uytterhoeven
* (Geert.Uytterhoeven@cs.kuleuven.ac.be)
*
* --------------------------------------------------------------------------
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file COPYING in the main directory of the Linux
* distribution for more details.
*/
#include <stdio.h>
#include <sys/types.h>
#ifdef __GLIBC__
# include <asm/types.h>
#endif
#include <linux/fb.h>
#define FBSET_VERSION "Linux Frame Buffer Device Configuration " \
"Version 2.1 (23/06/1999)\n" \
"(C) Copyright 1995-1999 by Geert Uytterhoeven\n"
#define LOW (0)
#define HIGH (1)
#define FALSE (0)
#define TRUE (1)
struct color {
unsigned int length;
unsigned int offset;
};
struct VideoMode {
struct VideoMode *next;
char *name;
/* geometry */
__u32 xres;
__u32 yres;
__u32 vxres;
__u32 vyres;
__u32 depth;
__u32 nonstd;
/* acceleration */
__u32 accel_flags;
/* timings */
__u32 pixclock;
__u32 left;
__u32 right;
__u32 upper;
__u32 lower;
__u32 hslen;
__u32 vslen;
/* flags */
unsigned hsync : 1;
unsigned vsync : 1;
unsigned csync : 1;
unsigned gsync : 1;
unsigned extsync : 1;
unsigned bcast : 1;
unsigned laced : 1;
unsigned dblscan : 1;
unsigned grayscale : 1;
/* scanrates */
double drate;
double hrate;
double vrate;
/* RGB entries */
struct color red, green, blue, transp;
};
extern FILE *yyin;
extern int line;
extern const char *Opt_modedb;
extern int yyparse(void);
extern void Die(const char *fmt, ...) __attribute__ ((noreturn));
extern void AddVideoMode(const struct VideoMode *vmode);
extern void makeRGBA(struct VideoMode *vmode, const char* opt);

34
include/fractalnoise.h Normal file
View file

@ -0,0 +1,34 @@
/*
fractalnoise.h
LordHavocs fractial noise generator.
Copyright (C) 2000 Forest `LordHavoc` Hale.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
$Id$
*/
#ifndef _FRACTALNOISE_H
#define _FRACTALNOISE_H
void fractalnoise(unsigned char *noise, int size);
#endif // _FRACTALNOISE_H

View file

@ -30,7 +30,7 @@
#define _GCC_ATTR_H
#ifndef __GNUC__
#define __attribute__(x)
# define __attribute__(x)
#endif
#endif // _GCC_ATTR_H

View file

@ -33,69 +33,32 @@
# include "config.h"
#endif
#ifdef _WIN32
// disable data conversion warnings
// FIXME: move that somewhere else -- yan
#pragma warning(disable : 4244) // MIPS
#pragma warning(disable : 4136) // X86
#pragma warning(disable : 4051) // ALPHA
#pragma warning(disable : 4305) // thousands of double to float truncation warnings
#include <windows.h>
#ifdef HAVE_WINDOWS_H
# include <windows.h>
#endif
#include <GL/gl.h>
//#include <GL/glu.h>
#include "client.h"
#include "cvar.h"
#include "model.h"
#include "render.h"
#include "cvar.h"
#include "qfgl_ext.h"
#include "wad.h"
#include "client.h"
#ifndef GL_BGR
#define GL_BGR 0x80E0
#endif
#ifndef GL_BGRA
#define GL_BGRA 0x80E1
#endif
#ifndef GLAPIENTRY
# ifdef APIENTRY
# define GLAPIENTRY APIENTRY
# else
# define GLAPIENTRY
# endif
#endif
void GL_BeginRendering (int *x, int *y, int *width, int *height);
void GL_EndRendering (void);
// Function prototypes for the Texture Object Extension routines
typedef GLboolean (GLAPIENTRY *ARETEXRESFUNCPTR)(GLsizei, const GLuint *,const GLboolean *);
typedef void (GLAPIENTRY *BINDTEXFUNCPTR)(GLenum, GLuint);
typedef void (GLAPIENTRY *DELTEXFUNCPTR)(GLsizei, const GLuint *);
typedef void (GLAPIENTRY *GENTEXFUNCPTR)(GLsizei, GLuint *);
typedef GLboolean (GLAPIENTRY *ISTEXFUNCPTR)(GLuint);
typedef void (GLAPIENTRY *PRIORTEXFUNCPTR)(GLsizei, const GLuint *,
const GLclampf *);
typedef void (GLAPIENTRY *TEXSUBIMAGEPTR)(int, int, int, int, int, int, int, int, void *);
extern int texture_extension_number;
extern int texture_mode;
extern DELTEXFUNCPTR delTexFunc;
extern TEXSUBIMAGEPTR TexSubImage2DFunc;
extern int texture_extension_number;
extern int texture_mode;
extern float gldepthmin, gldepthmax;
extern float gldepthmin, gldepthmax;
void GL_Upload8 (byte *data, int width, int height, qboolean mipmap, qboolean alpha);
void GL_Upload8_EXT (byte *data, int width, int height, qboolean mipmap, qboolean alpha);
int GL_LoadTexture (char *identifier, int width, int height, byte *data, qboolean mipmap, qboolean alpha, int bytesperpixel);
typedef struct
{
typedef struct {
float x, y, z;
float s, t;
float r, g, b;
@ -105,13 +68,6 @@ extern glvert_t glv;
extern int glx, gly, glwidth, glheight;
#ifdef _WIN32
extern PROC glArrayElementEXT;
extern PROC glColorPointerEXT;
extern PROC glTexturePointerEXT;
extern PROC glVertexPointerEXT;
#endif
// r_local.h -- private refresh defs
#define ALIAS_BASE_SIZE_RATIO (1.0 / 11.0)
@ -127,6 +83,7 @@ extern PROC glVertexPointerEXT;
#define SKYSHIFT 7
#define SKYSIZE (1 << SKYSHIFT)
#define SKYMASK (SKYSIZE - 1)
#define SKY_TEX 2000 // Quake 2 environment sky
#define BACKFACE_EPSILON 0.01
@ -135,8 +92,7 @@ void R_TimeRefresh_f (void);
void R_ReadPointFile_f (void);
texture_t *R_TextureAnimation (texture_t *base);
typedef struct surfcache_s
{
typedef struct surfcache_s {
struct surfcache_s *next;
struct surfcache_s **owner; // NULL is an empty chunk of memory
int lightadj[MAXLIGHTMAPS]; // checked for strobe flush
@ -180,73 +136,68 @@ extern texture_t *r_notexture_mip;
extern int d_lightstylevalue[256]; // 8.8 fraction of base light value
extern qboolean envmap;
extern int particletexture;
extern int netgraphtexture; // netgraph texture
extern int playertextures;
extern int player_fb_textures;
extern int skytexturenum; // index in cl.loadmodel, not gl texture object
extern cvar_t *r_norefresh;
extern cvar_t *r_drawentities;
extern cvar_t *r_drawworld;
extern cvar_t *r_drawviewmodel;
extern cvar_t *r_speeds;
extern cvar_t *r_waterwarp;
extern cvar_t *r_shadows;
extern cvar_t *r_wateralpha;
extern cvar_t *r_waterripple;
extern cvar_t *r_dynamic;
extern cvar_t *r_novis;
extern cvar_t *r_netgraph;
extern cvar_t *r_drawworld;
extern cvar_t *r_drawviewmodel;
extern cvar_t *r_particles;
extern cvar_t *r_speeds;
extern cvar_t *r_waterwarp;
extern cvar_t *r_shadows;
extern cvar_t *r_wateralpha;
extern cvar_t *r_waterripple;
extern cvar_t *r_dynamic;
extern cvar_t *r_novis;
extern cvar_t *r_netgraph;
extern cvar_t *gl_clear;
extern cvar_t *gl_cull;
extern cvar_t *gl_poly;
extern cvar_t *gl_texsort;
extern cvar_t *gl_smooth;
extern cvar_t *gl_smoothdlights;
extern cvar_t *gl_affinemodels;
extern cvar_t *gl_polyblend;
extern cvar_t *gl_keeptjunctions;
extern cvar_t *gl_flashblend;
extern cvar_t *gl_nocolors;
extern cvar_t *gl_particles;
extern cvar_t *gl_fb_models;
extern cvar_t *gl_fb_bmodels;
extern cvar_t *gl_affinemodels;
extern cvar_t *gl_clear;
extern cvar_t *gl_cull;
extern cvar_t *gl_fb_bmodels;
extern cvar_t *gl_fb_models;
extern cvar_t *gl_dlight_lightmap;
extern cvar_t *gl_dlight_polyblend;
extern cvar_t *gl_dlight_smooth;
extern cvar_t *gl_keeptjunctions;
extern cvar_t *gl_multitexture;
extern cvar_t *gl_nocolors;
extern cvar_t *gl_poly;
extern cvar_t *gl_polyblend;
extern int gl_lightmap_format;
extern int gl_solid_format;
extern int gl_alpha_format;
extern cvar_t *gl_max_size;
extern cvar_t *gl_playermip;
extern cvar_t *gl_max_size;
extern cvar_t *gl_playermip;
extern cvar_t *r_skyname;
extern cvar_t *gl_skymultipass;
extern cvar_t *gl_sky_clip;
extern cvar_t *gl_sky_divide;
extern cvar_t *r_skyname;
extern cvar_t *gl_skymultipass;
extern int gl_lightmap_format;
extern int gl_solid_format;
extern int gl_alpha_format;
extern float r_world_matrix[16];
extern float r_world_matrix[16];
extern const char *gl_vendor;
extern const char *gl_renderer;
extern const char *gl_version;
extern const char *gl_extensions;
extern const char *gl_vendor;
extern const char *gl_renderer;
extern const char *gl_version;
extern const char *gl_extensions;
void R_TranslatePlayerSkin (int playernum);
// Multitexture
#define TEXTURE0_SGIS 0x835E
#define TEXTURE1_SGIS 0x835F
#define GL_TEXTURE0_ARB 0x84C0
#define GL_TEXTURE1_ARB 0x84C1
typedef void (GLAPIENTRY *lpMTexFUNC) (GLenum, GLfloat, GLfloat);
typedef void (GLAPIENTRY *lpSelTexFUNC) (GLenum);
extern lpMTexFUNC qglMTexCoord2f;
extern lpSelTexFUNC qglSelectTexture;
extern qboolean gl_mtexable;
extern qboolean gl_arb_mtex;
extern int gl_mtex_enum;
// Multitexturing
extern QF_glActiveTextureARB qglActiveTexture;
extern QF_glMultiTexCoord2fARB qglMultiTexCoord2f;
extern qboolean gl_mtex_capable;
extern GLenum gl_mtex_enum;
// convenience check
#define gl_mtex_active (gl_mtex_capable && gl_multitexture->int_val)
void GL_DisableMultitexture (void);
void GL_EnableMultitexture (void);
@ -261,8 +212,7 @@ typedef struct {
float size;
float die, decay; // duration settings
float minlight; // lighting threshold
float _color[3]; // RGBA
float *color;
float color[3]; // !RGBA
} fire_t;
void R_AddFire (vec3_t, vec3_t, entity_t *ent);
@ -280,6 +230,7 @@ void EmitSkyPolys (msurface_t *fa);
void R_DrawSkyChain (msurface_t *s);
void R_LoadSkys (char *);
void R_DrawSky (void);
void R_DrawSkyChain (msurface_t *sky_chain);
//
// gl_draw.c
@ -289,11 +240,10 @@ void GL_Set2D (void);
//
// gl_rmain.c
//
void GL_CheckGamma (unsigned char *pal);
//qboolean R_CullBox (vec3_t mins, vec3_t maxs);
void R_RotateForEntity (entity_t *e);
extern inline qboolean R_CullBox (vec3_t mins, vec3_t maxs)
static inline qboolean R_CullBox (vec3_t mins, vec3_t maxs)
{
int i;
@ -329,11 +279,6 @@ void R_StoreEfrags (efrag_t **ppefrag);
extern qboolean lighthalf;
extern unsigned char lighthalf_v[3];
//
// gl_mesh.c
//
void GL_MakeAliasModelDisplayLists (model_t *m, aliashdr_t *hdr);
//
// gl_rsurf.c
//
@ -347,4 +292,3 @@ void GL_BuildLightmaps (void);
void R_NetGraph (void);
#endif // _GLQUAKE_H

54
include/hash.h Normal file
View file

@ -0,0 +1,54 @@
/*
hash.h
hash tables
Copyright (C) 1996-1997 Id Software, Inc.
Copyright (C) 2000 Marcus Sundberg <mackan@stacken.kth.se>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
$Id$
*/
#ifndef __hash_h
#define __hash_h
#include <stdlib.h> // should be sys/types.h, but bc is stupid
typedef struct hashlink_s {
struct hashlink_s *next;
struct hashlink_s **prev;
void *data;
} hashlink_t;
typedef struct hashtab_s {
size_t tab_size;
char *(*get_key)(void*);
void (*free_ele)(void*);
hashlink_t *tab[ZERO_LENGTH_ARRAY];
} hashtab_t;
hashtab_t *Hash_NewTable (int tsize, char *(*gk)(void*), void (*f)(void*));
void Hash_DelTable (hashtab_t *tab);
int Hash_Add (hashtab_t *tab, void *ele);
void *Hash_Find (hashtab_t *tab, const char *key);
int Hash_Del (hashtab_t *tab, const char *key);
#endif // __hash_h

View file

@ -29,36 +29,24 @@
#ifndef _QUAKEDEF_H
#define _QUAKEDEF_H
#include "commdef.h"
#include "gcc_attr.h"
#include "qtypes.h"
#define QUAKE_GAME // as opposed to utilities
//define PARANOID // speed sapping error checking
#if defined(_WIN32) && !defined(__GNUC__)
#pragma warning( disable : 4244 4127 4201 4214 4514 4305 4115 4018)
# pragma warning( disable : 4244 4127 4201 4214 4514 4305 4115 4018)
#endif
// FIXME: clean those includes -- yan
#include <math.h>
#include <string.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <setjmp.h>
#include <time.h>
#include "qtypes.h"
#include "cvar.h"
#include "commdef.h"
#define MAX_NUM_ARGVS 50
extern qboolean noclip_anglehack;
extern cvar_t *sys_ticrate;
extern cvar_t *password;
extern struct cvar_s *sys_ticrate;
extern struct cvar_s *password;
extern double host_frametime; // Tonik
@ -66,16 +54,16 @@ extern byte *host_basepal;
extern byte *host_colormap;
extern int host_framecount; // incremented every frame, never reset
extern qboolean msg_suppress_1; // Suppresses resolution and cache size console
// output and fullscreen DIB focus gain/loss
extern qboolean msg_suppress_1; // Suppresses resolution and cache size
// console output and fullscreen DIB focus
// gain/loss
void Host_ServerFrame (void);
void Host_InitCommands (void);
void Host_Init (quakeparms_t *parms);
void Host_Init (void);
void Host_Shutdown(void);
void Host_Error (char *error, ...) __attribute__((format(printf,1,2)));
void Host_EndGame (char *message, ...) __attribute__((format(printf,1,2)));
qboolean Host_SimulationTime(float time);
void Host_Frame (float time);
void Host_Quit_f (void);
void Host_ClientCommands (char *fmt, ...) __attribute__((format(printf,1,2)));

View file

@ -26,18 +26,28 @@
$Id$
*/
#ifndef _INFO_H
#define _INFO_H
#ifndef __info_h_
#define __info_h_
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <stdlib.h> // for size_t. sys/types.h SHOULD be used, but can't :(bc)
#include "qtypes.h"
#define MAX_INFO_STRING 512
#define MAX_SERVERINFO_STRING 512
#define MAX_LOCALINFO_STRING 32768
char *Info_ValueForKey (char *s, char *key);
qboolean Info_FilterForKey (const char *key);
void Info_Print (char *s);
void Info_RemoveKey (char *s, char *key);
void Info_RemovePrefixedKeys (char *start, char prefix);
void Info_SetValueForKey (char *s, char *key, char *value, int maxsize);
void Info_SetValueForStarKey (char *s, char *key, char *value, int maxsize);
void Info_Print (char *s);
void Info_SetValueForKey (char *s, char *key, char *value, size_t maxsize, int flags);
void Info_SetValueForStarKey (char *s, char *key, char *value, size_t maxsize, int flags);
char *Info_ValueForKey (char *s, char *key);
qboolean Info_Validate (char *s);
#endif // _INFO_H
#endif // __info_h_

View file

@ -35,6 +35,7 @@
#define freelook (in_mlook.state&1 || cl_freelook->int_val)
void IN_Init (void);
void IN_Init_Cvars (void);
void IN_Shutdown (void);

View file

@ -71,6 +71,7 @@ void JOY_Move (usercmd_t *);
you have successfully enabled it.
*/
void JOY_Init (void);
void JOY_Init_Cvars (void);
/*
JOY_Shutdown ()

View file

@ -160,8 +160,8 @@ typedef enum {
K_MWHEELDOWN
} keynum_t;
typedef enum {key_game, key_console, key_message, key_menu} keydest_t;
// key_none should, preferably, be last
typedef enum {key_game, key_console, key_message, key_menu, key_none} keydest_t;
extern keydest_t key_dest;
extern char *keybindings[256];
@ -172,8 +172,9 @@ extern char chat_buffer[];
extern int chat_bufferlen;
extern qboolean chat_team;
void Key_Event (int key, qboolean down);
void Key_Event (int key, int alt, qboolean down);
void Key_Init (void);
void Key_Init_Cvars (void);
void Key_WriteBindings (QFile *f);
void Key_SetBinding (int keynum, char *binding);
void Key_ClearStates (void);

View file

@ -26,6 +26,9 @@
$Id$
*/
#ifndef __locs_h
#define __locs_h
#include "qtypes.h"
typedef struct
@ -35,5 +38,13 @@ typedef struct
} location_t;
location_t *locs_find(vec3_t target);
void locs_load(char *mapname);
void locs_load(char *filename);
void locs_reset();
void locs_add(vec3_t location, char *name);
void map_to_loc (char *mapname, char *filename);
void locs_del (vec3_t loc);
void locs_edit (vec3_t loc, char *desc);
void locs_mark (vec3_t loc, char *desc);
void locs_save (char *filename, qboolean gz);
int locs_nearest (vec3_t loc);
#endif // __locs_h

398
include/logos.h Normal file
View file

@ -0,0 +1,398 @@
/*
logos.h
Logo pixmaps
Copyright (C) 1996-1997 Id Software, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
$Id$
*/
static char * logo1_pixmap[] = { // This is the basic logo
"60 60 536 2",
" c None",
". c #1A1A28", "+ c #222234", "@ c #27273C", "# c #2C2C42", "$ c #2E2E46",
"% c #303048", "& c #2E2E45", "* c #2B2B41", "= c #26263A", "- c #212131",
"; c #222233", "> c #2B2B42", ", c #373753", "' c #3B3B58", ") c #3B3B59",
"! c #3C3C5A", "~ c #3C3C5B", "{ c #3A3A58", "] c #34344E", "^ c #28283C",
"/ c #1B1B29", "( c #27273B", "_ c #3D3D5B", ": c #3D3D5C", "< c #3E3E5D",
"[ c #3E3E5E", "} c #3E3E5C", "| c #32324C", "1 c #232336", "2 c #393956",
"3 c #3D3D5D", "4 c #404060", "5 c #4C4C6D", "6 c #686889", "7 c #7B7B9E",
"8 c #8585A9", "9 c #8686AE", "0 c #8787B0", "a c #8787AF", "b c #8585AD",
"c c #8383A7", "d c #777799", "e c #606082", "f c #464668", "g c #3F3F5F",
"h c #353550", "i c #212134", "j c #363652", "k c #4F4F71", "l c #7D7D9E",
"m c #8D8DB4", "n c #8787B2", "o c #7676A3", "p c #656595", "q c #666695",
"r c #7979A6", "s c #8B8BB5", "t c #8A8AB0", "u c #737394", "v c #3F3F5E",
"w c #32324B", "x c #2D2D45", "y c #5C5C7E", "z c #8B8BB0", "A c #8888B3",
"B c #6B6B98", "C c #8E8EB8", "D c #4E4E70", "E c #525274", "F c #8B8BAF",
"G c #8383AF", "H c #595986", "I c #7F7FA2", "J c #474768", "K c #2F2F47",
"L c #1F1F30", "M c #424262", "N c #77779A", "O c #8A8AB4", "P c #5E5E8C",
"Q c #4B4B71", "R c #595987", "S c #585885", "T c #575783", "U c #565682",
"V c #555580", "W c #656593", "X c #8E8EB6", "Y c #636386", "Z c #34344F",
"` c #212132", " . c #49496B", ".. c #8F8FB4", "+. c #73739F", "@. c #4E4E76",
"#. c #67679B", "$. c #666699", "%. c #656598", "&. c #646496", "*. c #626294",
"=. c #616192", "-. c #5F5F8F", ";. c #5E5E8D", ">. c #5D5D8B", ",. c #7E7EA9",
"'. c #8080A2", "). c #414162", "!. c #202030", "~. c #555576", "{. c #9393BA",
"]. c #5F5F90", "^. c #6C6CA2", "/. c #6B6BA0", "(. c #6A6A9F", "_. c #68689D",
":. c #616191", "<. c #5F5F8E", "[. c #6B6B99", "}. c #8D8DB2", "|. c #1D1D2C",
"1. c #3A3A57", "2. c #5A5A7C", "3. c #8F8FB8", "4. c #66669C", "5. c #7070A8",
"6. c #6F6FA6", "7. c #6D6DA4", "8. c #7676AE", "9. c #7373AB", "0. c #6E6EA4",
"a. c #6B6BA1", "b. c #69699D", "c. c #66669A", "d. c #6B6B9C", "e. c #9292B9",
"f. c #4A4A6A", "g. c #575778", "h. c #8E8EB7", "i. c #6B6BA2", "j. c #7474AE",
"k. c #7373AC", "l. c #7171AA", "m. c #636390", "n. c #9191B7", "o. c #2F2F48",
"p. c #4C4C6E", "q. c #9292BA", "r. c #6E6EA8", "s. c #7878B4", "t. c #7777B2",
"u. c #7575B0", "v. c #666693", "w. c #8E8EB3", "x. c #262639", "y. c #252538",
"z. c #434364", "A. c #5F5F8D", "B. c #53537D", "C. c #606091", "D. c #636395",
"E. c #69699E", "F. c #6A6AA0", "G. c #6C6CA3", "H. c #6D6DA5", "I. c #6E6EA6",
"J. c #6F6FA7", "K. c #7C7CBB", "L. c #7B7BB9", "M. c #7A7AB6", "N. c #646497",
"O. c #494970", "P. c #70709F", "Q. c #8080A3", "R. c #1A1A2A", "S. c #7E7EA1",
"T. c #6E6E9C", "U. c #575784", "V. c #6E6EA5", "W. c #7070A9", "X. c #7373AD",
"Y. c #7676B1", "Z. c #7A7AB8", "`. c #7D7DBB", " + c #7E7EBE", ".+ c #8080C0",
"++ c #8181C2", "@+ c #8383C4", "#+ c #8383C5", "$+ c #7272AC", "%+ c #7878B5",
"&+ c #7E7EBD", "*+ c #7C7CBA", "=+ c #7A7AB7", "-+ c #7878B3", ";+ c #8080AD",
">+ c #636385", ",+ c #2D2D43", "'+ c #5B5B7D", ")+ c #8585B1", "!+ c #7171A9",
"~+ c #7979B6", "{+ c #7F7FBE", "]+ c #8181C1", "^+ c #8585C7", "/+ c #8787CA",
"(+ c #8888CB", "_+ c #8989CC", ":+ c #7777B3", "<+ c #8686C9", "[+ c #7979B5",
"}+ c #242435", "|+ c #1B1B28", "1+ c #414161", "2+ c #8F8FB5", "3+ c #7D7DBC",
"4+ c #8686C8", "5+ c #8B8BCF", "6+ c #8C8CD1", "7+ c #8E8ED3", "8+ c #8F8FD5",
"9+ c #8282C3", "0+ c #8A8ACE", "a+ c #7F7FBF", "b+ c #7676B2", "c+ c #5A5A86",
"d+ c #696998", "e+ c #7E7EA2", "f+ c #2C2C43", "g+ c #6A6A8D", "h+ c #7878A7",
"i+ c #7575AF", "j+ c #7C7CB6", "k+ c #8080BA", "l+ c #8787BD", "m+ c #8E8EC1",
"n+ c #8A8AC0", "o+ c #9393DA", "p+ c #9595DD", "q+ c #9696DF", "r+ c #8282C1",
"s+ c #9292DA", "t+ c #9090D6", "u+ c #8C8CD2", "v+ c #7B7BB1", "w+ c #7E7EBA",
"x+ c #7070AA", "y+ c #8C8CB7", "z+ c #4D4D70", "A+ c #404061", "B+ c #8F8FB7",
"C+ c #8484C6", "D+ c #9A9AE4", "E+ c #9D9DE7", "F+ c #9F9FEA", "G+ c #8989CB",
"H+ c #8E8ED4", "I+ c #9A9AE3", "J+ c #9292D9", "K+ c #8383A6", "L+ c #626282",
"M+ c #7B7BAA", "N+ c #A4A4EF", "O+ c #A7A7F4", "P+ c #AAAAF7", "Q+ c #9090D5",
"R+ c #9696DE", "S+ c #A3A3EE", "T+ c #9E9EE9", "U+ c #9999E2", "V+ c #8D8DB7",
"W+ c #464667", "X+ c #1A1A29", "Y+ c #8686AC", "Z+ c #7B7BB8", "`+ c #8D8DD1",
" @ c #AFAFFC", ".@ c #B5B5FF", "+@ c #B9B9FF", "@@ c #9C9CDC", "#@ c #A2A2E8",
"$@ c #AEAEFB", "%@ c #A8A8F4", "&@ c #A0A0EC", "*@ c #6E6E9E", "=@ c #727293",
"-@ c #454566", ";@ c #8C8CB6", ">@ c #9292D5", ",@ c #BEBEFF", "'@ c #C6C6FF",
")@ c #CCCCFF", "!@ c #AAAADE", "~@ c #AEAEEA", "{@ c #BCBCFF", "]@ c #B3B3FE",
"^@ c #AAAAF6", "/@ c #8989B0", "(@ c #33334E", "_@ c #626283", ":@ c #7A7AA8",
"<@ c #8484C5", "[@ c #9898D9", "}@ c #D1D1FF", "|@ c #DCDCFF", "1@ c #E4E4FF",
"2@ c #BABADE", "3@ c #BEBEEB", "4@ c #CECEFF", "5@ c #C1C1FF", "6@ c #B4B4FD",
"7@ c #454567", "8@ c #29293E", "9@ c #7D7D9F", "0@ c #656594", "a@ c #8B8BD0",
"b@ c #9D9DDC", "c@ c #E6E6FF", "d@ c #F5F5FF", "e@ c #FCFCFF", "f@ c #CBCBE0",
"g@ c #D0D0EC", "h@ c #E2E2FF", "i@ c #C0C0FE", "j@ c #7C7CAA", "k@ c #5F5F80",
"l@ c #202031", "m@ c #8787AD", "n@ c #8787CB", "o@ c #8D8DD3", "p@ c #A1A1DF",
"q@ c #FAFAFF", "r@ c #FFFFFF", "s@ c #CECEE1", "t@ c #DCDCED", "u@ c #F7F7FF",
"v@ c #CCCCFE", "w@ c #686896", "x@ c #767698", "y@ c #35354F", "z@ c #8D8DB5",
"A@ c #8989CD", "B@ c #A4A4E1", "C@ c #CFCFE1", "D@ c #DEDEED", "E@ c #F2F2FF",
"F@ c #D7D7FE", "G@ c #5B5B8B", "H@ c #8282A6", "I@ c #2A2A40", "J@ c #383854",
"K@ c #9090D7", "L@ c #A5A5E3", "M@ c #DEDEEE", "N@ c #FBFBFF", "O@ c #E0E0FE",
"P@ c #8585AC", "Q@ c #393955", "R@ c #8A8ACF", "S@ c #9191D8", "T@ c #A6A6E4",
"U@ c #D1D1E1", "V@ c #FEFEFF", "W@ c #E5E5FE", "X@ c #444465", "Y@ c #E6E6FE",
"Z@ c #8B8BB7", "`@ c #E2E2FE", " # c #8686AD", ".# c #353551", "+# c #8D8DB6",
"@# c #8F8FD6", "## c #A4A4E2", "$# c #D9D9FE", "%# c #8484A8", "&# c #303049",
"*# c #A2A2E0", "=# c #DDDDED", "-# c #CECEFE", ";# c #7A7A9C", "># c #2A2A41",
",# c #7F7FA3", "'# c #9E9EDD", ")# c #EBEBFF", "!# c #F9F9FF", "~# c #CCCCE0",
"{# c #D5D5EC", "]# c #E7E7FF", "^# c #D5D5FF", "/# c #C2C2FE", "(# c #7676A5",
"_# c #656586", ":# c #222235", "<# c #242437", "[# c #69698A", "}# c #7272A0",
"|# c #8080BF", "1# c #9999DA", "2# c #E1E1FF", "3# c #C0C0DE", "4# c #C2C2EB",
"5# c #D2D2FF", "6# c #C5C5FF", "7# c #B7B7FD", "8# c #8989B3", "9# c #4A4A6C",
"0# c #49496A", "a# c #7E7EBC", "b# c #9494D6", "c# c #C2C2FF", "d# c #CBCBFF",
"e# c #AEAEDE", "f# c #B2B2EA", "g# c #C0C0FF", "h# c #B7B7FF", "i# c #ACACF9",
"j# c #8C8CB4", "k# c #8E8ED2", "l# c #BDBDFF", "m# c #9E9EDC", "n# c #A4A4E9",
"o# c #B1B1FD", "p# c #666694", "q# c #7B7B9C", "r# c #28283D", "s# c #6D6D8E",
"t# c #7171A0", "u# c #8A8ACD", "v# c #A6A6F2", "w# c #ADADFA", "x# c #9393D7",
"y# c #9999E1", "z# c #A5A5F1", "A# c #8989B4", "B# c #4D4D6F", "C# c #232333",
"D# c #191927", "E# c #424263", "F# c #9C9CE7", "G# c #A1A1ED", "H# c #8B8BCC",
"I# c #9191D6", "J# c #9C9CE6", "K# c #9898E1", "L# c #9494DB", "M# c #5A5A8A",
"N# c #8989AF", "O# c #363651", "P# c #8282C2", "Q# c #656599", "R# c #7878AF",
"S# c #9494DC", "T# c #8282C4", "U# c #59597B", "V# c #27273A", "W# c #3B3B5A",
"X# c #9090B8", "Y# c #7474AF", "Z# c #8585C6", "`# c #8888CA", " $ c #8D8DCE",
".$ c #9191D2", "+$ c #9292D4", "@$ c #8888CC", "#$ c #8989AD", "$$ c #69698B",
"%$ c #7272AA", "&$ c #505071", "*$ c #1D1D2B", "=$ c #636391", "-$ c #5D5D8E",
";$ c #7373AE", ">$ c #7474A1", ",$ c #747497", "'$ c #4A4A6B", ")$ c #9090B9",
"!$ c #7575AE", "~$ c #60608E", "{$ c #202033", "]$ c #5B5B7C", "^$ c #484869",
"/$ c #8282AF", "($ c #68689E", "_$ c #7676B0", ":$ c #67679A", "<$ c #7272AB",
"[$ c #535374", "}$ c #232335", "|$ c #6E6E8F", "1$ c #626295", "2$ c #575779",
"3$ c #1A1A27", "4$ c #68688B", "5$ c #616193", "6$ c #6D6DA3", "7$ c #5E5E90",
"8$ c #5D5D8A", "9$ c #1E1E2F", "0$ c #29293F", "a$ c #626291", "b$ c #5E5E8E",
"c$ c #6F6F9C", "d$ c #9090B6", "e$ c #5B5B88", "f$ c #595985", "g$ c #585886",
"h$ c #7B7B9F", "i$ c #6F6F9E", "j$ c #626293", "k$ c #555581", "l$ c #7A7AA6",
"m$ c #585879", "n$ c #767699", "o$ c #7272A1", "p$ c #54547E", "q$ c #52527C",
"r$ c #5C5C89", "s$ c #7D7DA8", "t$ c #676789", "u$ c #2B2B40", "v$ c #6C6C8D",
"w$ c #7474A0", "x$ c #5C5C8A", "y$ c #5B5B89", "z$ c #505079", "A$ c #7B7BA7",
"B$ c #8686AA", "C$ c #5E5E80", "D$ c #383855", "E$ c #252537", "F$ c #48486A",
"G$ c #8A8AB3", "H$ c #8A8AB5", "I$ c #7B7B9D", "J$ c #606081", "K$ c #40405F",
" ",
" ",
" . + @ # $ % % & * = - ",
" ; > , ' ) ! ! ! ~ ~ ! ! ! ) { ] ^ / ",
" ( , ! ! _ : < < < [ [ [ [ < < } : _ ! ) | 1 ",
" ^ 2 ! _ 3 < 4 5 6 7 8 9 0 a b c d e f g < : _ ! h 1 ",
" i j ~ : < g k l m n o p q r s t u f v < : ! w / ",
" x ! : < 4 y z A q B C c D g < _ ' = ",
" / h ~ < g E F G H 0 I J [ : ! K ",
" L 2 _ < M N O P Q H R S T U V U W X Y g < ~ Z ",
" ` { : [ ...+. @.#.#.$.%.&.*.=.-.;.>.,.'.).< _ j ",
" !.' : v ~.{.]. *.^./.(._.#.$.&.*.:.<.>.[.}.f [ _ j ",
" |.1.: v 2.3. 4.5.6.7.8.8.9.5.0.a.b.c.&.d.e.f.[ _ Z ",
" j : v g.h. i.j.k.l.m. q n.f < ~ K ",
" o._ [ p.q. r.s.t.u. v.w.).< ! x. ",
" y.! < z.n.A. B.C.D.%.#.E.F.G.H.I.J.5.&. j.K.L.M.^._.c.N.*.C.O. P.Q.g : ' R. ",
" 2 : g S.T. U.V.W.X.Y.s.Z.`. +.+++@+#+$+ %+++.+&+*+=+-+u.k.5.V ;+>+[ _ w ",
" ,+~ [ '+)+ G.!+j.t.~+*+{+]+@+^+/+(+_+:+ `.<+^+@+.+&+L.[+Y.X.T 3.J < ! }+ ",
" |+' : 1+2+ !+j.:+=+3+.+@+4+_+5+6+7+8+*+ 9+6+0+(+^+9+a+K.~+b+c+ d+e+g : h ",
" f+~ [ g+h+ X.t.=+]+i+j+k+l+m+n+o+p+q+r+ (+s+t+u+v+w+[+i+x+V. y+z+< ! }+ ",
" 1.: A+B+ Y.M.3+C+ D+E+F+G+ H+I+q+J+ &.K+v _ | ",
" x.! < L+M+ %+*+.+G+ N+O+P+Q+ R+S+T+U+ V+W+: ) X+ ",
" | ~ v Y+ Z+{+@+`+ @.@+@@@ #@$@%@&@ *@=@< ! @ ",
" { : -@;@ 3+++<+>@ ,@'@)@!@ ~@{@]@^@ /@v _ (@ ",
" ; ) < _@:@ a+<@_+[@ }@|@1@2@ 3@4@5@6@ s 7@: { ",
" 8@! < 9@0@ ]+4+a@b@ c@d@e@f@ g@h@}@i@ j@k@: ) l@ ",
" K ~ [ m@ 9+n@o@p@ q@r@r@s@ t@u@h@v@ w@x@< ! x. ",
" y@~ g z@ #+A@8+B@ r@r@r@C@ D@r@E@F@ G@H@< ! I@ ",
" J@~ ).y+ C+0+K@L@ r@r@r@C@ M@r@N@O@ P@[ ! x ",
" Q@_ z.O ^+R@S@T@ r@r@r@U@ M@r@V@W@ 9 [ ~ K ",
" 2 _ X@O ^+5+S@T@ r@r@r@U@ M@r@V@Y@ a [ ~ o. ",
" J@~ M Z@ C+0+K@L@ r@r@r@C@ M@r@e@`@ #[ ! & ",
" .#~ 4 +# <@A@@### r@r@r@C@ D@r@d@$# %#< ! > ",
" &#~ v a @+(+7+*# e@r@r@s@ =#q@c@-# q ;#< ! ( ",
" >#! < ,#;. ++<+6+'# )#!#V@~# {#]#^#/# (#_#} ) :# ",
" <#! < [#}# |#C+A@1# ^#2#)#3# 4#5#6#7# 8#9#: ' ",
" ' : 0#O a#9+/+b# c#d#}@e# f#g#h#i# j#g _ .# ",
" Z _ g /@ L.a+<@k# ]@+@l#m# n#o#P+S+ p#q#< ! * ",
" r#! < s#t# ~+`.]+u# v#P+w#x# y#z#&@D+ A#B#: ) C# ",
" D#) : E#3. b+=+&+^+ F#F+G#H# I#J#K#L# M#N#g _ O# ",
" o.~ [ N [. j.:+Z+P#Q# R#S#q+K#T# A@S#S@7+ G U#< ! V# ",
" !.W#< X@X# l.Y#s.L.]+Z#`# $.$+$7+@#K@3+ #+o@a@@$ A.#$g : Q@ ",
" &#_ [ $$:@ V.%$Y#:+=+`.a+9+C+<+(+A@0+:+ &+n@4+#+ s &$< ! ^ ",
" *$' : 4 N#=$ -$I.l.j.b+~+L.a#|#++@+<@C+;$ ~+9+]+{+ >$,$v : .# ",
" * ~ < '$)$ ;.V.W.k.u.:+~+Z+K.&+{+a+J. !$a#*+=+ ~$}.1+< ! {$ ",
" Z _ v ]$A# _.~+=+Z.a. W.[+s.Y. e.^$< ~ f+ ",
" / 1.: g $$/$ ($i+_$Y.:$ G.i+j.<$ 3.[$[ _ Z ",
" }$! : g |$/$ $.!+l.<$1$ _.5.J.7. C 2$v : Q@3$ ",
" ( ! : g 4$A# 5$6$7.V.7$ 8$q.~.v : { 9$ ",
" 0$! : g ]$q.a$ b$b.E.(.G@ c$d$'$[ : { L ",
" ( ! : v '$N#:@ e$%.$.$.f$ g$n h$E#[ : 2 L ",
" + 1._ < 4 [#3.i$ U.j$j$*.k$ l$2+m$g < ~ .#/ ",
" . Z ~ : [ X@n$3.o$ p$b$<.-.q$ r$s$X t$1+< : ! K ",
" u$' _ < [ E#v$/@O w$f$x$y$x$z$ W A$V+B$C$4 < : ~ D$E$ ",
" *$&#W#~ : < g F$6 I #G$8#0 H$V+j#Y+I$J$X@[ < : ~ { > ",
" !.K ) ! _ : < < [ K$).z.z.1+g [ < < : ~ ! 1.# . ",
" D#^ Z ' ! ! ~ ~ ~ ~ ~ ~ ~ ~ ! ) 1.w = ",
" 1 I@% h J@Q@Q@, (@$ 8@+ ",
" ",
" "};
static char * logo2_pixmap[] = {
"60 60 680 2",
" c None",
". c #252538", "+ c #2D2D45", "@ c #31314A", "# c #353551", "$ c #3A3A57",
"% c #3B3B59", "& c #3B3B58", "* c #373753", "= c #34344F", "- c #33334D",
"; c #31314B", "> c #1E1E2D", ", c #2B2B43", "' c #3C3C5B", ") c #3D3D5B",
"! c #3D3D5C", "~ c #3E3E5D", "{ c #3E3E5E", "] c #3C3C5A", "^ c #383855",
"/ c #353550", "( c #181824", "_ c #2E2E46", ": c #3F3F5F", "< c #414161",
"[ c #49496E", "} c #555580", "| c #5F5F8E", "1 c #646496", "2 c #666699",
"3 c #676799", "4 c #656597", "5 c #616190", "6 c #595984", "7 c #4C4C72",
"8 c #414162", "9 c #33334E", "0 c #232335", "a c #48486D", "b c #5E5E8D",
"c c #6D6DA3", "d c #6E6EA5", "e c #6A6A9F", "f c #656598", "g c #5F5F90",
"h c #5D5D8C", "i c #626293", "j c #69699D", "k c #7070A7", "l c #7474AB",
"m c #6E6EA1", "n c #5C5C87", "o c #434365", "p c #393956", "q c #32324D",
"r c #29293F", "s c #454568", "t c #616192", "u c #646497", "v c #53537C",
"w c #585884", "x c #606090", "y c #6C6CA1", "z c #7A7AB1", "A c #7171A2",
"B c #4C4C71", "C c #2A2A40", "D c #505079", "E c #6D6DA4", "F c #636395",
"G c #575784", "H c #7E7EB3", "I c #7B7BAA", "J c #4C4C70", "K c #373752",
"L c #242436", "M c #565681", "N c #6C6CA2", "O c #54547E", "P c #8484B5",
"Q c #7878A1", "R c #434364", "S c #3A3A58", "T c #161621", "U c #54547D",
"V c #45456A", "W c #6B6B9D", "X c #8C8CB8", "Y c #5D5D82", "Z c #363651",
"` c #050508", " . c #3F3F5E", ".. c #4A4A6F", "+. c #585883", "@. c #6E6EA6",
"#. c #68689D", "$. c #4E4E77", "%. c #67679A", "&. c #5E5E8E", "*. c #595986",
"=. c #8181AF", "-. c #7C7CA3", ";. c #383856", ">. c #191927", ",. c #404061",
"'. c #07070D", "). c #7070A9", "!. c #7272AC", "~. c #7474AE", "{. c #7575B0",
"]. c #7676B2", "^. c #7373AD", "/. c #7070A8", "(. c #4E4E76", "_. c #69699E",
":. c #636394", "<. c #696998", "[. c #8D8DB6", "}. c #4B4B6D", "|. c #010103",
"1. c #505078", "2. c #010101", "3. c #68689C", "4. c #7676B1", "5. c #7878B4",
"6. c #7979B6", "7. c #7B7BB9", "8. c #7C7CBA", "9. c #7D7DBB", "0. c #7D7DBC",
"a. c #7A7AB7", "b. c #7575AF", "c. c #7373AC", "d. c #616191", "e. c #5F5F8F",
"f. c #8E8EB7", "g. c #59597C", "h. c #3B3B5A", "i. c #0D0D14", "j. c #60608F",
"k. c #7777B2", "l. c #8E8EC8", "m. c #8A8AC7", "n. c #8181C1", "o. c #8282C3",
"p. c #8282C4", "q. c #8383C4", "r. c #7B7BBA", "s. c #2A2A41", "t. c #626294",
"u. c #8787B2", "v. c #636388", "w. c #1C1C2A", "x. c #7F7FBE", "y. c #6B6BA1",
"z. c #686890", "A. c #8484B2", "B. c #9393C9", "C. c #9B9BD7", "D. c #8B8BCF",
"E. c #8888CD", "F. c #8888CC", "G. c #8484C6", "H. c #151520", "I. c #7878B5",
"J. c #67679D", "K. c #7070AA", "L. c #8282AF", "M. c #69698E", "N. c #000000",
"O. c #29293D", "P. c #52527B", "Q. c #8282C2", "R. c #575783", "S. c #626285",
"T. c #8D8DD4", "U. c #8E8ED5", "V. c #8383C5", "W. c #7F7FBF", "X. c #7373AE",
"Y. c #6D6DA5", "Z. c #5C5C8B", "`. c #8484B4", " + c #69698F", ".+ c #7E7EBD",
"++ c #8181C2", "@+ c #8484C7", "#+ c #8686C9", "$+ c #08080D", "%+ c #8B8BD0",
"&+ c #9494DE", "*+ c #9393DD", "=+ c #8A8ACF", "-+ c #6C6CA3", ";+ c #65658A",
">+ c #010102", ",+ c #32324C", "'+ c #8787CA", ")+ c #9999E6", "!+ c #9999E5",
"~+ c #9191DA", "{+ c #9191D9", "]+ c #8D8DD3", "^+ c #8989CD", "/+ c #5A5A88",
"(+ c #8888B5", "_+ c #5B5B7F", ":+ c #3A3A59", "<+ c #030304", "[+ c #5B5B88",
"}+ c #26263A", "|+ c #8585C7", "1+ c #9E9EED", "2+ c #9E9EEE", "3+ c #9696E3",
"4+ c #9494DF", "5+ c #8E8ED6", "6+ c #6F6FAA", "7+ c #8E8EBA", "8+ c #4D4D70",
"9+ c #393957", "0+ c #363652", "a+ c #5A5A87", "b+ c #464669", "c+ c #A2A2F4",
"d+ c #A3A3F5", "e+ c #A1A1F2", "f+ c #9595E0", "g+ c #565683", "h+ c #606091",
"i+ c #9090B9", "j+ c #424263", "k+ c #373755", "l+ c #0F0F18", "m+ c #8B8BD1",
"n+ c #8F8FD7", "o+ c #2D2D43", "p+ c #A6A6F9", "q+ c #A7A7FB", "r+ c #9F9FEF",
"s+ c #9B9BE9", "t+ c #8D8DD5", "u+ c #4B4B71", "v+ c #6C6C9D", "w+ c #8181A9",
"x+ c #303048", "y+ c #8D8DD2", "z+ c #14141F", "A+ c #A5A5F7", "B+ c #ABABFF",
"C+ c #A0A0F0", "D+ c #A4A4F7", "E+ c #A0A0F1", "F+ c #53537E", "G+ c #7D7DAC",
"H+ c #646489", "I+ c #27273C", "J+ c #51517A", "K+ c #8A8ACD", "L+ c #8F8FD4",
"M+ c #9393DB", "N+ c #9696DF", "O+ c #9797E0", "P+ c #AEAEFF", "Q+ c #A5A5F3",
"R+ c #A8A8FC", "S+ c #A5A5F8", "T+ c #5A5A8A", "U+ c #8C8CB9", "V+ c #464668",
"W+ c #1D1D2B", "X+ c #4D4D73", "Y+ c #68689A", "Z+ c #8C8CCF", "`+ c #9292D7",
" @ c #9898DF", ".@ c #9A9AE3", "+@ c #7B7BB4", "@@ c #B1B1FF", "#@ c #ABABF7",
"$@ c #191925", "%@ c #A0A0EE", "&@ c #A9A9FD", "*@ c #7F7FA8", "=@ c #101018",
"-@ c #9191D3", ";@ c #9898DC", ">@ c #9E9EE5", ",@ c #A1A1E9", "'@ c #5E5E87",
")@ c #B5B5FF", "!@ c #B4B4FF", "~@ c #8585C3", "{@ c #ACACFF", "]@ c #9898E4",
"^@ c #8080B1", "/@ c #54547A", "(@ c #040406", "_@ c #505074", ":@ c #9898DA",
"<@ c #A0A0E5", "[@ c #A9A9EF", "}@ c #AFAFF7", "|@ c #3E3E58", "1@ c #BCBCFF",
"2@ c #B9B9FF", "3@ c #B7B7FF", "4@ c #646490", "5@ c #AAAAFE", "6@ c #9D9DEB",
"7@ c #7F7FB0", "8@ c #35354F", "9@ c #2A2A3F", "0@ c #525279", "a@ c #434360",
"b@ c #A2A2E4", "c@ c #ADADF1", "d@ c #B8B8FC", "e@ c #C3C3FF", "f@ c #222232",
"g@ c #C7C7FE", "h@ c #C0C0FF", "i@ c #BBBBFF", "j@ c #AAAAF0", "k@ c #444463",
"l@ c #B0B0FF", "m@ c #7979AD", "n@ c #55557D", "o@ c #3C3C59", "p@ c #35354C",
"q@ c #B0B0F0", "r@ c #BEBEFD", "s@ c #CDCDFF", "t@ c #DBDBFF", "u@ c #09090F",
"v@ c #C6C6F1", "w@ c #CACAFF", "x@ c #C1C1FF", "y@ c #B1B1F5", "z@ c #222236",
"A@ c #B1B1FA", "B@ c #7777AA", "C@ c #050507", "D@ c #414160", "E@ c #5B5B85",
"F@ c #262636", "G@ c #C1C1FD", "H@ c #D3D3FF", "I@ c #E5E5FF", "J@ c #F6F6FF",
"K@ c #B0B0CC", "L@ c #D7D7FF", "M@ c #C8C8FF", "N@ c #B7B7F9", "O@ c #9A9AE7",
"P@ c #7A7AB0", "Q@ c #49496D", "R@ c #3F3F5D", "S@ c #4F4F74", "T@ c #D2D2FE",
"U@ c #E9E9FF", "V@ c #FBFBFF", "W@ c #FFFFFF", "X@ c #E6E6F2", "Y@ c #8D8D9E",
"Z@ c #D0D0FF", "`@ c #7A7AA5", " # c #9B9BEA", ".# c #666695", "+# c #0B0B11",
"@# c #444464", "## c #64648E", "$# c #09090E", "%# c #DADAF4", "&# c #FCFCFF",
"*# c #E9E9F5", "=# c #63636F", "-# c #F0F0FF", ";# c #C4C4FF", "># c #575771",
",# c #A9A9FC", "'# c #A2A2F3", ")# c #5C5C8A", "!# c #7373A8", "~# c #29293E",
"{# c #56567A", "]# c #020202", "^# c #D5D5E2", "/# c #EDEDF6", "(# c #383843",
"_# c #F7F7FF", ":# c #DCDCFF", "<# c #C6C6FF", "[# c #ABABEF", "}# c #2F2F45",
"|# c #B1B1F8", "1# c #A3A3F4", "2# c #7474AA", "3# c #47476B", "4# c #0C0C13",
"5# c #3D3D5A", "6# c #454564", "7# c #484868", "8# c #6E6E97", "9# c #C1C1CA",
"0# c #F2F2F9", "a# c #12121B", "b# c #F0F0FA", "c# c #DDDDFF", "d# c #ACACF3",
"e# c #A3A3E0", "f# c #9D9DEC", "g# c #6B6BA0", "h# c #575781", "i# c #28283B",
"j# c #424260", "k# c #494969", "l# c #5B5B7D", "m# c #A6A6AF", "n# c #FEFEFF",
"o# c #CDCDDE", "p# c #DADAFF", "q# c #ADADF7", "r# c #8383B1", "s# c #9C9CEA",
"t# c #9090D9", "u# c #636392", "v# c #32324E", "w# c #08080C", "x# c #3D3D59",
"y# c #464664", "z# c #4A4A69", "A# c #505070", "B# c #74749B", "C# c #8B8B94",
"D# c #9E9EB2", "E# c #BDBDFF", "F# c #AEAEFA", "G# c #62627F", "H# c #9797E2",
"I# c #69699C", "J# c #474765", "K# c #4B4B6A", "L# c #515170", "M# c #5A5A7B",
"N# c #8C8CB4", "O# c #707079", "P# c #F0F0F7", "Q# c #ECECF6", "R# c #E9E9F4",
"S# c #84849E", "T# c #B6B6FD", "U# c #A8A8F2", "V# c #3D3D50", "W# c #9C9CE2",
"X# c #9393DC", "Y# c #020203", "Z# c #4C4C6A", "`# c #525271", " $ c #595979",
".$ c #727293", "+$ c #404048", "@$ c #EEEEFF", "#$ c #D5D5FF", "$$ c #BEBEFE",
"%$ c #ADADF4", "&$ c #9191D6", "*$ c #9C9CD8", "=$ c #8F8FD6", "-$ c #8282C5",
";$ c #595988", ">$ c #474763", ",$ c #535371", "'$ c #5A5A79", ")$ c #626282",
"!$ c #8989A9", "~$ c #020204", "{$ c #C3C3CA", "]$ c #F2F2FF", "^$ c #C5C5FF",
"/$ c #B3B3F6", "($ c #A4A4E9", "_$ c #9A9ADF", ":$ c #8D8DCF", "<$ c #8282B2",
"[$ c #8989CE", "}$ c #8181C3", "|$ c #1C1C29", "1$ c #525270", "2$ c #6C6C8C",
"3$ c #A0A0BD", "4$ c #1F1F23", "5$ c #DEDEE3", "6$ c #FDFDFF", "7$ c #B6B6F6",
"8$ c #A7A7E8", "9$ c #9B9BDE", "0$ c #9393D6", "a$ c #636386", "b$ c #5B5B89",
"c$ c #303043", "d$ c #5A5A78", "e$ c #626280", "f$ c #6B6B8A", "g$ c #777797",
"h$ c #ADADC7", "i$ c #15151A", "j$ c #92929A", "k$ c #CBCBD4", "l$ c #E0E0E9",
"m$ c #EBEBF8", "n$ c #E7E7FF", "o$ c #D8D8FF", "p$ c #B7B7F4", "q$ c #A8A8E7",
"r$ c #9C9CDB", "s$ c #9393D3", "t$ c #8D8DCD", "u$ c #8989CA", "v$ c #424259",
"w$ c #8484C5", "x$ c #8080C1", "y$ c #030305", "z$ c #414159", "A$ c #60607E",
"B$ c #696987", "C$ c #727291", "D$ c #8181A0", "E$ c #B4B4CC", "F$ c #0B0B12",
"G$ c #191923", "H$ c #2A2A39", "I$ c #3B3B51", "J$ c #484864", "K$ c #545476",
"L$ c #8888C1", "M$ c #8B8BC9", "N$ c #8686C5", "O$ c #8383C2", "P$ c #1E1E2F",
"Q$ c #8888C5", "R$ c #7575AE", "S$ c #626292", "T$ c #4E4E69", "U$ c #666684",
"V$ c #6E6E8D", "W$ c #777796", "X$ c #8787A5", "Y$ c #B5B5CF", "Z$ c #666690",
"`$ c #8484C0", " % c #8080BD", ".% c #7E7EBB", "+% c #0E0E15", "@% c #7575AB",
"#% c #7A7AB8", "$% c #565680", "%% c #0E0E14", "&% c #575773", "*% c #696988",
"=% c #717190", "-% c #797998", ";% c #8888A6", ">% c #B3B3CC", ",% c #484867",
"'% c #7E7EB8", ")% c #7B7BB6", "!% c #7979B5", "~% c #595983", "{% c #6F6FA6",
"]% c #48486C", "^% c #13131A", "/% c #5B5B77", "(% c #6B6B89", "_% c #787897",
":% c #8383A2", "<% c #2E2E42", "[% c #7878B0", "}% c #7676AF", "|% c #3E3E5B",
"1% c #7171AA", "2% c #5D5D8B", "3% c #6A6A9E", "4% c #404060", "5% c #14141C",
"6% c #6A6A88", "7% c #6F6F8E", "8% c #737393", "9% c #A2A2BF", "0% c #7272A9",
"a% c #7171A9", "b% c #232334", "c% c #646495", "d% c #66669A", "e% c #6A6AA0",
"f% c #636396", "g% c #55557F", "h% c #2D2D44", "i% c #13131B", "j% c #585874",
"k% c #666685", "l% c #6A6A89", "m% c #6E6E8E", "n% c #8E8EAD", "o% c #06060A",
"p% c #6A6A9C", "q% c #040407", "r% c #0A0A12", "s% c #0F0F15", "t% c #50506B",
"u% c #61617F", "v% c #636382", "w% c #646483", "x% c #646484", "y% c #757596",
"z% c #9090B7", "A% c #636397", "B% c #09090D", "C% c #44445C", "D% c #5B5B79",
"E% c #5B5B7A", "F% c #5B5B7B", "G% c #5E5E7E", "H% c #7979A0", "I% c #424262",
"J% c #28283C", "K% c #333346", "L% c #545472", "M% c #535372", "N% c #515171",
"O% c #5E5E81", "P% c #71719B", "Q% c #2E2E44", "R% c #383854", "S% c #1F1F2C",
"T% c #494966", "U% c #4D4D6C", "V% c #4D4D6B", "W% c #4C4C6B", "X% c #4A4A6A",
"Y% c #5A5A7F", "Z% c #686892", "`% c #1B1B28", " & c #656599", ".& c #222234",
"+& c #393951", "@& c #484866", "#& c #464665", "$& c #454565", "%& c #535378",
"&& c #5F5F89", "*& c #0B0B10", "=& c #5C5C89", "-& c #5E5E8C", ";& c #2E2E45",
">& c #212130", ",& c #3F3F5C", "'& c #434361", ")& c #424261", "!& c #4B4B6E",
"~& c #55557B", "{& c #383853", "]& c #0A0A0F", "^& c #2C2C40", "/& c #3E3E5C",
"(& c #47476A", "_& c #4F4F76", ":& c #424264", "<& c #11111A", "[& c #000001",
"}& c #0F0F16", "|& c #2F2F47", "1& c #27273B", "2& c #0D0D16", "3& c #161622",
"4& c #2F2F46", "5& c #393955", "6& c #171724", "7& c #07070B",
" ",
" ",
" . + @ # $ % % & * = - ; ",
" > , $ ' ) ! ~ ~ { { { ~ ~ ! ) ] ^ / ",
" ( _ ] ) ! { : < [ } | 1 2 3 4 5 6 7 8 ! ' * 9 ",
" 0 $ ' ! { : a b c d e f g h b i 4 j k l m n o ! p q ",
" r ] ) ~ : s t d u h v w x y z A B ! p ",
" C ] ) ~ : D E F G 4 H I J ! K ",
" L % ) ~ : M N O 1 P Q R S ",
" T & ' ~ : U e V M W X Y ! Z ",
" ` - ] ! ...e +.E @.e #. $.%.&.*.x =.-.8 ;. ",
" >.% ' ~ ,.u '.N ).!.~.{.].^./. (.c _.2 :.&.<.[.}.S ",
" |.@ ] ! { 1. 2.3.~.4.5.6.7.8.9.0.a.b. S c./.E j 4 d.e.f.g.h. ",
" i.S ] ! : t j.k.6.7.l.m.n.o.p.q.p.o.r. s.6.4.^.a.6./.t.b u.v.' ",
" w.% ' ~ s } 6.8.x.y.z.A.B.C.D.E.F.G. H.a.9.I. J.K.)._.L.M.' ",
" N.O.% ) { P. ..8.x.o.Q. R.S.T.U.T. e V.W.7.X.Y. Z.u `. +' ",
" N.@ % ! { R. { .+++@+#+ $+%+&+*+ v =+#+o.0.I.^.-+ *.A.;+h. ",
" >+/ ] ! .*. ,+W.V.'+E. 6.)+!+~+ ] {+]+E.^+W.6.~. /+(+_+:+ ",
" <+K ] ! .[+ }+n.|+E.T. d.1+2+3+ L 4+*+5+h _.{.8.6+ h 7+8+9+ ",
" <+0+] ! .a+ w.o.#+=+U. b+c+d+e+ F.)+f+ g+ h+i+j+k+ ",
" >+= ] ! .w l+Q.'+m+n+ o+p+q+q+ E r+s+t+ u+v+w+~ = ",
" N.x+% ! .O ` 0.F.y+{+ z+A+B+B+C+ (.D+E+4+ F+G+H+% ",
" N.I+% ) { J+ N.~.K+L+M+N+ |.O+P+P+Q+ 9 R+S+C+ T+U+V+^ ",
" N.W+% ) ~ X+ Y+Z+`+ @.@ +@@@@@#@ $@%@&@A+ 3 *@! - ",
" N.=@& ' ~ R n -@;@>@,@ '@)@)@!@ ~@{@R+]@ O ^@/@$ ",
" N.(@* ] ~ : 6 _@:@<@[@}@ |@1@2@3@ 4@P+5@6@ x 7@~ 8@ ",
" N.9@] ! .0@ a@b@c@d@e@ f@g@h@i@j@ k@l@B+q+ O m@n@S ",
" N.T o@! .V+ p@q@r@s@t@ u@v@w@x@y@ z@A@{@R+ h+B@! = ",
" N.C@* ) .D@E@ F@G@H@I@J@ K@L@M@N@ C.B+R+O@ } P@Q@p ",
" N.L ) R@D@S@ H.T@U@V@W@X@ Y@I@Z@x@ `@5@q+ # %..#) ",
" N.+#& R@D@@### $#%#&#W@W@*# =#-#L@;# >#,#S+'# )#!#{ / ",
" N.N.~#R@D@k@{# ]#^#W@W@W@/# (#_#:#<#[# }#|#1#C+ } 2#3#% ",
" N.4#5#D@6#7#8# N.9#W@W@W@0# a#b#c#<#d# H.e#C+f#~+ g#h#' ",
" N.N.i#j#6#k#l# m#W@W@W@n# |.o#p#e@q# r#s#O@t# u u#! v# ",
" N.w#x#y#z#A#B# C#W@W@W@W@ D#H@E#F# G#!+H#&+ b I#~ / ",
" N.N.W+J#K#L#M#N# O#W@W@W@W@P#Q#R#X@ S#w@T#U# V#W#X#{+ [+y { p ",
" N.Y#p@Z#`# $.$ +$W@W@W@W@W@W@W@W@n#@$#$$$%$,@&$ >.*$=$T.-$ ;$c .] ",
" N.+#>$,$'$)$!$ ~${$W@W@W@W@W@W@n#]$t@^$/$($_$:$ <$%+[$}$ a+c : ] ",
" N.N.|$1$'$)$2$3$ 4$5$W@W@W@W@6$-#:#M@7$8$9$0$Z+ a$'+#+G. b$y : ] ",
" N.2.c$d$e$f$g$h$ i$j$k$l$m$n$o$g@p$q$r$s$t$u$ v$w$o.x$ h 3. .] ",
" N.y$z$A$B$C$D$E$ N.N.(@F$G$H$I$J$K$L$M$N$O$ P$Q$.+9.R$ t S$ .] ",
" N.N.w#T$U$V$W$X$Y$ N.Z$`$ %.%b. +%@%#%6.!. e $%{ ] ",
" N.N.%%&%*%=%-%;%>% ,%'%)%!%c. ~%k.4.b. {%]%~ p ",
" N.N.^%/%(%=%_%:%h$ <%[%}%R$~. |%^.!.1% 2%3%4%! ; ",
" N.N.5%/%6%7%8%-%9% T 2#0%a%a% b%c%d%e%f% _.g% .) h% ",
" N.N.i%j%k%l%2$m%n% o%p%c c c d% N.2.q%r% 2%y j+~ ] ",
" N.N.s%t%u%v%w%x%y%z% N.h#3%3%3%A% y.D : ! Z ",
" N.N.B%C%D%E%F%E%G%H% I%2 2 d%F f | 4%~ ' J% ",
" N.N.(@K%,$L%L%M%N%O%P% Q%:.F F c% t.1 j+{ ) R% ",
" N.N.2.S%T%U%V%W%X%X%Y%Z% `%x x d.d. &S$j+{ ! ] .& ",
" N.N.i.+&@&J##&$&6#$&%&&& *&=&-&b b w #.M ,.{ ! ] ;& ",
" N.N.<+>&,&'&)&)&D@< < !&~&{&a+b$b$)#G d%/+s : ~ ! ] / ",
" N.N.N.]&^&/&R@R@ . . .: 4%(&P.+.)#2%x t d.)#w _&:& .{ ! ) ] Z <& ",
" N.N.[&=@Q%] ) ) ! /&~ ~ { . .: 4%4%: . .{ ~ ! ) ] % @ +% ",
" N.N.2.}&O.p ] ] ' ) ) ! ! ! ! ! ! ! ! ) ' ] % 9+.& ",
" N.N.N.w#w.|&p % % o@] ] ] ] ] ] ] % % ^ 1&2& ",
" N.N.N.2.w#3&L 4&/ 5&$ $ p R%,+I+6&'. ",
" N.N.N.N.N.Y#` w#B%7&y$N. ",
" ",
" "};

View file

@ -33,7 +33,7 @@
#include "qtypes.h"
#ifndef M_PI
#define M_PI 3.14159265358979323846 // matches value in gcc v2 math.h
# define M_PI 3.14159265358979323846 // matches value in gcc v2 math.h
#endif
struct mplane_s;
@ -48,18 +48,21 @@ extern int nanmask;
#define VectorAdd(a,b,c) {c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];}
#define VectorCopy(a,b) {b[0]=a[0];b[1]=a[1];b[2]=a[2];}
// LordHavoc: makes code more readable
#define VectorIsNull(a) ((a)[0] == 0 && (a)[1] == 0 && (a)[2] == 0)
/*
* VectorDistance, the distance between two points.
* Yes, this is the same as sqrt(VectorSubtract then DotProduct),
* however that way would involve more vars, this is cheaper.
*/
#define VectorDistance(a, b) sqrt(((a[0] - b[0]) * (a[0] - b[0])) + \
((a[1] - b[1]) * (a[1] - b[1])) + \
((a[2] - b[2]) * (a[2] - b[2])))
#define VectorDistance_fast(a, b) (((a[0] - b[0]) * (a[0] - b[0])) + \
((a[1] - b[1]) * (a[1] - b[1])) + \
((a[2] - b[2]) * (a[2] - b[2])))
#define VectorDistance(a, b) sqrt(VectorDistance_fast(a, b))
#define lhrandom(MIN,MAX) ((rand() & 32767) * (((MAX)-(MIN)) * (1.0f / 32767.0f)) + (MIN))
// up / down
#define PITCH 0

View file

@ -30,9 +30,9 @@
#ifndef _MDFOUR_H
#define _MDFOUR_H
#ifndef _UINT32_H
#include <uint32.h>
#endif
#include "uint32.h"
#define MDFOUR_DIGEST_BYTES 16
struct mdfour {
uint32 A, B, C, D;

View file

@ -447,6 +447,7 @@ typedef struct model_s
//============================================================================
void Mod_Init (void);
void Mod_Init_Cvars (void);
void Mod_ClearAll (void);
model_t *Mod_ForName (char *name, qboolean crash);
void *Mod_Extradata (model_t *mod); // handles caching
@ -457,5 +458,6 @@ byte *Mod_LeafPVS (mleaf_t *leaf, model_t *model);
model_t *Mod_FindName (char *name);
void Mod_ProcessTexture(miptex_t *mt, texture_t *tx);
void Mod_LoadLighting (lump_t *l);
int Mod_CalcFullbright (byte *in, byte *out, int pixels);
#endif // _MODEL_H

View file

@ -37,9 +37,13 @@
typedef struct
{
#ifdef HAVE_IPV6
byte ip[16];
#else
byte ip[4];
#endif
unsigned short port;
unsigned short pad;
unsigned short family; // used to be pad, before IPV6
} netadr_t;
extern netadr_t net_local_adr;
@ -50,6 +54,7 @@ extern cvar_t *hostname;
extern int net_socket;
void NET_Init (int port);
void NET_Init (int port);
void NET_Shutdown (void);
qboolean NET_GetPacket (void);
@ -115,13 +120,22 @@ typedef struct
extern int net_drop; // packets dropped before this one
void Netchan_Init (void);
void Netchan_Init_Cvars (void);
void Netchan_Transmit (netchan_t *chan, int length, byte *data);
void Netchan_OutOfBand (netadr_t adr, int length, byte *data);
void Netchan_OutOfBandPrint (netadr_t adr, char *format, ...) __attribute__((format(printf,2,3)));
qboolean Netchan_Process (netchan_t *chan);
void Netchan_Setup (netchan_t *chan, netadr_t adr, int qport);
void Netchan_AckPacket (netchan_t *chan);
qboolean Netchan_CanPacket (netchan_t *chan);
qboolean Netchan_CanReliable (netchan_t *chan);
#ifdef PACKET_LOGGING
extern int Net_Log_Init (void);
extern void Log_Incoming_Packet (char *p, int len);
extern void Log_Outgoing_Packet (char *p, int len);
extern void Net_LogStop (void);
#endif
#endif // _NET_H

55
include/pcx.h Normal file
View file

@ -0,0 +1,55 @@
/*
pcx.h
pcx image hangling
Copyright (C) 1996-1997 Id Software, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
$Id$
*/
#ifndef __pcx_h
#define __pcx_h
#include "quakeio.h"
typedef struct
{
char manufacturer;
char version;
char encoding;
char bits_per_pixel;
unsigned short xmin, ymin, xmax, ymax;
unsigned short hres, vres;
unsigned char palette[48];
char reserved;
char color_planes;
unsigned short bytes_per_line;
unsigned short palette_type;
char filler[58];
} pcx_t;
void WritePCXfile (char *filename, byte * data, int width, int height,
int rowbytes, byte * palette, qboolean upload,
qboolean flip);
struct tex_s *LoadPCX (QFile *f, int convert); // tex is from Hunk_TempAlloc
#endif // __pcx_h

View file

@ -32,24 +32,32 @@
#include "protocol.h"
#include "mathlib.h"
#include "model.h"
#include "progs.h"
#define STOP_EPSILON 0.1
typedef struct
{
vec3_t normal;
float dist;
} pmplane_t;
} plane_t;
typedef struct
{
qboolean allsolid; // if true, plane is not valid
qboolean startsolid; // if true, the initial point was in a solid area
qboolean allsolid; // if true, plane is not valid
qboolean startsolid; // if true, the initial point was in a solid area
qboolean inopen, inwater;
float fraction; // time completed, 1.0 = didn't hit anything
vec3_t endpos; // final position
pmplane_t plane; // surface normal at impact
int ent; // entity the surface is on
} pmtrace_t;
plane_t plane; // surface normal at impact
// Dabb: only difference between server and client
// int ent; // vs servers edict_t *ent;
int entnum;
edict_t *ent; // entity the surface is on
} trace_t;
#define MAX_PHYSENTS 32
typedef struct
@ -60,7 +68,6 @@ typedef struct
int info; // for client or server to identify
} physent_t;
typedef struct
{
int sequence; // just for debugging prints
@ -100,7 +107,7 @@ typedef struct {
float entgravity;
} movevars_t;
extern struct cvar_s *no_pogo_stick;
extern movevars_t movevars;
extern playermove_t pmove;
extern int onground;
@ -109,11 +116,12 @@ extern int watertype;
void PlayerMove (void);
void Pmove_Init (void);
void Pmove_Init_Cvars (void);
int PM_HullPointContents (hull_t *hull, int num, vec3_t p);
int HullPointContents (hull_t *hull, int num, vec3_t p);
int PM_PointContents (vec3_t point);
qboolean PM_TestPlayerPosition (vec3_t point);
pmtrace_t PM_PlayerMove (vec3_t start, vec3_t stop);
trace_t PM_PlayerMove (vec3_t start, vec3_t stop);
#endif // _PMOVE_H

View file

@ -46,6 +46,13 @@ typedef union eval_s
int edict;
} eval_t;
typedef union pr_type_u {
float float_var;
int int_var;
string_t string_t_var;
func_t func_t_var;
} pr_type_t;
#define MAX_ENT_LEAFS 16
typedef struct edict_s
{
@ -58,87 +65,87 @@ typedef struct edict_s
entity_state_t baseline;
float freetime; // sv.time when the object was freed
entvars_t v; // C exported fields from progs
union {
entvars_t v; // C exported fields from progs
pr_type_t vv[1];
} v;
// other fields from progs come immediately after
} edict_t;
#define EDICT_FROM_AREA(l) STRUCT_FROM_LINK(l,edict_t,area)
//============================================================================
extern dprograms_t *progs;
extern dfunction_t *pr_functions;
extern char *pr_strings;
extern ddef_t *pr_globaldefs;
extern ddef_t *pr_fielddefs;
extern dstatement_t *pr_statements;
extern globalvars_t *pr_global_struct;
extern float *pr_globals; // same as pr_global_struct
extern int pr_edict_size; // in bytes
#ifndef PROGS_T
typedef struct progs_s progs_t;
#define PROGS_T
#endif
//============================================================================
void PR_Init (void);
void PR_Init_Cvars (void);
void PR_ExecuteProgram (func_t fnum);
void PR_LoadProgs (void);
void PR_ExecuteProgram (progs_t *pr, func_t fnum);
void PR_LoadProgs (progs_t *pr, char *progsname);
void PR_Profile_f (void);
edict_t *ED_Alloc (void);
void ED_Free (edict_t *ed);
edict_t *ED_Alloc (progs_t *pr);
void ED_Free (progs_t *pr, edict_t *ed);
char *ED_NewString (char *string);
char *ED_NewString (progs_t *pr, char *string);
// returns a copy of the string allocated from the server's string heap
void ED_Print (edict_t *ed);
void ED_Write (QFile *f, edict_t *ed);
char *ED_ParseEdict (char *data, edict_t *ent);
void ED_Print (progs_t *pr, edict_t *ed);
void ED_Write (progs_t *pr, QFile *f, edict_t *ed);
char *ED_ParseEdict (progs_t *pr, char *data, edict_t *ent);
void ED_WriteGlobals (QFile *f);
void ED_ParseGlobals (char *data);
void ED_WriteGlobals (progs_t *pr, QFile *f);
void ED_ParseGlobals (progs_t *pr, char *data);
void ED_LoadFromFile (char *data);
void ED_LoadFromFile (progs_t *pr, char *data);
ddef_t *ED_FindField (char *name);
ddef_t *ED_FindField (progs_t *pr, char *name);
dfunction_t *ED_FindFunction (progs_t *pr, char *name);
//define EDICT_NUM(n) ((edict_t *)(sv.edicts+ (n)*pr_edict_size))
//define NUM_FOR_EDICT(e) (((byte *)(e) - sv.edicts)/pr_edict_size)
edict_t *EDICT_NUM(int n);
int NUM_FOR_EDICT(edict_t *e);
//define EDICT_NUM(p,n) ((edict_t *)(*(p)->edicts+ (n)*(p)->pr_edict_size))
//define NUM_FOR_EDICT(p,e) (((byte *)(e) - *(p)->edicts)/(p)->pr_edict_size)
#define NEXT_EDICT(e) ((edict_t *)( (byte *)e + pr_edict_size))
edict_t *EDICT_NUM(progs_t *pr, int n);
int NUM_FOR_EDICT(progs_t *pr, edict_t *e);
#define EDICT_TO_PROG(e) ((byte *)e - (byte *)sv.edicts)
#define PROG_TO_EDICT(e) ((edict_t *)((byte *)sv.edicts + e))
#define NEXT_EDICT(p,e) ((edict_t *)( (byte *)e + (p)->pr_edict_size))
#define PR_edicts(p) ((byte *)*(p)->edicts)
#define EDICT_TO_PROG(p,e) ((byte *)(e) - PR_edicts (p))
#define PROG_TO_EDICT(p,e) ((edict_t *)(PR_edicts (p) + (e)))
//============================================================================
#define G_FLOAT(o) (pr_globals[o])
#define G_INT(o) (*(int *)&pr_globals[o])
#define G_EDICT(o) ((edict_t *)((byte *)sv.edicts+ *(int *)&pr_globals[o]))
#define G_EDICTNUM(o) NUM_FOR_EDICT(G_EDICT(o))
#define G_VECTOR(o) (&pr_globals[o])
#define G_STRING(o) (PR_GetString(*(string_t *)&pr_globals[o]))
#define G_FUNCTION(o) (*(func_t *)&pr_globals[o])
#define G_var(p,o,t) ((p)->pr_globals[o].t##_var)
#define E_FLOAT(e,o) (((float*)&e->v)[o])
#define E_INT(e,o) (*(int *)&((float*)&e->v)[o])
#define E_VECTOR(e,o) (&((float*)&e->v)[o])
#define E_STRING(e,o) (PR_GetString(*(string_t *)&((float*)&e->v)[o]))
#define G_FLOAT(p,o) G_var (p, o, float)
#define G_INT(p,o) G_var (p, o, int)
#define G_EDICT(p,o) ((edict_t *)(PR_edicts (p) + G_INT (p, o)))
#define G_EDICTNUM(p,o) NUM_FOR_EDICT(p, G_EDICT(p, o))
#define G_VECTOR(p,o) (&G_FLOAT (p, o))
#define G_STRING(p,o) PR_GetString (p, G_var (p, o, string_t))
#define G_FUNCTION(p,o) G_var (p, o, func_t)
#define E_var(e,o,t) ((e)->v.vv[o].t##_var)
#define E_FLOAT(e,o) E_var (e, o, float)
#define E_INT(e,o) E_var (e, o, int)
#define E_VECTOR(e,o) (&E_FLOAT (e, o))
#define E_STRING(p,e,o) (PR_GetString (p, E_var (e, o, string_t)))
extern int type_size[8];
typedef void (*builtin_t) (void);
typedef void (*builtin_t) (progs_t *pr);
extern builtin_t *pr_builtins;
extern int pr_numbuiltins;
extern int pr_argc;
extern qboolean pr_trace;
extern dfunction_t *pr_xfunction;
extern int pr_xstatement;
int FindFieldOffset (progs_t *pr, char *field);
extern func_t EndFrame; // 2000-01-02 EndFrame function by Maddes/FrikaC
@ -146,22 +153,79 @@ extern func_t SpectatorConnect;
extern func_t SpectatorThink;
extern func_t SpectatorDisconnect;
void PR_RunError (char *error, ...) __attribute__((format(printf,1,2)));
void PR_RunError (progs_t *pr, char *error, ...) __attribute__((format(printf,2,3)));
void ED_PrintEdicts (void);
void ED_PrintNum (int ent);
void ED_PrintEdicts (progs_t *pr);
void ED_PrintNum (progs_t *pr, int ent);
void ED_Count (progs_t *pr);
void PR_Profile (progs_t *pr);
eval_t *GetEdictFieldValue(edict_t *ed, char *field);
char *PR_GlobalString (progs_t *pr, int ofs);
char *PR_GlobalStringNoContents (progs_t *pr, int ofs);
eval_t *GetEdictFieldValue(progs_t *pr, edict_t *ed, char *field);
//
// PR STrings stuff
//
#define MAX_PRSTR 1024
extern char *pr_strtbl[MAX_PRSTR];
extern int num_prstr;
char *PR_GetString(progs_t *pr, int num);
int PR_SetString(progs_t *pr, char *s);
char *PR_GetString(int num);
int PR_SetString(char *s);
// externaly supplied functions
int ED_Parse_Extra_Fields (progs_t *pr, char *key, char *value);
void FindEdictFieldOffsets (progs_t *pr);
//============================================================================
#define MAX_STACK_DEPTH 32
#define LOCALSTACK_SIZE 2048
typedef struct {
int s;
dfunction_t *f;
} prstack_t;
struct progs_s {
dprograms_t *progs;
dfunction_t *pr_functions;
char *pr_strings;
ddef_t *pr_globaldefs;
ddef_t *pr_fielddefs;
dstatement_t *pr_statements;
globalvars_t *pr_global_struct;
pr_type_t *pr_globals; // same as pr_global_struct
int pr_edict_size; // in bytes
int pr_edictareasize; // LordHavoc: for bounds checking
int pr_argc;
qboolean pr_trace;
dfunction_t *pr_xfunction;
int pr_xstatement;
char *pr_strtbl[MAX_PRSTR];
int num_prstr;
prstack_t pr_stack[MAX_STACK_DEPTH];
int pr_depth;
int localstack[LOCALSTACK_SIZE];
int localstack_used;
edict_t **edicts;
int *num_edicts;
double *time;
int null_bad;
int crc;
void (*unlink)(edict_t *ent);
void (*flush)(void);
};
#endif // _PROGS_H

View file

@ -81,11 +81,11 @@
#define svc_stufftext 9 // [string] stuffed into client's console buffer
// the string should be \n terminated
#define svc_setangle 10 // [angle3] set the view angle to this absolute value
#define svc_serverdata 11 // [long] protocol ...
#define svc_serverdata 11 // [long] protocol ...
#define svc_lightstyle 12 // [byte] [string]
#define svc_updatefrags 14 // [byte] [short]
#define svc_stopsound 16 // <see code>
#define svc_damage 19
#define svc_damage 19
#define svc_spawnstatic 20
#define svc_spawnbaseline 22
#define svc_temp_entity 23 // variable
@ -96,7 +96,7 @@
#define svc_spawnstaticsound 29 // [coord3] [byte] samp [byte] vol [byte] aten
#define svc_intermission 30 // [vec3_t] origin [vec3_t] angle
#define svc_finale 31 // [string] text
#define svc_cdtrack 32 // [byte] track
#define svc_cdtrack 32 // [byte] track
#define svc_sellscreen 33
#define svc_smallkick 34 // set client punchangle to 2
#define svc_bigkick 35 // set client punchangle to 4

View file

@ -31,7 +31,7 @@
#ifndef _QARGS_H
#define _QARGS_H
#include <qtypes.h>
#include "qtypes.h"
extern int com_argc;
extern char **com_argv;
@ -41,6 +41,7 @@ int COM_CheckParm (char *parm);
void COM_AddParm (char *parm);
void COM_Init (void);
void COM_Init_Cvars (void);
void COM_InitArgv (int argc, char **argv);
#endif // _QARGS_H

Some files were not shown because too many files have changed in this diff Show more