mirror of
https://git.code.sf.net/p/quake/newtree
synced 2025-04-20 13:30:46 +00:00
Compare commits
965 commits
0.2.99beta
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
9a9367ae08 | ||
|
630b1e7a4f | ||
|
6be99353a1 | ||
|
86f6ce2265 | ||
|
36b83eae86 | ||
|
7fa170c325 | ||
|
1e1ee75773 | ||
|
1afaefd9dc | ||
|
0fad122bc3 | ||
|
412959acba | ||
|
0bca15c502 | ||
|
aed7b1c08d | ||
|
f15ca83c60 | ||
|
326dc35b41 | ||
|
02005a95a4 | ||
|
55229ae4e2 | ||
|
0de1421e61 | ||
|
ae066e93a7 | ||
|
294e8b5dea | ||
|
2f5e58be2d | ||
|
ba5f9ae9a9 | ||
|
b7727dc730 | ||
|
808e3ace87 | ||
|
548ff2f227 | ||
|
1ed975edd5 | ||
|
4fa410afef | ||
|
c577657e8e | ||
|
7dccb4388d | ||
|
76bee6c8ab | ||
|
305fc0c371 | ||
|
d74f867b06 | ||
|
363aca5b84 | ||
|
f4dc013a3d | ||
|
6714119351 | ||
|
c4fe80e9c3 | ||
|
11f65cc599 | ||
|
0fbfd46be0 | ||
|
6c04ad09f8 | ||
|
a823912075 | ||
|
f3f427bf4b | ||
|
4c7c5880fe | ||
|
11de1a1fde | ||
|
afc4f250c8 | ||
|
b2a74984e9 | ||
|
609feb779c | ||
|
4c9a189f90 | ||
|
883b7ecf80 | ||
|
f3c2c4e868 | ||
|
1362736e55 | ||
|
5a889df497 | ||
|
cf16e6c5d7 | ||
|
e0b00dfda0 | ||
|
e20541700c | ||
|
86270446e9 | ||
|
e72ebb6c63 | ||
|
bc6ff9fc19 | ||
|
8f66467568 | ||
|
df184072f1 | ||
|
3cde1a0608 | ||
|
7a0ba8ca2e | ||
|
759729b5a8 | ||
|
920de43af9 | ||
|
5369e82456 | ||
|
eb974c6dcb | ||
|
a90f8132a7 | ||
|
d90d3d0de3 | ||
|
f3e7e4d1bc | ||
|
d97095fe87 | ||
|
3fc2675cb8 | ||
|
88c3955b4f | ||
|
9de78a5d83 | ||
|
d1f33ed6a6 | ||
|
978d90f9f7 | ||
|
a7c23e13a9 | ||
|
dd134f9c4f | ||
|
765a22a033 | ||
|
8a4cc8a526 | ||
|
1a9db8c2eb | ||
|
2e88971a08 | ||
|
540d13b588 | ||
|
9d23ea9db0 | ||
|
272abade38 | ||
|
75089e506e | ||
|
bfc25fa462 | ||
|
72d8bd6af7 | ||
|
6162fd8017 | ||
|
8327d1edac | ||
|
2d5f4b86fb | ||
|
6a75c4e00d | ||
|
bd06625c55 | ||
|
b9caa4273c | ||
|
bf6afa6ad4 | ||
|
5b46db8796 | ||
|
75ecbe3032 | ||
|
06b06abc74 | ||
|
54076d1a07 | ||
|
0e3d9f385a | ||
|
74a61f22f7 | ||
|
ad37b9cedd | ||
|
a8df60c554 | ||
|
05545350e7 | ||
|
f922262b61 | ||
|
5c63c96340 | ||
|
6f1587ff7f | ||
|
49d7b35d43 | ||
|
24841130a7 | ||
|
8cca7c7dd9 | ||
|
b68b6a4dd3 | ||
|
b4dfcb0906 | ||
|
89dd78e5fe | ||
|
a033a03624 | ||
|
f15c42184d | ||
|
e703935e9b | ||
|
bb39a9252b | ||
|
c2cf684118 | ||
|
4ae1fda2e1 | ||
|
fcd38297d9 | ||
|
c32a59b343 | ||
|
6d9846e2ce | ||
|
2bb966d1f7 | ||
|
5cda3dc3cb | ||
|
63f6f3e9cd | ||
|
4f7561fd92 | ||
|
32c6b2be38 | ||
|
19c37bbcb3 | ||
|
ea7e76fab7 | ||
|
2cac0ae365 | ||
|
942732d3b9 | ||
|
c41b730fb8 | ||
|
cabd99e201 | ||
|
6356c8e596 | ||
|
fdc8bedd2e | ||
|
20b9411bcc | ||
|
2bb4a60a69 | ||
|
c3208b87e7 | ||
|
d3e280a088 | ||
|
d81eb19c1f | ||
|
01baf4a868 | ||
|
e1638eba85 | ||
|
e5cd5030ae | ||
|
8d68ffe9f0 | ||
|
ac94390460 | ||
|
de22be39ba | ||
|
ca06d3994d | ||
|
30a0105e82 | ||
|
8dead3b82d | ||
|
a76c7779a7 | ||
|
192eba3898 | ||
|
96722e9137 | ||
|
cedd063a6a | ||
|
8711d430d1 | ||
|
a05d02c786 | ||
|
8510dedee9 | ||
|
7cb5126153 | ||
|
a12c6913dc | ||
|
2c703a045e | ||
|
d828ba64b3 | ||
|
443944c48b | ||
|
549bbbdb1b | ||
|
604e398e66 | ||
|
e6980d2ec3 | ||
|
4417fc6ce0 | ||
|
2be320d66f | ||
|
08fc75fd32 | ||
|
14a519c548 | ||
|
4961a21b51 | ||
|
16b2c798f0 | ||
|
911d38e5e5 | ||
|
0ffba7e3da | ||
|
4eb41da471 | ||
|
369949e1d7 | ||
|
7b9f46471c | ||
|
48e901481a | ||
|
f59aa3034c | ||
|
5fe2ff158d | ||
|
44c9371b4f | ||
|
435c588e37 | ||
|
bb8f25bb64 | ||
|
679b67ddd2 | ||
|
5b2561720e | ||
|
5f5456d2c0 | ||
|
3240ed57b4 | ||
|
b10b829260 | ||
|
6da731fec1 | ||
|
4cde7461b1 | ||
|
9f2da626f3 | ||
|
192e4521a9 | ||
|
d28d3d3df9 | ||
|
319d403c25 | ||
|
fdaf69b9ae | ||
|
145284c3ce | ||
|
4d40668752 | ||
|
3320cf5e2c | ||
|
c2194db299 | ||
|
5471165397 | ||
|
c935512294 | ||
|
542457480f | ||
|
800ee05584 | ||
|
e32119aa3c | ||
|
b3cd4355cf | ||
|
b4c9dcc7fb | ||
|
367fee1dc6 | ||
|
d57a22fe87 | ||
|
4d8cc6233c | ||
|
50ce499a61 | ||
|
86a7e3b749 | ||
|
c6e087015c | ||
|
222eea81b1 | ||
|
033545f56f | ||
|
b443a0254e | ||
|
345d34c386 | ||
|
6bae2b3010 | ||
|
eb8c267925 | ||
|
054f659078 | ||
|
59f4b7a7d0 | ||
|
292807d653 | ||
|
39115d98a7 | ||
|
603a88c160 | ||
|
ff82461483 | ||
|
9c0006efcd | ||
|
a12093fe1c | ||
|
2079b73194 | ||
|
4acdf6d3b2 | ||
|
759fa8dd5f | ||
|
4d08e219d9 | ||
|
175f24020d | ||
|
d6c8b85103 | ||
|
ff12a738b5 | ||
|
17e9aa044b | ||
|
e5b8b14303 | ||
|
161973d75a | ||
|
20a885c174 | ||
|
77555241bd | ||
|
3affa48786 | ||
|
9bb8dc358f | ||
|
f0fc1368cf | ||
|
f0c0dd28bc | ||
|
9606b889cb | ||
|
3eb47e6d3e | ||
|
6025486e15 | ||
|
b2c282de93 | ||
|
645ba3fe40 | ||
|
e930c800f0 | ||
|
2b165575dd | ||
|
a24894dc70 | ||
|
3c18a79299 | ||
|
23b015af3f | ||
|
2a723b5766 | ||
|
030f721d89 | ||
|
c81a8b79db | ||
|
0ce365a5ae | ||
|
96d1b3239c | ||
|
9754c56836 | ||
|
684eeee134 | ||
|
0e88a1f18b | ||
|
16c66488e9 | ||
|
3b6f18d1af | ||
|
3a2389c3dc | ||
|
c316ae0069 | ||
|
e73ff67bf3 | ||
|
4717448bd6 | ||
|
9b0cea79ed | ||
|
57f32284dd | ||
|
4c4e7e9530 | ||
|
2d9f722218 | ||
|
e1f4bc624a | ||
|
c8ab801128 | ||
|
5c1fa73e55 | ||
|
04d66b0952 | ||
|
0ec668bc4e | ||
|
33bea927c9 | ||
|
97ff9b38da | ||
|
6e1fdf78b0 | ||
|
8fd94ff199 | ||
|
ae0b9b7215 | ||
|
bcb8ec45da | ||
|
21654b12e5 | ||
|
f1a5a25b69 | ||
|
ee8cd32c0c | ||
|
37ba8cabb3 | ||
|
733d55603c | ||
|
8d3c85349a | ||
|
49ed4186f8 | ||
|
f6b12b12e3 | ||
|
712b655c1b | ||
|
33b135f3dd | ||
|
e9f3f3fa37 | ||
|
2e61696d5c | ||
|
39949152c6 | ||
|
2388cf8f9c | ||
|
d6241c11aa | ||
|
6bea8babbe | ||
|
a348e15954 | ||
|
6cab98b564 | ||
|
29ba2e38f7 | ||
|
4b4fb0f9aa | ||
|
8b39af51f2 | ||
|
b3a9da279b | ||
|
e3674945ed | ||
|
39ee51118d | ||
|
076db7b5b2 | ||
|
3ea4bdda68 | ||
|
da335750e9 | ||
|
d072faf29c | ||
|
7dd9a2f783 | ||
|
591577f6ef | ||
|
9146c88760 | ||
|
7c1c47b573 | ||
|
77f217bf89 | ||
|
1444bac78d | ||
|
92f357a2ad | ||
|
1e270eb552 | ||
|
90f206ba5d | ||
|
5931dd6d80 | ||
|
a01e68a148 | ||
|
de137aa864 | ||
|
9a9e827d6d | ||
|
248f210099 | ||
|
6d09465ade | ||
|
e365e174a7 | ||
|
186bec3342 | ||
|
45c62d5923 | ||
|
5d15e27a3e | ||
|
464ca76e23 | ||
|
fc70d429bb | ||
|
6aecae38e6 | ||
|
f9e5db9aee | ||
|
19f03a4c26 | ||
|
a8077b4cbc | ||
|
e955df08d1 | ||
|
aab3c199a2 | ||
|
45bacc2b60 | ||
|
e127bd9ebb | ||
|
e858fcebb5 | ||
|
e9ed2d1a40 | ||
|
00b9b23076 | ||
|
92b7f5f8f0 | ||
|
c6a06f6dc6 | ||
|
bae13155b4 | ||
|
2e882dd198 | ||
|
3b14c1d513 | ||
|
ed042a3d9f | ||
|
568e4e5909 | ||
|
3cf5e28082 | ||
|
496cf83475 | ||
|
7e437396f6 | ||
|
2569e34ea9 | ||
|
bbac14a7d5 | ||
|
b397f55327 | ||
|
936f1f55bb | ||
|
219a684fd0 | ||
|
6eb79d233e | ||
|
63a268c19f | ||
|
65345ecb71 | ||
|
bbf8adaa8e | ||
|
8a4dfbf615 | ||
|
1a0d81fd2e | ||
|
a19b49d83c | ||
|
26a2d6a3de | ||
|
7d8fb5901e | ||
|
ec4691b8cd | ||
|
4883085aff | ||
|
9bc040c14c | ||
|
ac94074b13 | ||
|
d57764745e | ||
|
3ea038af68 | ||
|
df7e9b9a14 | ||
|
21759c69b3 | ||
|
90896657ad | ||
|
b4c4263d35 | ||
|
84ad232ed0 | ||
|
2e57fd84ef | ||
|
1369e3f28c | ||
|
cea0adf4ff | ||
|
8290955813 | ||
|
7634d8f3f7 | ||
|
678e38f2b5 | ||
|
53e408be2e | ||
|
35c50a73d0 | ||
|
c0aa0e4725 | ||
|
843cb3b200 | ||
|
7f584aa151 | ||
|
42e203c880 | ||
|
9666eea338 | ||
|
40cfa92aa7 | ||
|
d41da03640 | ||
|
294402007a | ||
|
7bc5f87d53 | ||
|
8247d35d32 | ||
|
91bfddbf58 | ||
|
aa8785d2c2 | ||
|
22ad49f949 | ||
|
81ac48eaf0 | ||
|
e32fb4d048 | ||
|
e2f1f503ef | ||
|
3727753fde | ||
|
b66c22d0e5 | ||
|
e7a6ad981d | ||
|
d143410ecd | ||
|
dd37b164e6 | ||
|
73d26a4e32 | ||
|
8723fde566 | ||
|
127b5e4610 | ||
|
c621eef621 | ||
|
f0d150104e | ||
|
61cfc6a5db | ||
|
a71f589c77 | ||
|
fc005fc215 | ||
|
cc8d6c5827 | ||
|
4eef82f08a | ||
|
20784c33fd | ||
|
a91a554830 | ||
|
544b4fa431 | ||
|
9cd130ec69 | ||
|
8706ada7c6 | ||
|
451afbd488 | ||
|
3b0d17acc4 | ||
|
1fed0a6664 | ||
|
9ac296eec2 | ||
|
a8c5bf0812 | ||
|
5ef57c14e4 | ||
|
084bfea79c | ||
|
dd5363cdb5 | ||
|
57b02fad06 | ||
|
9099a7175e | ||
|
68dfbd6729 | ||
|
381f5b6df4 | ||
|
365ece328b | ||
|
e2798548a8 | ||
|
8b78d845df | ||
|
77970ba4d2 | ||
|
c3a0e96c46 | ||
|
81620d5245 | ||
|
488e415b09 | ||
|
58c99af5a0 | ||
|
bf1f6deabf | ||
|
e72f0b1eed | ||
|
5e86c729fa | ||
|
0192ed40c3 | ||
|
6a52b0460c | ||
|
c746a0fc51 | ||
|
a9d8e5bbf5 | ||
|
e1e964d446 | ||
|
8e0d495625 | ||
|
2debf6f669 | ||
|
ff89f60c74 | ||
|
b439951184 | ||
|
662674aaef | ||
|
d4ccdbbdc9 | ||
|
709118ef0a | ||
|
bca9a6eb67 | ||
|
ad17c35143 | ||
|
32910a9385 | ||
|
587ed5cc3f | ||
|
5ba9c66816 | ||
|
d76c72a169 | ||
|
edec7bf2d4 | ||
|
22d2cce11f | ||
|
b6c832d900 | ||
|
76a11bd74a | ||
|
cef1be9646 | ||
|
0348d7c870 | ||
|
e91739410d | ||
|
35b8c3f79c | ||
|
1705fbe0a0 | ||
|
2bd3c73d0c | ||
|
986a610860 | ||
|
1ad52d2e98 | ||
|
ed7e9b001f | ||
|
58a4575aeb | ||
|
ff2658dacd | ||
|
8415879527 | ||
|
fcdc8912d1 | ||
|
bcfa8702ed | ||
|
76f78fbbf3 | ||
|
4d1a1fb5e9 | ||
|
1e9779f1ca | ||
|
886c1d10bc | ||
|
ee47b4d568 | ||
|
e245db2d12 | ||
|
8eacd803fe | ||
|
5f21837c33 | ||
|
5197a6443d | ||
|
f29ea7f1d3 | ||
|
60fe4aea40 | ||
|
ccba39666b | ||
|
a9ffb0002f | ||
|
1532c66198 | ||
|
cc0e3dfbb5 | ||
|
1d2e83bb66 | ||
|
2d4ced491e | ||
|
3601dd5532 | ||
|
477bcf51b0 | ||
|
48f6a02a38 | ||
|
2695ec4990 | ||
|
73980fe852 | ||
|
c71fc78360 | ||
|
005dbaa83f | ||
|
977c10c2f2 | ||
|
f9fcd66129 | ||
|
d3d32986bb | ||
|
300910698c | ||
|
fe2f79c5ef | ||
|
6081ed15a7 | ||
|
8c9e535247 | ||
|
bc9518c9a5 | ||
|
52cc1fa218 | ||
|
893a8ba827 | ||
|
37304217c1 | ||
|
c6a22c8a88 | ||
|
66bd913f7d | ||
|
80db620524 | ||
|
3783f9b562 | ||
|
f9022537ee | ||
|
579434b6df | ||
|
2fdeaf7aaa | ||
|
c1e0cf7b8e | ||
|
f453d2f1b8 | ||
|
e52100982b | ||
|
0e3072728f | ||
|
d173f0f9dd | ||
|
23560a26be | ||
|
ccb1bfd3c4 | ||
|
41d03f34b0 | ||
|
01238243c1 | ||
|
9f6b0bf758 | ||
|
0210465303 | ||
|
e537c27a70 | ||
|
382fe8feff | ||
|
86222ca684 | ||
|
de79e1433d | ||
|
6e345718c4 | ||
|
22ba7f9f28 | ||
|
b61586b9b4 | ||
|
8b10142de0 | ||
|
6f30e5ee26 | ||
|
bf0f29bdcd | ||
|
b52f1baf96 | ||
|
933f9a1054 | ||
|
130a99f6f4 | ||
|
87b5defa64 | ||
|
8d579b7a0b | ||
|
1c235242f9 | ||
|
dae1954eaf | ||
|
20f0e102ce | ||
|
d2e9339f00 | ||
|
4822383a94 | ||
|
f4c300676f | ||
|
1634c57339 | ||
|
6925190ffd | ||
|
dd3ea544ce | ||
|
3669d78d1b | ||
|
5de89ed5f1 | ||
|
24a76ef439 | ||
|
0e268f9ca7 | ||
|
5163916a4d | ||
|
7816365252 | ||
|
ea76f45bc6 | ||
|
36ddd0670e | ||
|
1a84d5e93b | ||
|
151c487fea | ||
|
74d8c81457 | ||
|
2f8f1b39b7 | ||
|
9f0035bdf9 | ||
|
fea862d434 | ||
|
8c90357234 | ||
|
db7450c11d | ||
|
316b74eddc | ||
|
32910a1b5f | ||
|
ea2a5c6f3e | ||
|
b6749ecc0f | ||
|
b98e19fdd6 | ||
|
c3f6aa669a | ||
|
a7612bfd0d | ||
|
3bbb9ec7d4 | ||
|
cee0850c35 | ||
|
d82f4f6b56 | ||
|
9b99313852 | ||
|
0e40b21608 | ||
|
de55871d32 | ||
|
bf066ac5e6 | ||
|
c4f186d0ec | ||
|
2ba8191ff2 | ||
|
5c82660a2c | ||
|
c765120903 | ||
|
0c662b0e6a | ||
|
d0b1fc7816 | ||
|
2a2b468090 | ||
|
3b6b929841 | ||
|
b7bb19e57a | ||
|
54b0dc47ed | ||
|
1b139d3378 | ||
|
ac50b14d36 | ||
|
62ec1ccdc0 | ||
|
c3a0ab3aa1 | ||
|
8240b0f05b | ||
|
ac3c854708 | ||
|
954accc1c4 | ||
|
78360393be | ||
|
2bd2e8e403 | ||
|
d8e1f27d4b | ||
|
e886b0566d | ||
|
5023108000 | ||
|
0bd4b8d288 | ||
|
d1ef9bbc3f | ||
|
a4f03b4c12 | ||
|
10e2d388db | ||
|
6569283738 | ||
|
c8ee33715b | ||
|
d5b4938803 | ||
|
2ed7b7106d | ||
|
f6fbe8df16 | ||
|
808b676eaa | ||
|
09354ee7ca | ||
|
c2a69bfec3 | ||
|
1b82a5b018 | ||
|
4297432d7e | ||
|
b21b9ce163 | ||
|
329d51b4e8 | ||
|
54e2a4d9d3 | ||
|
b62d75a774 | ||
|
c74861ceb5 | ||
|
9aa60bc5f9 | ||
|
6f9f734bd5 | ||
|
47ffcc9ffe | ||
|
7744fcd560 | ||
|
1e604c6c33 | ||
|
d3da228aef | ||
|
ebc281c279 | ||
|
a356859bb2 | ||
|
600e6dac57 | ||
|
9f924b3a9e | ||
|
4ee0be8f91 | ||
|
be6e940417 | ||
|
3feecbde94 | ||
|
dbbc2cd777 | ||
|
02f14aa326 | ||
|
0974d76447 | ||
|
56656df96a | ||
|
bb2928830c | ||
|
e8cf0e53f4 | ||
|
8bd6cf15c2 | ||
|
a7b6d2df88 | ||
|
0dd34a3e20 | ||
|
ab4f4f7d2b | ||
|
29970187d7 | ||
|
b34504057c | ||
|
eae11661e4 | ||
|
66e0e31b57 | ||
|
2652e77b5f | ||
|
fefca3d275 | ||
|
cbf7cd5447 | ||
|
97f7b9a568 | ||
|
9554be96f9 | ||
|
481fe0b9ed | ||
|
19a1e03f5d | ||
|
b5ff8b5c6c | ||
|
6b3f8e5dba | ||
|
37eb211c0a | ||
|
ae290926c4 | ||
|
5910c51bbe | ||
|
0a8b0a72d2 | ||
|
05bb0be33a | ||
|
b426b6daa7 | ||
|
3bafaa371c | ||
|
8ed2ff9241 | ||
|
7faabf5032 | ||
|
bacfb94db0 | ||
|
67896c5d5d | ||
|
7623a08ada | ||
|
e8da8add75 | ||
|
19dd0f19dd | ||
|
2f02dffe41 | ||
|
bd47fcf241 | ||
|
c90adba9dc | ||
|
6ced43e560 | ||
|
7b82e44ca1 | ||
|
778fa713a6 | ||
|
a7ed89bdd2 | ||
|
588082a570 | ||
|
257c0eb64a | ||
|
fefe5df1bc | ||
|
d6cb69f6fa | ||
|
fbf23b9597 | ||
|
c67a1b37e5 | ||
|
42b3a83bd9 | ||
|
150e04b784 | ||
|
03ca6e6da3 | ||
|
975ff3ceff | ||
|
377655df11 | ||
|
732dc94090 | ||
|
ba1b5f8974 | ||
|
0a6f195001 | ||
|
8b04d3e8e7 | ||
|
d74ab2865a | ||
|
462138e983 | ||
|
008f880ea4 | ||
|
6e3337b64a | ||
|
186bba720c | ||
|
9ce5fc95df | ||
|
18a411916b | ||
|
b2fa746f90 | ||
|
d82b6a2e88 | ||
|
d480e59d71 | ||
|
8465917ed1 | ||
|
c8fcb1cf22 | ||
|
6f40c97643 | ||
|
10fc22f7a0 | ||
|
ff636cb1bd | ||
|
31ac0a7091 | ||
|
2a306a092e | ||
|
4e72832846 | ||
|
a58579cebf | ||
|
8ce7084ba1 | ||
|
1697026a62 | ||
|
47c70b3257 | ||
|
861e83d7ff | ||
|
25db5b29b5 | ||
|
9a44a9fe17 | ||
|
ded66b1bde | ||
|
979a5b7e47 | ||
|
e03e707272 | ||
|
62d76003eb | ||
|
28701e8f76 | ||
|
ce5f4b92ca | ||
|
0b120aecbc | ||
|
2231b97572 | ||
|
06ead88d9d | ||
|
b948a6c004 | ||
|
61d80d792f | ||
|
5ae45ec667 | ||
|
f62b1dd2d4 | ||
|
b798113da8 | ||
|
8f1ff1bddc | ||
|
15c31544cf | ||
|
07d323d551 | ||
|
b38903cc6a | ||
|
9dd801f0d3 | ||
|
9106db191d | ||
|
91b2d46330 | ||
|
b19b9141cc | ||
|
c59579c8c5 | ||
|
ed9ca01ada | ||
|
aad43f6d00 | ||
|
5d69bb1342 | ||
|
84df26b7cc | ||
|
3c45ae69b2 | ||
|
740e023a53 | ||
|
141fb8b7a5 | ||
|
c36a485851 | ||
|
e1b173450c | ||
|
0dfdd65020 | ||
|
f5756a019e | ||
|
8ad75ddf5e | ||
|
c604d261f7 | ||
|
293d2bcc13 | ||
|
b9b45d8d79 | ||
|
02250336c2 | ||
|
cae9df7689 | ||
|
d616ad745f | ||
|
619cb49fca | ||
|
e92f295d06 | ||
|
f971ce91fe | ||
|
eadf434f17 | ||
|
39635d52a2 | ||
|
e5641c148b | ||
|
24477b651a | ||
|
d8b795b6d2 | ||
|
b8dbaafa89 | ||
|
bf184744f8 | ||
|
1ed9378fa4 | ||
|
05f66b4c66 | ||
|
862caa1012 | ||
|
d251d03252 | ||
|
602912aeb2 | ||
|
14d5c349fd | ||
|
2b96ea275e | ||
|
c9cb8538cc | ||
|
bc84e45835 | ||
|
7bd99717d2 | ||
|
1d4c83b5bb | ||
|
01853a7b9b | ||
|
ea2b747c73 | ||
|
352740a194 | ||
|
491a357f57 | ||
|
bf732cea77 | ||
|
1b4ed8cc3f | ||
|
9ab8833def | ||
|
bc06876fa8 | ||
|
f8343a2707 | ||
|
d31a9f73de | ||
|
631d5f470c | ||
|
26c6b9618f | ||
|
2f9292f3e4 | ||
|
6b52545fb0 | ||
|
d1ec2e2cac | ||
|
b7ea0dcf7b | ||
|
10d9030dc9 | ||
|
f5a77e3441 | ||
|
59b79d250a | ||
|
ba11d00aba | ||
|
c7790511ec | ||
|
46518d0229 | ||
|
57d8d38fd5 | ||
|
ef28d1b19f | ||
|
f933bbcc32 | ||
|
81840d58c6 | ||
|
1e8ff659f1 | ||
|
408bbd6a51 | ||
|
88b05229bf | ||
|
f1070f5416 | ||
|
bf1ef353c1 | ||
|
5e30af41b3 | ||
|
f9556db838 | ||
|
31c5c6079c | ||
|
28c972a3fd | ||
|
98adca1e34 | ||
|
cf01a7c2f2 | ||
|
2fc438ca13 | ||
|
41a62ccfc2 | ||
|
760c9996d4 | ||
|
4aacab9013 | ||
|
56f7cce92e | ||
|
5c2257399d | ||
|
3a9eba4f03 | ||
|
54963bfcb4 | ||
|
cdedafcbf3 | ||
|
47eea32832 | ||
|
5e44c303e3 | ||
|
56ac383268 | ||
|
005daa844d | ||
|
ce700bb36c | ||
|
4057988e1f | ||
|
09dbb0670d | ||
|
f404648926 | ||
|
13bd5ce012 | ||
|
b0d4014885 | ||
|
091ed897ef | ||
|
f0d92da7db | ||
|
06996ffe01 | ||
|
26b2e9d594 | ||
|
aadb0d31b5 | ||
|
2f094cb344 | ||
|
fe73db40a0 | ||
|
9b458ba730 | ||
|
669648778f | ||
|
e9ca2db5e4 | ||
|
2070b1a5a1 | ||
|
c60c3892e5 | ||
|
06e50ba0c9 | ||
|
5d07b61d7a | ||
|
111274c12e | ||
|
5bb2a9002c | ||
|
718544d190 | ||
|
a3dbf0f9da | ||
|
0ec5c00c18 | ||
|
decea3fd39 | ||
|
b9ba65308b | ||
|
0630268292 | ||
|
e678502641 | ||
|
cfcfceb458 | ||
|
9f455da123 | ||
|
426aa7ff77 | ||
|
2846b27f92 | ||
|
caf7d73751 | ||
|
29532ecedc | ||
|
5c2533248b | ||
|
15c4d4cd29 | ||
|
baf8a494d6 | ||
|
76b53d780f | ||
|
75778143ee | ||
|
217f59e1ed | ||
|
619d9396cc | ||
|
27465bc765 | ||
|
07322ef780 | ||
|
c9b3b34f26 | ||
|
9d80b4394e | ||
|
cff853a374 | ||
|
b9c0c95729 | ||
|
d8dc00f29b | ||
|
0040dd25ff | ||
|
c757f969c4 | ||
|
ae76d79b40 | ||
|
b4a29a6766 | ||
|
ac4d76b52a | ||
|
66bc30c2a8 | ||
|
f7f968daeb | ||
|
17f9704978 | ||
|
1abb6fe74c | ||
|
c43b9161c5 | ||
|
f28f087ddc | ||
|
5c92b35c6e | ||
|
499eaa2a7d | ||
|
0e950c65f5 | ||
|
d295f183ba | ||
|
63fc732758 | ||
|
dcd1201131 | ||
|
afae879d2e | ||
|
f0c35d7f9d | ||
|
ea766e6203 | ||
|
f837616025 | ||
|
17ea696c0d | ||
|
2682888425 | ||
|
4478b82af4 | ||
|
a4ccdad288 | ||
|
d716829478 | ||
|
9698c439dc | ||
|
cf8afd73a3 | ||
|
6868542519 | ||
|
f3e8b3ffcc | ||
|
8e7499cb1b | ||
|
e60ae3b48c | ||
|
c808bf155e | ||
|
1dd0f7ed0f | ||
|
9dc1c00a16 | ||
|
17f1b3b1e6 | ||
|
ced3051b20 | ||
|
e0a53aa9a2 | ||
|
5e8b620b9d | ||
|
fd81937dd9 | ||
|
8903d650d2 | ||
|
40269b2bb5 | ||
|
4173134bae | ||
|
8138b9c4e8 | ||
|
8a62bebaef | ||
|
f5b74e900c | ||
|
5314fb8cca | ||
|
3c4b203eee | ||
|
72cdb02057 | ||
|
dd7333a2da | ||
|
4962c3bf0b | ||
|
e9276ec91f | ||
|
20735dd8f7 | ||
|
8b573f8d7e | ||
|
ccd1f6f025 | ||
|
dbda53e93b | ||
|
903fc1583e | ||
|
4e1ea06a0d | ||
|
52c54c9403 | ||
|
3fa1d34c1d | ||
|
6352cf6186 | ||
|
c91fd814e9 | ||
|
70657119f3 | ||
|
760dfb8541 | ||
|
23f5c58362 | ||
|
21787a552f | ||
|
bdb02ef735 | ||
|
69e5e41e02 | ||
|
bd22c816d2 | ||
|
3df74ebf3f | ||
|
cb70ed81f6 | ||
|
c2a1e1f229 | ||
|
4c0d05a73b | ||
|
306cadad05 | ||
|
d48fbdd030 | ||
|
0a8dc3c98f | ||
|
9b6a9a59b2 | ||
|
34a0473a15 | ||
|
a610b9f3cf | ||
|
fc6ff9374d | ||
|
065abe9464 | ||
|
46cbb108da | ||
|
87be5c56ca | ||
|
496de868dc | ||
|
85e0b2b6aa |
349 changed files with 53649 additions and 43090 deletions
7
.gitignore
vendored
7
.gitignore
vendored
|
@ -1,10 +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
116
CodingStyle
Normal 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;
|
||||
}
|
|
@ -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
|
||||
:
|
||||
:
|
||||
}
|
||||
}
|
34
Makefile.am
34
Makefile.am
|
@ -1,34 +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
|
||||
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
|
||||
|
||||
bin_SCRIPTS = ChangeLog
|
||||
NOCONV_DIST= $(distdir)/include/win32/resources/icon1.ico
|
||||
|
||||
ChangeLog:
|
||||
-touch ChangeLog
|
||||
-tools/cvs2cl/cvs2cl.pl
|
||||
-rm -f ChangeLog.bak
|
||||
changelog::
|
||||
( 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
204
NEWS
|
@ -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
117
README
|
@ -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)
|
||||
|
|
126
README.WIN
126
README.WIN
|
@ -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 SOURCE dir.
|
||||
.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)
|
||||
|
||||
|
@ -74,18 +99,32 @@ You only need to extract BINS_DDK.EXE and get two files, ML.EXE and ML.ERR
|
|||
from it. Then get and run patch to upgrade ML.EXE to version 6.14. Put
|
||||
ML.EXE and ML.ERR in some directory which is included in your %path.
|
||||
|
||||
7) For GL targets, you'll need to have import library for OPENGL stuffs
|
||||
one coming with Borland C++ itself is screwed!
|
||||
7) Download ZLIB source code from http://www.info-zip.org/pub/infozip/zlib/
|
||||
and build a static library named zlib.lib. You have to copy makefile.b32
|
||||
from MSDOS directory to zlib main dir and then comment out or delete
|
||||
MODEL=-WX line in makefile.b32. Then do:
|
||||
|
||||
make -fmakefile.b32 zlib.lib
|
||||
|
||||
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!
|
||||
|
||||
implib -c -f opengl32.lib c:\windows\system\opengl32.dll
|
||||
|
||||
8) 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
|
||||
|
||||
9) 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."
|
||||
|
||||
10) When everything else is done, just start making
|
||||
11) When everything else is done, just start making
|
||||
|
||||
cd source
|
||||
make -fqf-client-win
|
||||
|
@ -106,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.
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
|
||||
|
|
20
ROADMAP
20
ROADMAP
|
@ -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
|
||||
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 GL is still way too slow
|
||||
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? fullbrights on models (yeah, we have to..)
|
||||
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 to use local palettes
|
||||
? 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)
|
||||
|
|
101
acconfig.h
101
acconfig.h
|
@ -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
|
25
acinclude.m4
25
acinclude.m4
|
@ -79,7 +79,7 @@ dnl
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <SDL/SDL.h>
|
||||
#include <SDL.h>
|
||||
|
||||
char*
|
||||
my_strdup (char *str)
|
||||
|
@ -156,7 +156,7 @@ int main (int argc, char *argv[])
|
|||
LIBS="$LIBS $SDL_LIBS"
|
||||
AC_TRY_LINK([
|
||||
#include <stdio.h>
|
||||
#include <SDL/SDL.h>
|
||||
#include <SDL.h>
|
||||
], [ return 0; ],
|
||||
[ echo "*** The test program compiled, but did not run. This usually means"
|
||||
echo "*** that the run-time linker is not finding SDL or finding the wrong"
|
||||
|
@ -193,7 +193,7 @@ int main (int argc, char *argv[])
|
|||
# Shamelessly stolen from Owen Taylor
|
||||
|
||||
dnl AM_CHECK_SGL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
||||
dnl Test for SDL 1.1.x, and define SGL_CFLAGS and SGL_LIBS
|
||||
dnl Test for SDL 1.1.x, do _not_ redefine any variables.
|
||||
dnl ***MUST*** be run _after_ checking for SDL 1.0x, if used.
|
||||
dnl
|
||||
AC_DEFUN(AM_CHECK_SGL,
|
||||
|
@ -201,7 +201,7 @@ AC_DEFUN(AM_CHECK_SGL,
|
|||
dnl Get the cflags and libraries from the sdl-config script
|
||||
dnl
|
||||
min_sdl_version=ifelse([$1], ,1.1.0,$1)
|
||||
AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
|
||||
AC_MSG_CHECKING(whether SDL is version >= $min_sdl_version)
|
||||
no_sgl=""
|
||||
if test "$SDL_CONFIG" = "no" ; then
|
||||
no_sgl=yes
|
||||
|
@ -215,6 +215,10 @@ dnl
|
|||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||
sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $SGL_CFLAGS"
|
||||
LIBS="$LIBS $SGL_LIBS"
|
||||
dnl
|
||||
dnl Do nothing more than check if the installed SDL is sufficiently new, since
|
||||
dnl we already did that in the SDL detection
|
||||
|
@ -223,7 +227,7 @@ dnl
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <SDL/SDL.h>
|
||||
#include <SDL.h>
|
||||
|
||||
char*
|
||||
my_strdup (char *str)
|
||||
|
@ -274,6 +278,13 @@ main (int argc, char *argv[])
|
|||
AC_MSG_RESULT(no)
|
||||
ifelse([$3], , :, [$3])
|
||||
fi
|
||||
AC_SUBST(SGL_CFLAGS)
|
||||
AC_SUBST(SGL_LIBS)
|
||||
])
|
||||
|
||||
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
|
||||
])
|
||||
|
|
|
@ -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
|
||||
autoheader
|
||||
automake --add-missing
|
||||
autoconf
|
||||
|
|
846
configure.in
846
configure.in
File diff suppressed because it is too large
Load diff
3
debian/.gitignore
vendored
Normal file
3
debian/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
files
|
||||
Makefile
|
||||
Makefile.in
|
24
debian/Makefile.am
vendored
Normal file
24
debian/Makefile.am
vendored
Normal 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
8
debian/changelog
vendored
|
@ -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
22
debian/control
vendored
|
@ -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
29
debian/copyright
vendored
Normal 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.
|
1
debian/qf-client-3dfx.dirs
vendored
1
debian/qf-client-3dfx.dirs
vendored
|
@ -1,2 +1 @@
|
|||
usr/games
|
||||
usr/share/man/man6
|
||||
|
|
1
debian/qf-client-3dfx.docs
vendored
1
debian/qf-client-3dfx.docs
vendored
|
@ -1,4 +1,3 @@
|
|||
INSTALL
|
||||
README
|
||||
doc
|
||||
NEWS
|
||||
|
|
1
debian/qf-client-3dfx.undocumented
vendored
Normal file
1
debian/qf-client-3dfx.undocumented
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
qf-client-3dfx.6
|
1
debian/qf-client-ggi.dirs
vendored
1
debian/qf-client-ggi.dirs
vendored
|
@ -1,2 +1 @@
|
|||
usr/games
|
||||
usr/share/man/man6
|
||||
|
|
1
debian/qf-client-ggi.docs
vendored
1
debian/qf-client-ggi.docs
vendored
|
@ -1,4 +1,3 @@
|
|||
INSTALL
|
||||
README
|
||||
doc
|
||||
NEWS
|
||||
|
|
1
debian/qf-client-ggi.undocumented
vendored
Normal file
1
debian/qf-client-ggi.undocumented
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
qf-client-ggi.6
|
1
debian/qf-client-glx.dirs
vendored
1
debian/qf-client-glx.dirs
vendored
|
@ -1,2 +1 @@
|
|||
usr/games
|
||||
usr/share/man/man6
|
||||
|
|
1
debian/qf-client-glx.docs
vendored
1
debian/qf-client-glx.docs
vendored
|
@ -1,4 +1,3 @@
|
|||
INSTALL
|
||||
README
|
||||
doc
|
||||
NEWS
|
||||
|
|
1
debian/qf-client-glx.undocumented
vendored
Normal file
1
debian/qf-client-glx.undocumented
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
qf-client-glx.6
|
1
debian/qf-client-sdl.dirs
vendored
1
debian/qf-client-sdl.dirs
vendored
|
@ -1,2 +1 @@
|
|||
usr/games
|
||||
usr/share/man/man6
|
||||
|
|
1
debian/qf-client-sdl.docs
vendored
1
debian/qf-client-sdl.docs
vendored
|
@ -1,4 +1,3 @@
|
|||
INSTALL
|
||||
README
|
||||
doc
|
||||
NEWS
|
||||
|
|
1
debian/qf-client-sdl.undocumented
vendored
Normal file
1
debian/qf-client-sdl.undocumented
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
qf-client-sdl.6
|
1
debian/qf-client-sgl.dirs
vendored
1
debian/qf-client-sgl.dirs
vendored
|
@ -1,2 +1 @@
|
|||
usr/games
|
||||
usr/share/man/man6
|
||||
|
|
1
debian/qf-client-sgl.docs
vendored
1
debian/qf-client-sgl.docs
vendored
|
@ -1,4 +1,3 @@
|
|||
INSTALL
|
||||
README
|
||||
doc
|
||||
NEWS
|
||||
|
|
1
debian/qf-client-sgl.undocumented
vendored
Normal file
1
debian/qf-client-sgl.undocumented
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
qf-client-sgl.6
|
1
debian/qf-client-svga.dirs
vendored
1
debian/qf-client-svga.dirs
vendored
|
@ -1,2 +1 @@
|
|||
usr/games
|
||||
usr/share/man/man6
|
||||
|
|
1
debian/qf-client-svga.docs
vendored
1
debian/qf-client-svga.docs
vendored
|
@ -1,4 +1,3 @@
|
|||
INSTALL
|
||||
README
|
||||
doc
|
||||
NEWS
|
||||
|
|
1
debian/qf-client-svga.undocumented
vendored
Normal file
1
debian/qf-client-svga.undocumented
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
qf-client-svga.6
|
1
debian/qf-client-x11.dirs
vendored
1
debian/qf-client-x11.dirs
vendored
|
@ -1,2 +1 @@
|
|||
usr/games
|
||||
usr/share/man/man6
|
||||
|
|
1
debian/qf-client-x11.docs
vendored
1
debian/qf-client-x11.docs
vendored
|
@ -1,4 +1,3 @@
|
|||
INSTALL
|
||||
README
|
||||
doc
|
||||
NEWS
|
||||
|
|
1
debian/qf-client-x11.undocumented
vendored
Normal file
1
debian/qf-client-x11.undocumented
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
qf-client-x11.6
|
1
debian/qf-server.dirs
vendored
1
debian/qf-server.dirs
vendored
|
@ -1,3 +1,2 @@
|
|||
usr/games
|
||||
usr/share/man/man6
|
||||
usr/share/games/quake/qw
|
||||
|
|
1
debian/qf-server.docs
vendored
1
debian/qf-server.docs
vendored
|
@ -1,4 +1,3 @@
|
|||
INSTALL
|
||||
README
|
||||
doc
|
||||
NEWS
|
||||
|
|
1
debian/qf-server.undocumented
vendored
Normal file
1
debian/qf-server.undocumented
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
qf-server.6
|
1
debian/quakeforge-common.conffiles
vendored
Normal file
1
debian/quakeforge-common.conffiles
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/etc/quakeforge.conf
|
1
debian/quakeforge-common.docs
vendored
1
debian/quakeforge-common.docs
vendored
|
@ -1,4 +1,3 @@
|
|||
INSTALL
|
||||
README
|
||||
doc
|
||||
NEWS
|
||||
|
|
15
debian/quakeforge.conf
vendored
15
debian/quakeforge.conf
vendored
|
@ -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
0
debian/quakeforge.files
vendored
Normal file
5
debian/rules
vendored
5
debian/rules
vendored
|
@ -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
|
||||
|
|
|
@ -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
87
doc/config/glspeed.cfg
Normal 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
49
doc/config/swspeed.cfg
Normal 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
|
|
@ -1,4 +1,5 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
AUTOMAKE_OPTIONS= foreign
|
||||
man_MANS = quakeforge.1
|
||||
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
|
49
doc/net_DoS_protection.txt
Normal file
49
doc/net_DoS_protection.txt
Normal 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
219
doc/skybox.fig
Normal 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
|
|
@ -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
2
include/.gitignore
vendored
|
@ -1,6 +1,8 @@
|
|||
.vimrc
|
||||
Makefile.in
|
||||
Makefile
|
||||
config.h.in
|
||||
stamp-h.in
|
||||
stamp-h
|
||||
stamp-h1
|
||||
config.h
|
||||
|
|
|
@ -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 \
|
||||
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
|
||||
|
|
|
@ -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},
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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
55
include/cl_cam.h
Normal 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
|
|
@ -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
47
include/cl_ents.h
Normal 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
|
|
@ -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
57
include/cl_main.h
Normal 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
46
include/cl_parse.h
Normal 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
39
include/cl_pred.h
Normal 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
|
|
@ -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
40
include/cl_tent.h
Normal 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
|
253
include/client.h
253
include/client.h
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)));
|
||||
|
|
|
@ -28,35 +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 width, int height);
|
||||
void x11_restore_vidmode(void);
|
||||
void x11_create_window(int width, int height);
|
||||
void x11_grab_keyboard(void);
|
||||
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_
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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
84
include/fbset.h
Normal 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
34
include/fractalnoise.h
Normal 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
|
|
@ -30,7 +30,7 @@
|
|||
#define _GCC_ATTR_H
|
||||
|
||||
#ifndef __GNUC__
|
||||
#define __attribute__(x)
|
||||
# define __attribute__(x)
|
||||
#endif
|
||||
|
||||
#endif // _GCC_ATTR_H
|
||||
|
|
|
@ -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
54
include/hash.h
Normal 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
|
|
@ -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)));
|
|
@ -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_
|
||||
|
|
|
@ -32,9 +32,10 @@
|
|||
#include "protocol.h"
|
||||
#include "cvar.h"
|
||||
|
||||
#define freelook (in_mlook.state&1 || cl_freelook->value)
|
||||
#define freelook (in_mlook.state&1 || cl_freelook->int_val)
|
||||
|
||||
void IN_Init (void);
|
||||
void IN_Init_Cvars (void);
|
||||
|
||||
void IN_Shutdown (void);
|
||||
|
||||
|
|
|
@ -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 ()
|
||||
|
|
|
@ -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);
|
||||
|
|
50
include/locs.h
Normal file
50
include/locs.h
Normal file
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
locs.h
|
||||
|
||||
Parsing and handling of location files.
|
||||
|
||||
Copyright (C) 2000 Anton Gavrilov (tonik@quake.ru)
|
||||
|
||||
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 __locs_h
|
||||
#define __locs_h
|
||||
|
||||
#include "qtypes.h"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
vec3_t loc;
|
||||
char *name;
|
||||
} location_t;
|
||||
|
||||
location_t *locs_find(vec3_t target);
|
||||
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
398
include/logos.h
Normal 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. ",
|
||||
" ",
|
||||
" "};
|
|
@ -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,6 +48,22 @@ 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_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
|
||||
// left / right
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
55
include/pcx.h
Normal 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
|
|
@ -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
|
||||
|
|
178
include/progs.h
178
include/progs.h
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue