home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!zephyr.ens.tek.com!master!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v14i020: xpilot - Multiplayer gravity war game hand-shake program, Part18/24
- Message-ID: <3315@master.CNA.TEK.COM>
- Date: 4 Aug 92 19:30:44 GMT
- Sender: news@master.CNA.TEK.COM
- Lines: 1338
- Approved: billr@saab.CNA.TEK.COM
-
- Submitted-by: Bjoern Stabell <bjoerns@staff.cs.uit.no>
- Posting-number: Volume 14, Issue 20
- Archive-name: xpilot/Part18
- Environment: X11, ANSI C
-
-
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 18 (of 24)."
- # Contents: maps/fuzz2.uue maps/small.uue src/xinit.c
- # Wrapped by billr@saab on Tue Aug 4 10:38:58 1992
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'maps/fuzz2.uue' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'maps/fuzz2.uue'\"
- else
- echo shar: Extracting \"'maps/fuzz2.uue'\" \(31622 characters\)
- sed "s/^X//" >'maps/fuzz2.uue' <<'END_OF_FILE'
- Xbegin 644 fuzz2.map
- XM,30Q>#$V,0HT"D9U>GH@24DZ(%1H92!396%R8V@@9F]R(&$@0F5T=&5R($YA
- XM;64*4F]N;GD@(E-N;W=B86QL(B!!<FEL9`IX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX"GAX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>`IX>'AX>'AX>'AX>'AX>',@87AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@87AX>'AX>'AX>'AX
- XM>'AX>'AX>'@*>'AX>'AX>'AX>'AX>'@@("!X>'AX>'AX>'AX<V%X>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX1GAX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("!A>'AS("`@("!X>'AX
- XM>',@8V%X>'AX>'AX>'AX"GAX>'AX>'AX>'AX>'AS("`@87AS(&%X>'AX<R`@
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS("!A>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'-A>'AX<R`@("`@("`@("`@
- XM("`@87AX>',@("`@>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AS("`@("`@("`@
- XM>'AX>"`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AS8V%X>'AX<V%X>'AX>'AS
- XM("`@('AX>'AX>'AX>'AX>'AS8V%X>'AS("!A>'AX>'AX>',@("!X>"`@("`@
- XM("`@("`@("`@("!A<R`@("`@(&%X>'AX>'AX>'@*>'AX>'AX>'AX>'AX("`@
- XM("`@("`@('AX>',@("`@(&%X>'AX>'AX>'AX>'-A>'AX>',@("`@("`@("`@
- XM87,@("`@("`@("!A>'AX<R`@(&%X<R`@("`@("`@("`@('AX>'AX>',@("`@
- XM87,@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX"GAX>'AX>'AX
- XM>'AX1B`@("`@("`@("!A<R`@("`@("`@87AS(&%X>'AX<R`@('AX>',@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX
- XM>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>`IX
- XM>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>"`@("!A
- XM>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@(&%X>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX
- XM>'AX>'@*>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@('AX
- XM>',@("`@(&%S("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@87AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("!A>'AX>'AX"GAX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("!X>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@(&%X>'AX>`IX>'AX>',@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@>'AX>'@*>'AX>'@@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@(&%S("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX"GAX>'AX("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>`IX>'AX
- XM>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X
- XM>'@*>'AX>'AX9B`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@1GAX"GAX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@('AX>`IX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("!X>'@*>'AX>',@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX"GAX>'@@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>`IX>'AX=R`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'@*
- XM>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM87AX>'AX"GAX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("!A>'AX>`IX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@('AX>'@*>'AX<R`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("!X>'AX"GAX>"`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>`IX>'AW("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'@*>'AX
- XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X
- XM>'AX"GAX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@<7AX>'AX>`IX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@<7AX>'AX>'@*>'AX>"`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM('%W("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@<7AX>'AX>'AX"GAX>'AW("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("!X>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>`IX>'AX>"`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@87AW('%X=R`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>'@*>'AX>'AW
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@<7AW("`@("`@("`@("!X>'AX>'@@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX
- XM"GAX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@('AX>"`@("`@<7<@*B!Q>'AX>'AX("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX
- XM>'AX>'AX>`IX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("!X>'AW("`@('AX>'AX>'AX>'AX>'<@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@<7AX>'AX>'AX>'@*>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'<@('%X>'AX>'AX
- XM>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@('AX>'AX>'AX>'AX"GAX>',@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX1GAX
- XM>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@(#P@("`@("`@
- XM("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>`IX>'@@("`@("`@("`@("`@
- XM("`@("`@("`@("`^("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'@*>'AX=R`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@('AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX"GAX
- XM>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX
- XM>'AX>`IX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@(&1X>'AX>'AX>'AX>'AX>'AX>'AX>&8@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM(&%X>'AX>'AX>'@*>'AF("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@(&%X>'AX>'AX"GAX=R`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@>'AX>'AX>`IX>'@@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'@*>'AS("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@('AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX"GAS("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("!X>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX
- XM>`IX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@87AX>'AX>'AX1GAX>'AX>'AX("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX
- XM>'AX>'AX>'@*>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX<R`@87AX>'AX>"`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("!Q>'AX>'AX>'AX>'AX"GAX>"`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A
- XM>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("!Q>'AX>'AX>'AX>'AX>`IX>'AW("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@87AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'@*>'AX>"`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX"GAX>'AW("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX>'AX>`IX
- XM>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX
- XM>'AX>'@*>'AX>'AX1B`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X
- XM>'AX>'AX>'AX>'AX"GAX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("!Q>'AX>'AX>'AX>'AX>`IX>'AX<R`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'@*>'AX>"`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX"GAX>'@@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("!Q>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX>`IX>'AX
- XM=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@<7AX=R`@("`@("`@('%X>'AX>"`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX
- XM>'@*>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@<7AX>'@@("`@("!Q>'AX>'AX>'@@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%W("`@(&1X>'AX>'AX
- XM>'AX>'AX>'AX"GAX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@<7AX>'AX=R`@('%X>'AX>'AX>'AX("`@("!Q>'<@
- XM("`@<7AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'<@("`@
- XM>'AX>'AX>'AX>'AX>'AX>`IX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@
- XM<G%X>'AX>'=Q>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM87AX("`@('AX>'AX>'AX>'AX>'AX>'@*>'AX>'AX>"`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("!Q=R`@("`@("`@("`@
- XM("`@("`@("!X>"`@('%X>'AX>'AX>'AX>'AX>'AX"GAX>'AX>'AW("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'@@("`@("!Q>'@@("`@
- XM("`@("`@("`@("`@("`@>'@@("!X>'AX>'AX>'AX>'AX>'AX>`IX>'AX>'AX
- XM>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@('%X
- XM>'AX("`@("`@("`@("`@("`@("`@(&%X=R`@1GAX>'AX>'AX>'AX>'AX>'@*
- XM>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'<@('%X>'AX>'<@("`@("`@("`@("`@("`@("`@>'AW<7AX>'AX>'AX>'AX
- XM>'AX>'AX"GAX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX1GAX>'AX>'AX("`@("`@("`@("`@("`@("`@('AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("!X
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX>'AW("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@($9X>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@
- XM("`@("`@>'AX>'AX>'AX>'AX>'AX>'AX>'AX"GAX>'AX>'AX>'AX>'AX>"`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@
- XM("`@("`@<7AX=R`J<7AX>'AX>'AX>'AX>'AX>'AX>'AX>`IX>'AX>'AX>'AX
- XM>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@
- XM("`@("`@("`@("`@('AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'@*>'AX
- XM>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AS("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX"GAX>'AX>'AX>'AX>'AX>'@@("`@("`@('%X=R`@("`@("`@("`@("`@
- XM("`@('AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AX>'AX=RH@('%X>'AX>'@@("`@("`@
- XM('%X=R`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AS("!A<R`@("`@("`@("`@("`@("!X>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM=R`@("!Q>'AX>'AX=R`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@87AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX"GAX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>',@("`@>'AX>'AX>'AW<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@
- XM("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>',@("`@('AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'@*>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'@@("`@("!X>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM"GAX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("!Q>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>$9X>'AX>'AX
- XM>'AX>'AX>`IX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@('%X>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'-C
- XM87AX>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@("!&
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX
- XM>'AX<R`@("!A>'AX>'AX>'AX>'AX"GAX>'AX>'AX>'AX>'AX>'AX<V%X>'AX
- XM>'@@("`@>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@('%X
- XM>'AX>'AX>'AX>"`@("`@(&%X>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AX>'AX
- XM>"`@(&%X>'AX("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@
- XM("`@("!X>'AX>'AX>'AX>'@@("`@("`@>'AX>'AX>'AX>'@*>'AX>'AX>'AX
- XM>'AX>'AX>',@("`@87AX<R`@("`@>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@>'AX>'AX>'AX>'AX=R`@("`@('AX>'AX>'AX>'AX"GAX
- XM>'AX>'AX>'AX>'AX<R`@("`@("!C("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS(&-A>'AS(&%X>',@("`@("`@
- XM("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX>',@("`@("!X>'AX>'AX
- XM>'AX>`IX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@87AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@(&%S("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>',@("`@("`@
- XM87AX>'AX>'AX>'@*>'AX>'AX>'AS87AX>"`@("`@("`@("`@("`@("`@("`@
- XM87AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX<R`@
- XM("`@("`@("`@(&%X>'AX>'AX"GAX>'AX>'AS("`@87,@("`@("`@("`@("`@
- XM("`@("`@("!X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&1X>'AX
- XM>'AS("`@("`@("`@("`@("!Q>'AX>'AX>`IX>'AX>'AS("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@87AX>'AX("`@("`@("`@("`@("`@>'AX>'AX>'@*>'AX>'AX("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("!A>'AX<R`@("`@("`@("`@("`@('AX>'AX>'AX"GAX>'AX
- XM<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AS(&%X>',@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX
- XM>`IX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM>'AX>'AS87@*>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM(&%X>'AS(&%X>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@(&%X>'AX("!X"GAX>'@@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@87AS("`@87AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@(&%X<R`@>`IX>'AX=R`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX>'AX>'AX>"`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>'AX>'@@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX
- XM>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"GAX>'AS("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX
- XM>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX
- XM>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM(&%X>'AX>'AX<V%X<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@<7@*>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@('AX"GAX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@(&%S(&%S("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("!&>`IX1B`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@*R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@87@*>'@@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"GAX=R`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX>'@@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'<@
- XM('@*>'AX("`@("`@("`@("`@("`@("`@("`@("!Q>'AX=W(@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM(')Q>'AX('%X"GAX>"`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'A&9B`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@('%X>'AX>'AX>`IX>'@@("`@("`@("`@("`@("`@("`@("`@>'AX
- XM>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@('%X>'AX>'AX>'@*>'AX=R`@("`@("`@("`@("`@("`@
- XM("`@('AX>'AX>'AW("`@("!Q>'AW("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@(&1X>'AX>'AX>'AX"GAX>'@@("`@("`@("`@
- XM("`@("`@("`@("!A>'AX>'AX>"`@("`@>'AX>"`@("`@('%W("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>`IX>'AX=R`@
- XM("`@("`@("`@("`@("`@("`@('AX>'AX>'@@("`@<7AX>'AW<7AX=W%X>'<@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'@*
- XM>'AX>'AX=R`@("`@("`@("`@("`@("`@("!X>'AX>'AX=R!Q>'AX>'AX>'AX
- XM>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX
- XM>'AX>'AX"GAX>'AX>'@@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@('AX>'AX>'AX>`IX>'AX>'AX=R`@("`@("`@("`@("`@("`@(&%X>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("!A>'AX>'AX>'@*>'AX>'AX>'AX=W)X=R`@("`@("`@("`@
- XM("`@>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@('AX>'AX>'AX"GAX>'AX>'AX>'AX>',@("!Q
- XM=R`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("!Q=R`@<7AX>'<@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>`IX>'AX>'AX>'AX
- XM>'@@("`@>'AX=R`@("`@('AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX1GAX>'AX("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'@*>'AX
- XM>'AX>'AX>'AX("`@('AX>'AX>'<@*G%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX<R`@
- XM("`@("`@("`@("`@("`@("`@("`@<7AX>'<@("`@("`@("`@('%X>'AX>'AX
- XM>'AX"GAX>'AX>'AX>'AX>"`@("!X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX
- XM>'AX>"`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX("`@("`@("`@("!X
- XM>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AW("`@87AX>'AX>'AX>'AX>'-A>'AX
- XM>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM87AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>"`@("`@
- XM("`@("!Q>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX>'<@("`@87AS("!A>'AS
- XM("`@("!A<R!C(&%X>'AX>'AX>'AX1B`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("!X>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@>'AX
- XM>'@@("`@("`@("`@87AX>'AX>'AX>'AX"GAX>'AX>'AX>'AX>'AX("`@("`@
- XM("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@
- XM("`@<7AX>'AX("`@("`@("`@("!X>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AX
- XM>'<@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX>'@@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AW("`@("`@("`@("`@
- XM("`@("`@("`@<7AX>'AX>'<@("`@("`@("`@87AX>'AX>'AX>'@*>'AX>'AX
- XM>'AX>'AX>'AX1G<@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX=R`@
- XM("`@("`@("`@("`@("`@('AX>'AX>'AX>'<@("`@("`@('%X>'AX>'AX>'AX
- XM"GAX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@(&%X>'AX
- XM>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX
- XM>'AX>'@@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX("`@("`@("!X>'AX
- XM>'AX>'AX>`IX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@
- XM("`@>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X
- XM>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>"`@("`@
- XM("`@>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@
- XM("`@("`@("`@('AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@('%X>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@<7AX>'AX
- XM>',@("`@("`@(&%X>'AX>'AX>'AX"GAX>'AX>'AX>'AX>'AX("`@("`@("`@
- XM("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@
- XM('AX>'AX>'@@("`@("`@("`@>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AX>"`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@>'AX1D9X>'AX>"`@("`@("`@("`@
- XM("!Q>'AX>'AW("`@("`@('AX>'AX>'AX>'AX>'AX>'@@("`@("`@("`@("`@
- XM("`@("`@("!X>'AX>'AX("`@("`@("`@('AX>'AX>'AX>'@*>'AX>'AX>'AX
- XM>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@(&%X<V-C87AX>',@("`@
- XM("`@("`@<7AX>'AX>'AX>'AX=R!R('%X>'AX>'AX>'AX>'AX>'AX("`@("`@
- XM("`@("`@("`@("`@("`@>'AX>'AX>"`@("`@("`@("!X>'AX>'AX>'AX"GAX
- XM>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX1GAX>'AX>'AX>'AX>'AX>'AX
- XM>"`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AW("`@("`@("!Q>'AX>'AX
- XM>'AX>`IX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>"`@("`@("!Q
- XM>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'@@
- XM("`@("`@87AX>'AX>'AX>'AX"GAX>'AX>'AX>'AX<R`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("!X
- XM>'AX>'AX("`@("`@("`@87AX>'AX>'AX>`IX>'AX>'AX>'AS("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@
- XM("`@("!Q>'AX>'AX<R`@("`@("`@("!X>'AX>'AX>'@*>'AX>'AX>'AX9B`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM('%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@
- XM("`@("`@("`@<7AX>'AX>'AX>"`@("`@("`@("`@>'AX>'AX>'AX"GAX>'AX
- XM>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX=R`@("`@("`@
- XM("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@
- XM("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'@@("`@("`@("`@('AX>'AX>'AX
- XM>`IX>'AX>'AX>'AW("`@("`@("`@("`@("`@+2`@("`@("`@("`@('AX>'@@
- XM("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>"`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AS("`@("`@("`@("!X
- XM>'AX>'AX>'@*>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("!X>'AS("`@("`@("`@("`@("`@("!X>'AX>'AX>'@@(&%X>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'@@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AS("`@("`@
- XM("`@("`@87AX>'AX>'AX"GAX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("!Q>'AX("`@("`@("`@("`@("`@("`@87AX>'AX>',@("`@>'AX
- XM>'AX>'AX>'AX>'AX>',@(&%S("`@("`@("`@("`@("!Q>'AX>'AX>'AX<R`@
- XM("`@("`@("`@("`@("!X>'AX>'AX>`IX>'AX>'AX>'AX("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@87AX>'<@("`@("`@("`K("`@("`@("!X>'AX>'@@
- XM("`@($9X>'AX>'AX>',@("!A<R`@("`@("`@("`@("`@("`@("`@>'AX>'AX
- XM>'AX<R`@("`@("`@("`@("`@("`@>'AX>'AX>'@*>'AX>'AX>'AX<R`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("!X>'AX("`@("`@("`@("`@("`@("`@
- XM>'AX>'AS("`@('%X>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@
- XM<7AX>'AX>'AX>"`@("`@("`@("`@("`@("`@('AX>'AX>'AX"GAX>'AX>'AX
- XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX<R`@("`@("`@("`@
- XM("`@("`@<7AX>'AX("`@("!A>'AX>'AX>',@("`@("`@("`@("`@("`@("`@
- XM("`@("`@<7AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("!X>'AX>'AX>`IX
- XM>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@87A&<R`@("`@
- XM("`@("`@("`@("`@(&%X>',@("`@("`@('AX>'AX>',@("`@("`@("`@("`@
- XM("`@("`@("`@("`@('AX>'AX<R`@(&%S("`@("`@("`@("`@("`@("`@>'AX
- XM>'AX>'@*>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X<V%X<R`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("!A>',@("`@("`@("`@("`@("`@("`@("`@
- XM("`@<7AX>'AX>'AX"GAX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>"`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("!Q>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'<@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM>',@("`@("`@("`@("`@("`@("`@("`M("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@('@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q
- XM>'A&=R`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX"GAX>'AX>'AX>'AX
- XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@<7AX=R`@('%X("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@>'AX>'AW("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>`IX>'AX
- XM>'AX>'AX>',@("`@('%X>'<@("`@("`@("`@("!Q>'<@("`@("`@("`@("`@
- XM("`@("`@("`@("`@<7AX>'AX=R!X>"`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@(&%X>'AX>"`@("`@("`@("`@("`@("`@('AX>'AX>'AX
- XM>'@*>'AX>'AX>'AX>'AW("IQ>'AX>'AX>'<@("`@("`@("`@>'AX>'AX=R`@
- XM("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AW*B`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@>'AX>'@@("`@("`@("`@("`@("`@("!X
- XM>'AX>'AX>'AX"GAX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@
- XM87AX>'AX>'AW("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX>'AX=R`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AS("`@("`@("`@("`@
- XM("`@("`@>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@
- XM("`@("`@("!A>'AX>'AX>'<@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX
- XM>'AX>'<@("`@("`@("`@("`@('%X=R`@("`@("`@("`@("!X>'AX("`@("`@
- XM("`@("`@("`@("`@<7AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AW("`@("`@("`@(&%X>'AX>'AX("`@("`@("`@("`@("`@("!X>'AX
- XM>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("!&>'@@("`@("`@("`@*B!Q>'AX
- XM>"`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX"GAX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AW("`@("`@("`@>'AX>'AX>'<@<7AX=R`@("!Q>'<@
- XM("`@>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("!Q>'AX=R`@("`@("`@
- XM<7AX>'AX>',@("`@('%X>'AW("`@("`@>'AX>'AX>'AX>'AX>`IX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@("`@("`@<7AX>'AX>'AX>'AX>'AX
- XM=R!Q>'AX("`@('AX>'AX>'AX>'AX>'AX>'AX>'@@("!Q>'AX>'AX>'AX>'@@
- XM("`@<7AX>'AX>'AX>'@@("`@("!X>'AX<R`@("`@<7AX>'AX>'AX>'AX>'@*
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>$8@("`@("!Q>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'<J('%X>'AX>'AX>'AX>'AX>'AX>'AX("`@>'AX>'AX
- XM>'AX>'AX=R`@<7AX>'AX>'AX>'AX=R`@*B!X>'AS("`@<7AX>'AX>'AX>'AX
- XM>'AX>'AX"GAX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'=R
- XM<7AX>'AX>'AX>'AX>'AX1GAX>'AX>'AX>'AX>'AX>'AX>'AX=W%X>'AX>'AX
- XM>'AX>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AW
- XM('(@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- X;>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- X`
- Xend
- END_OF_FILE
- if test 31622 -ne `wc -c <'maps/fuzz2.uue'`; then
- echo shar: \"'maps/fuzz2.uue'\" unpacked with wrong size!
- fi
- # end of 'maps/fuzz2.uue'
- fi
- if test -f 'maps/small.uue' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'maps/small.uue'\"
- else
- echo shar: Extracting \"'maps/small.uue'\" \(664 characters\)
- sed "s/^X//" >'maps/small.uue' <<'END_OF_FILE'
- Xbegin 644 small.map
- XM,C!X,C`*-`I3;6%L;"!I<R!W;VYD97)F=6P*0FKX<FX@4W1A8F5L;`IX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>`IX("`@("`@("`@("`@("`@("`@>`IX("`@("`@
- XM("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@
- XM("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`J>`IX("`@("`@("`@("`@
- XM("`@("!A>`IX("`@("`@("`@("`@("`@("`@>`IX*B`@("`@("`@("`@("`@
- XM("`@>`IX<R`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@
- XM>`IX("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@>`IX
- XM("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@>`IX*B`@
- XM("`@("`@("`@("`@("`@>`IX1B`@("`@("`@("`@("`@("`@>`IX<R`@("`@
- XM("`@("`@("`@("`@>`IX("`@*B`@("`@("`J("`@("`J>`IX>'AX>'AX>'AX
- X+>'AX>'AX>'AX>`H@
- X`
- Xend
- END_OF_FILE
- if test 664 -ne `wc -c <'maps/small.uue'`; then
- echo shar: \"'maps/small.uue'\" unpacked with wrong size!
- fi
- # end of 'maps/small.uue'
- fi
- if test -f 'src/xinit.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/xinit.c'\"
- else
- echo shar: Extracting \"'src/xinit.c'\" \(22081 characters\)
- sed "s/^X//" >'src/xinit.c' <<'END_OF_FILE'
- X/* $Id: xinit.c,v 1.10 1992/07/10 21:41:06 bjoerns Exp $
- X *
- X * This file is part of the XPilot project, written by
- X *
- X * Bjxrn Stabell (bjoerns@stud.cs.uit.no)
- X * Ken Ronny Schouten (kenrsc@stud.cs.uit.no)
- X *
- X * Copylefts are explained in the LICENSE file.
- X */
- X
- X#include <X11/Xproto.h>
- X#include <X11/Xlib.h>
- X#include <X11/Xos.h>
- X
- X#include <stdio.h>
- X#include <setjmp.h>
- X#ifndef apollo
- X# include <string.h>
- X#endif
- X
- X#include "global.h"
- X#include "map.h"
- X#include "draw.h"
- X#include "version.h"
- X#include "icon.h"
- X#include "pack.h"
- X
- X#ifndef lint
- Xstatic char sourceid[] =
- X "@(#)$Id: xinit.c,v 1.10 1992/07/10 21:41:06 bjoerns Exp $";
- X#endif
- X
- X/*
- X * Globals.
- X */
- Xstatic char msg[MSG_LEN];
- Xstatic XFontStruct *font;
- X
- XAtom ProtocolAtom, KillAtom;
- X
- X#ifndef NO_ROTATING_DASHES
- Xchar dashes[NO_OF_DASHES] = { 8, 4 };
- X#endif
- X
- X
- X/*
- X * Define the window manager hints.
- X */
- XXWMHints xwmh = {
- X (InputHint|StateHint|IconPixmapHint), /* Flags */
- X True, /* Input -- Needed for OpenWindows at least */
- X NormalState, /* Initial_state */
- X NULL, /* Icon pixmap (set below) */
- X 0, /* Icon window */
- X 0, 0, /* Icon location */
- X 0, /* Icon mask */
- X 0, /* Window group -- mostly ignored */
- X};
- XXSizeHints xsh;
- X
- X
- X/*
- X * The following function initializes a player window. It returns SUCCESS if
- X * the initialization was successful, E_DISPLAY if it couldn't open display,
- X * or E_DBUFF if it couldn't initialize the double buffering routine.
- X */
- Xu_byte Init_window(int ind)
- X{
- X int i, p, button_color, window_color;
- X XGCValues xgc;
- X#ifdef SCROLL
- X char title[256];
- X#endif
- X player *pl = Players[ind];
- X static char msg[256];
- X
- X
- X /*
- X * Get misc. display info.
- X */
- X pl->disp_type = DT_IS_DISPLAY;
- X if (HavePlanes(pl->disp))
- X SET_BIT(pl->disp_type, DT_HAVE_PLANES | DT_HAVE_COLOR);
- X
- X
- X /*
- X * Initializes colors.
- X */
- X pl->colors[BLACK].red = 0;
- X pl->colors[BLACK].green = 0;
- X pl->colors[BLACK].blue = 0;
- X pl->colors[WHITE].red = 65535;
- X pl->colors[WHITE].green = 65535;
- X pl->colors[WHITE].blue = 65535;
- X pl->colors[BLUE].red = 10000;
- X pl->colors[BLUE].green = 30000;
- X pl->colors[BLUE].blue = 65535;
- X pl->colors[RED].red = 65535;
- X pl->colors[RED].green = 15000;
- X pl->colors[RED].blue = 10000;
- X pl->colormap = NULL;
- X
- X
- X /*
- X * Initializes the double buffering routine.
- X */
- X pl->dbuf_state = start_dbuff(ind, pl->disp,
- X DefaultColormap(pl->disp,
- X DefaultScreen(pl->disp)),
- X BIT(pl->disp_type, DT_HAVE_COLOR) ? 2 : 1,
- X pl->colors);
- X
- X if (pl->dbuf_state == NULL) {
- X
- X error("Short of colors, creating private cmap for '%s'", pl->name);
- X /*
- X * Create a private colormap if we can't allocate enough colors.
- X */
- X pl->colormap = XCreateColormap(pl->disp, DefaultRootWindow(pl->disp),
- X DefaultVisual(pl->disp,
- X DefaultScreen(pl->disp)),
- X AllocNone);
- X /*
- X * Try to initialize the double buffering again.
- X */
- X pl->dbuf_state = start_dbuff(ind, pl->disp, pl->colormap,
- X BIT(pl->disp_type, DT_HAVE_COLOR) ? 2 : 1,
- X pl->colors);
- X }
- X
- X if (pl->dbuf_state == NULL) {
- X XCloseDisplay(pl->disp);
- X return (E_DBUFF);
- X }
- X
- X
- X /*
- X * Creates the windows.
- X */
- X if (BIT(pl->disp_type, DT_HAVE_COLOR)) {
- X window_color = BLUE;
- X button_color = RED;
- X } else {
- X button_color = BLACK;
- X window_color = BLACK;
- X }
- X
- X pl->top = XCreateSimpleWindow(pl->disp, DefaultRootWindow(pl->disp), 0, 0,
- X 1026, 768, 0, 0, pl->colors[WHITE].pixel);
- X if (pl->colormap)
- X XSetWindowColormap(pl->disp, pl->top, pl->colormap);
- X
- X pl->draw = XCreateSimpleWindow(pl->disp, pl->top, 258, 0,
- X 768, 768, 0, 0, pl->colors[BLACK].pixel);
- X pl->radar = XCreateSimpleWindow(pl->disp, pl->top, 0, 0,
- X 256, RadarHeight, 0, 0,
- X pl->colors[BLACK].pixel);
- X pl->quit_b = XCreateSimpleWindow(pl->disp, pl->top, 0, RadarHeight+1,
- X 85, 22, 0, 0,
- X pl->colors[button_color].pixel);
- X pl->info_b = XCreateSimpleWindow(pl->disp, pl->top, 86, RadarHeight+1,
- X 85, 22, 0, 0,
- X pl->colors[button_color].pixel);
- X pl->help_b = XCreateSimpleWindow(pl->disp, pl->top, 172, RadarHeight+1,
- X 84, 22, 0, 0,
- X pl->colors[button_color].pixel);
- X pl->players = XCreateSimpleWindow(pl->disp, pl->top, 0, RadarHeight+24,
- X 256, 746-RadarHeight, 0, 0,
- X pl->colors[window_color].pixel);
- X pl->help_w = XCreateSimpleWindow(pl->disp, pl->draw, (FULL-420)/2,
- X (FULL-470)/2, 420, 470,
- X 5, pl->colors[WHITE].pixel,
- X pl->colors[window_color].pixel);
- X pl->help_close_b = XCreateSimpleWindow(pl->disp, pl->help_w,
- X 4, 470-26, 85, 22, 0, 0,
- X pl->colors[button_color].pixel);
- X pl->help_next_b = XCreateSimpleWindow(pl->disp, pl->help_w,
- X 420/2-85/2, 470-26, 85, 22, 0, 0,
- X pl->colors[button_color].pixel);
- X pl->help_prev_b = XCreateSimpleWindow(pl->disp, pl->help_w,
- X 420-89, 470-26, 85, 22, 0, 0,
- X pl->colors[button_color].pixel);
- X
- X pl->info_w = XCreateSimpleWindow(pl->disp, pl->draw, (FULL-500)/2,
- X (FULL-500)/2, 500, 500,
- X 5, pl->colors[WHITE].pixel,
- X pl->colors[window_color].pixel);
- X pl->info_close_b = XCreateSimpleWindow(pl->disp, pl->info_w, 4, 500-26, 85,
- X 22, 0, 0,
- X pl->colors[button_color].pixel);
- X
- X
- X /*
- X * Selecting events the we can handle.
- X */
- X XSelectInput(pl->disp, pl->top, KeyPressMask | KeyReleaseMask |
- X EnterWindowMask | LeaveWindowMask);
- X XSelectInput(pl->disp, pl->quit_b,
- X ExposureMask | ButtonPressMask | ButtonReleaseMask);
- X XSelectInput(pl->disp, pl->info_close_b,
- X ExposureMask | ButtonPressMask | ButtonReleaseMask);
- X XSelectInput(pl->disp, pl->help_close_b,
- X ExposureMask | ButtonPressMask | ButtonReleaseMask);
- X XSelectInput(pl->disp, pl->help_next_b,
- X ExposureMask | ButtonPressMask | ButtonReleaseMask);
- X XSelectInput(pl->disp, pl->help_prev_b,
- X ExposureMask | ButtonPressMask | ButtonReleaseMask);
- X XSelectInput(pl->disp, pl->info_b, ButtonPressMask | ExposureMask);
- X XSelectInput(pl->disp, pl->help_b, ButtonPressMask | ExposureMask);
- X XSelectInput(pl->disp, pl->info_w, ExposureMask);
- X XSelectInput(pl->disp, pl->help_w, ExposureMask);
- X XSelectInput(pl->disp, pl->radar, ExposureMask);
- X XSelectInput(pl->disp, pl->players, ExposureMask);
- X XSelectInput(pl->disp, pl->draw, 0);
- X
- X
- X /*
- X * Maps the windows, makes the visible. Voila!
- X */
- X XMapWindow(pl->disp, pl->top);
- X XMapWindow(pl->disp, pl->draw);
- X XMapWindow(pl->disp, pl->radar);
- X XMapWindow(pl->disp, pl->quit_b);
- X XMapWindow(pl->disp, pl->info_b);
- X XMapWindow(pl->disp, pl->help_b);
- X XMapWindow(pl->disp, pl->players);
- X
- X if (!BIT(pl->disp_type, DT_HAVE_PLANES)) {
- X pl->p_radar = XCreatePixmap(pl->disp, pl->radar, 256, RadarHeight, 1);
- X pl->s_radar = XCreatePixmap(pl->disp, pl->radar, 256, RadarHeight, 1);
- X pl->p_draw = XCreatePixmap(pl->disp, pl->draw, 768, 768, 1);
- X }
- X else {
- X pl->p_radar = pl->radar;
- X pl->s_radar = pl->radar;
- X pl->p_draw = pl->draw;
- X }
- X
- X /*
- X * Following initializes the text that may be specified to scroll
- X * across the window title.
- X */
- X#ifdef SCROLL
- X sprintf(pl->scroll, " "
- X " "
- X TITLE "\"%s\" connected to server at \"%s\"..... "
- X "The game world is %s, dimensions: %d boxes wide and %d boxes "
- X "high. It was created, and made made available, by %s. You are "
- X "playing with rules bitfield $%04lx, huh? Well, don't let it "
- X "bother you. You will find %d cannons, %d gravs and %d starting "
- X "positions in this world. Not to mention %d energy stations, "
- X "which will hopefully satisfy your needs. If you are playing in "
- X "race mode, it might help to inform you that there are %d "
- X "checkpoints in each round............. "
- X "Controls: 'a' and 's' turn your "
- X "fighter left and right, 'shift' activates your splendid "
- X "(but aye so energy-consuming) engines. 'Return' fires your "
- X "cannon, and if you have first activated the compass/lock-"
- X "computer and selected a target (with either 'Select' (nearest), "
- X "'Next' or 'Prev') - you may fire smart missiles by pressing the "
- X "'\\' (BackSlash) key..... Other controls are: 'ctrl' or 'f' for "
- X "recharging your energy, obtained by maneuvering close to an "
- X "energy station and holding down the appropriate key. 'Space' "
- X "or 'Meta-R' activates your shield. So, All that's left is to "
- X "wish you good luck... :) Who knows, you might need it? :) "
- X " ",
- X pl->name, Server.host, World.name, World.x, World.y, World.author,
- X World.rules->mode, World.NumCannons, World.NumGravs,
- X World.NumBases, World.NumFuels, World.NumChecks);
- X pl->scroll_len = strlen(pl->scroll);
- X#endif
- X
- X /*
- X * Making bitmaps.
- X */
- X xwmh.icon_pixmap = XCreateBitmapFromData(pl->disp, pl->top, icon_bits,
- X icon_width, icon_height);
- X
- X
- X /*
- X * Prepare to catch the WM_DELETE_WINDOW 'event'.
- X * (Should perhaps do a XGetWMProtocols first, but really not neccessary
- X * for the moment.) Also add an error handler to catch the rest of those
- X * nasty closes.
- X */
- X ProtocolAtom = XInternAtom(pl->disp, "WM_PROTOCOLS", False);
- X KillAtom = XInternAtom(pl->disp, "WM_DELETE_WINDOW", False);
- X XSetWMProtocols(pl->disp, pl->top, &KillAtom, 1);
- X XSetIOErrorHandler(FatalError);
- X
- X
- X /*
- X * Setting up the window properties; hints -
- X *
- X * icon pixmap, window names, placement, size etc.
- X */
- X xsh.flags = (PPosition|PSize|PMinSize|PMaxSize|PBaseSize);
- X xsh.width = xsh.base_width = xsh.min_width = xsh.max_width = 1026;
- X xsh.height = xsh.base_height = xsh.min_height = xsh.max_height = 768;
- X xsh.x = (DisplayWidth(pl->disp, DefaultScreen(pl->disp)) - xsh.width) / 2;
- X xsh.y = (DisplayHeight(pl->disp, DefaultScreen(pl->disp)) - xsh.height) / 2;
- X
- X XSetWMNormalHints(pl->disp, pl->top, &xsh);
- X XSetWMHints(pl->disp, pl->top, &xwmh);
- X
- X sprintf(msg, "Successful connection to server at \"%s\".", Server.host);
- X XStoreName(pl->disp, pl->top, msg);
- X sprintf(msg, "%s:%s", pl->name, Server.host);
- X XSetIconName(pl->disp, pl->top, msg);
- X
- X
- X XAutoRepeatOff(pl->disp); /* We don't want any autofire, yet! */
- X
- X
- X /*
- X * Creates and initializes the graphic contexts.
- X */
- X pl->gc = XCreateGC(pl->disp, pl->draw, 0, &xgc);
- X pl->gcr = XCreateGC(pl->disp, pl->radar, 0, &xgc);
- X pl->gcb = XCreateGC(pl->disp, pl->quit_b, 0, &xgc);
- X pl->gcp = XCreateGC(pl->disp, pl->players, 0, &xgc);
- X pl->gctxt = XCreateGC(pl->disp, pl->info_w, 0, &xgc);
- X
- X XSetBackground(pl->disp, pl->gc, pl->colors[BLACK].pixel);
- X XSetDashes(pl->disp, pl->gc, 0, dashes, NO_OF_DASHES);
- X XSetLineAttributes(pl->disp, pl->gc, 0, LineSolid, CapButt, JoinBevel);
- X pl->color = WHITE;
- X
- X if ((font = XLoadQueryFont(pl->disp,
- X "-*-*-medium-r-*-*-12-120-75-75-m-70-iso8859-1")) == NULL) {
- X error("Could not load font. Will use default font");
- X } else
- X XSetFont(pl->disp, pl->gc, font->fid);
- X
- X if ((font = XLoadQueryFont(pl->disp,
- X "-*-*-bold-o-*-*-14-140-75-75-m-90-iso8859-1")) == NULL) {
- X error("Could not load font. Will use default font....");
- X } else
- X XSetFont(pl->disp, pl->gcb, font->fid);
- X
- X if ((font = XLoadQueryFont(pl->disp,
- X "-*-*-bold-i-*-*-17-120-100-100-p-86-iso8859-1")) == NULL) {
- X error("Could not load font. Will use default font....");
- X } else
- X XSetFont(pl->disp, pl->gctxt, font->fid);
- X
- X if ((font = XLoadQueryFont(pl->disp,
- X "-*-*-bold-*-*-*-13-120-75-75-c-80-iso8859-1")) == NULL) {
- X error("Could not load font. Will use default font....");
- X } else
- X XSetFont(pl->disp, pl->gcp, font->fid);
- X
- X XSetState(pl->disp, pl->gcr,
- X WhitePixel(pl->disp, DefaultScreen(pl->disp)),
- X BlackPixel(pl->disp, DefaultScreen(pl->disp)),
- X GXcopy, AllPlanes);
- X XSetState(pl->disp, pl->gc,
- X WhitePixel(pl->disp, DefaultScreen(pl->disp)),
- X BlackPixel(pl->disp, DefaultScreen(pl->disp)),
- X GXcopy, AllPlanes);
- X XSetState(pl->disp, pl->gcb,
- X WhitePixel(pl->disp, DefaultScreen(pl->disp)),
- X BlackPixel(pl->disp, DefaultScreen(pl->disp)),
- X GXcopy, AllPlanes);
- X XSetState(pl->disp, pl->gcp,
- X WhitePixel(pl->disp, DefaultScreen(pl->disp)),
- X BlackPixel(pl->disp, DefaultScreen(pl->disp)),
- X GXcopy, AllPlanes);
- X
- X
- X if (BIT(pl->disp_type, DT_HAVE_PLANES))
- X XSetPlaneMask(pl->disp, pl->gc, pl->dbuf_state->drawing_planes);
- X
- X
- X /*
- X * Get length of name in pixels (with drawing area font) for future
- X * use. (not correct if players use different fonts)
- X */
- X pl->name_length = XTextWidth(XQueryFont(pl->disp, XGContextFromGC(pl->gc)),
- X pl->name, strlen(pl->name));
- X
- X
- X /*
- X * A little hack that enables us to draw on both sets of double buffering
- X * planes at once.
- X */
- X pl->dpl_1[0] = pl->dpl_2[0] = pl->dpl_1[1] = pl->dpl_2[0] = 0;
- X
- X for (p=0; p<2; p++) {
- X pl->dpl_1[p] = pl->dpl_2[p] = 0;
- X
- X for (i=0; i<32; i++)
- X if (!((1<<i)&pl->dbuf_state->masks[p]))
- X if (pl->dpl_1[p])
- X pl->dpl_2[p] = 1<<i;
- X else
- X pl->dpl_1[p] = 1<<i;
- X }
- X
- X return (SUCCESS);
- X}
- X
- X
- Xvoid Alloc_msgs(int number)
- X{
- X int i;
- X
- X for (i=0; i<number; i++) {
- X Msg[i] = (message_t *)malloc(sizeof(message_t));
- X Msg[i]->txt[0] = '\0';
- X Msg[i]->life = 0;
- X }
- X}
- X
- X
- Xvoid Free_msgs(int number)
- X{
- X int i;
- X
- X for (i=0; i<number; i++)
- X free(Msg[i]);
- X}
- X
- X
- Xvoid DrawShadowText(int ind, Display *disp, Window w, GC gc, int x,
- X int start_y, char *str, Pixel fg, Pixel bg)
- X{
- X char line[256];
- X int i, y = start_y;
- X
- X
- X if (str==NULL || *str=='\0')
- X return;
- X
- X do {
- X
- X for (i=0; *str != '\0' && *str != '\n'; str++, i++)
- X line[i] = *str;
- X line[i] = '\0';
- X
- X y += 20;
- X
- X ShadowDrawString(ind, disp, w, gc, x, y, line, fg, bg);
- X
- X } while (*(++str) != '\0');
- X}
- X
- X
- Xvoid Expose_info_window(int ind)
- X{
- X player *pl = Players[ind];
- X
- X
- X DrawShadowText(ind, pl->disp, pl->info_w, pl->gctxt, 24, 14,
- X "\n\n"
- X "MISCELLANEOUS INFORMATION\n"
- X "\n\n"
- X "XPilot is still not a finished product, so please apology for\n"
- X "any bugs etc. However, if you find any, we would greatly\n"
- X "appreciate that you reported to us.\n"
- X "\n"
- X "New versions are continuously being developed, but at a random\n"
- X "rate. Currently, this isn't very fast at all, mainly due to the\n"
- X "mandatory work in conjunction with our studies (really!!).\n"
- X "\n"
- X "For more info, read the man pages for xpilot(6) and xpilots(6).\n"
- X "\n\n"
- X "Good luck as a future fighter-pilot,\n"
- X "Bjxrn Stabell & Ken Ronny Schouten\n",
- X pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
- X}
- X
- X
- Xvoid Expose_help_window(int ind)
- X{
- X player *pl = Players[ind];
- X
- X
- X if (BIT(pl->disp_type, DT_HAVE_COLOR)) {
- X XSetForeground(pl->disp, pl->gctxt, pl->colors[BLUE].pixel);
- X XFillRectangle(pl->disp, pl->help_w, pl->gctxt, 0, 0, 420, 470);
- X XSetForeground(pl->disp, pl->gctxt, pl->colors[WHITE].pixel);
- X } else
- X XClearWindow(pl->disp, pl->help_w);
- X
- X switch (pl->help_page) {
- X case 0:
- X DrawShadowText(ind, pl->disp, pl->help_w, pl->gctxt, 15, 7,
- X "KEYS:\n"
- X "\n"
- X "A\n"
- X "S\n"
- X "F or CTRL\n"
- X "Space|META_R\n"
- X "SHIFT\n"
- X "Return\n"
- X "\n"
- X "HOME\n"
- X "SELECT|Up|Down\n"
- X "NEXT\n"
- X "PREV\n"
- X "'*'\'/'\n"
- X "'+'\'-'\n"
- X "Q\n"
- X "\\\n"
- X "BackSpace\n"
- X "I\n",
- X pl->colors[WHITE].pixel,pl->colors[BLACK].pixel);
- X DrawShadowText(ind, pl->disp, pl->help_w, pl->gctxt, 180, 7,
- X "\n\n"
- X "Rotate left.\n"
- X "Rotate right.\n"
- X "Refueling.\n"
- X "Shield.\n"
- X "Thrust.\n"
- X "Fire.\n"
- X "\n"
- X "Change home base, if on new base.\n"
- X "Lock on nearest player, if in range.\n"
- X "Lock on next player.\n"
- X "Lock on previous player.\n"
- X "Increase/decrease engine power.\n"
- X "Increase/decrease rotation speed.\n"
- X "Self destruct.\n"
- X "Fire smart missile.\n"
- X "Turn on/off cloak.\n"
- X "Toggle id mode.\n",
- X pl->colors[WHITE].pixel,pl->colors[BLACK].pixel);
- X break;
- X
- X case 1:
- X DrawShadowText(ind, pl->disp, pl->help_w, pl->gctxt,20,7,
- X "GAME OBJECTIVE:\n"
- X "\n"
- X "The primary goal of the game is to collect points by\n"
- X "destroying friends and cannons with your guns.\n"
- X "\n"
- X "Another important task is to refuel your ship. This is\n"
- X "vital because your engine, radar, guns and shields all\n"
- X "require fuel. Some even work better the more fuel you\n"
- X "have aboard (mainly the radar).\n"
- X "\n"
- X "Scattered around the world you will find some stationary\n"
- X "objects resembling red triangles. These are bonus items\n"
- X "that may help you in a multitude of ways; first, the most\n"
- X "normal item, is the fuel-packs labeled F, then there are\n"
- X "smart missiles labeled S, wide angle shots labeled W, and\n"
- X "lastly you may by lucky enough to find a cloaking device\n"
- X "labeled, you guessed it, C.\n"
- X "\n",
- X pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
- X break;
- X case HELP_PAGES:
- X default:
- X break;
- X }
- X}
- X
- X
- Xvoid Expose_button_window(int ind, int color, Window w)
- X{
- X player *pl = Players[ind];
- X
- X
- X if (BIT(pl->disp_type, DT_HAVE_COLOR)) {
- X XSetForeground(pl->disp, pl->gcb, pl->colors[color].pixel);
- X XFillRectangle(pl->disp, w, pl->gcb, 0, 0, 256, 22);
- X XSetForeground(pl->disp, pl->gcb, pl->colors[WHITE].pixel);
- X } else
- X XClearWindow(pl->disp, w);
- X
- X if (w == pl->quit_b)
- X ShadowDrawString(ind, pl->disp, w, pl->gcb, 24, 16, "QUIT",
- X pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
- X if (w == pl->info_b)
- X ShadowDrawString(ind, pl->disp, w, pl->gcb, 24, 16, "INFO",
- X pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
- X if (w == pl->help_b)
- X ShadowDrawString(ind, pl->disp, w, pl->gcb, 24, 16, "HELP",
- X pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
- X if (w == pl->info_close_b)
- X ShadowDrawString(ind, pl->disp, w, pl->gcb, 20, 16, "CLOSE",
- X pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
- X if (w == pl->help_close_b)
- X ShadowDrawString(ind, pl->disp, w, pl->gcb, 20, 16, "CLOSE",
- X pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
- X if (w == pl->help_next_b)
- X ShadowDrawString(ind, pl->disp, w, pl->gcb, 24, 16, "NEXT",
- X pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
- X if (w == pl->help_prev_b)
- X ShadowDrawString(ind, pl->disp, w, pl->gcb, 22, 16, "PREV",
- X pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
- X}
- X
- X
- Xvoid Info(int ind, Window w)
- X{
- X player *pl = Players[ind];
- X
- X
- X if (pl->info_press && w != pl->info_close_b)
- X return;
- X else if (w == pl->info_b) {
- X if (pl->help_press = true)
- X Help(ind, pl->help_close_b);
- X
- X pl->info_press = true;
- X
- X XMapWindow(pl->disp, pl->info_w);
- X XMapSubwindows(pl->disp, pl->info_w);
- X } else {
- X pl->info_press = false;
- X Expose_button_window(ind, RED, pl->info_b);
- X XUnmapSubwindows(pl->disp, pl->info_w);
- X XUnmapWindow(pl->disp, pl->info_w);
- X }
- X}
- X
- X
- Xvoid Help(int ind, Window w)
- X{
- X player *pl = Players[ind];
- X
- X
- X if (pl->help_press && w == pl->help_b)
- X return;
- X else if (w == pl->help_b) {
- X if (pl->info_press = true)
- X Info(ind, pl->info_close_b);
- X
- X pl->help_press = true;
- X
- X XMapWindow(pl->disp,pl->help_w);
- X XMapSubwindows(pl->disp, pl->help_w);
- X } else if (w == pl->help_close_b) {
- X pl->help_press = false;
- X pl->help_page = 0;
- X Expose_button_window(ind, RED, pl->help_b);
- X XUnmapSubwindows(pl->disp, pl->help_w);
- X XUnmapWindow(pl->disp,pl->help_w);
- X } else if (w == pl->help_next_b) {
- X Expose_button_window(ind, RED, pl->help_next_b);
- X pl->help_page++;
- X if (pl->help_page == HELP_PAGES)
- X pl->help_page = 0;
- X Expose_help_window(ind);
- X } else if (w == pl->help_prev_b) {
- X Expose_button_window(ind, RED, pl->help_prev_b);
- X pl->help_page--;
- X if (pl->help_page == -1)
- X pl->help_page = HELP_PAGES-1;
- X Expose_help_window(ind);
- X }
- X}
- X
- X
- X/*
- X * Cleanup player structure, close the display etc.
- X */
- Xvoid Quit(int ind)
- X{
- X player *pl = Players[ind];
- X
- X
- X sprintf(msg, "%s left the game.", Players[ind]->name);
- X Set_message(msg);
- X
- X if (pl->disp_type != DT_NONE) {
- X Expose_button_window(ind, RED, Players[ind]->quit_b);
- X
- X XAutoRepeatOn(pl->disp);
- X
- X end_dbuff(ind, pl->dbuf_state); /* Clean up... */
- X if (pl->colormap)
- X XFreeColormap(pl->disp, pl->colormap);
- X XCloseDisplay(pl->disp);
- X }
- X
- X Delete_player(ind);
- X Set_label_strings();
- X}
- X
- X
- X
- X/*
- X * This is quite rude, but it keeps the whole game from going down because
- X * of just one user.
- X */
- Xint FatalError(Display *disp)
- X{
- X int i;
- X
- X
- X for (i=0; i<NumPlayers; i++)
- X if (Players[i]->disp == disp)
- X break;
- X
- X if (i<NumPlayers) { /* Found the display. */
- X printf("Player %s@%s did a nasty quit.\n",
- X Players[i]->name, DisplayString(Players[i]->disp));
- X
- X Quit(i);
- X /*
- X * We got through Quit(), therefore there are some more players, just
- X * longjmp() back and continue... :)
- X */
- X longjmp(SavedEnv, 1);
- X
- X } else {
- X error("Fatal I/O error, but couldn't determine which player caused it");
- X }
- X return (0);
- X}
- X
- X
- X
- Xvoid Set_labels(void)
- X{
- X int register i, ind;
- X player *pl;
- X
- X
- X for(ind=0; ind<NumPlayers; ind++) {
- X pl = Players[ind];
- X
- X if (pl->disp_type == DT_NONE)
- X continue;
- X
- X/* if (BIT(pl->disp_type, DT_PLANES))
- X XSetPlaneMask(pl->disp, pl->gc, pl->dbuf_state->drawing_planes);
- X*/
- X XClearWindow(pl->disp, pl->players);
- X/* XSetForeground(pl->disp, pl->gcp, pl->colors[BLUE].pixel);
- X XFillRectangle(pl->disp, pl->players, pl->gcp, 0, 0, 256, 490);
- X XSetForeground(pl->disp, pl->gcp, pl->colors[WHITE].pixel); */
- X
- X for(i=0; i<NumPlayers; i++)
- X ShadowDrawString(ind, pl->disp, pl->players, pl->gcp, 1, 20+(20*i),
- X Players[i]->lblstr, pl->colors[WHITE].pixel,
- X pl->colors[BLACK].pixel);
- X }
- X}
- END_OF_FILE
- echo shar: 2 control characters may be missing from \"'src/xinit.c'\"
- if test 22081 -ne `wc -c <'src/xinit.c'`; then
- echo shar: \"'src/xinit.c'\" unpacked with wrong size!
- fi
- # end of 'src/xinit.c'
- fi
- echo shar: End of archive 18 \(of 24\).
- cp /dev/null ark18isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 24 archives.
- echo "\nNow run 'bldmaps.sh' to build the map files"
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-