home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / games / volume14 / xpilot / part18 < prev    next >
Encoding:
Internet Message Format  |  1992-08-30  |  57.1 KB

  1. Path: uunet!zephyr.ens.tek.com!master!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v14i020:  xpilot - Multiplayer gravity war game hand-shake program, Part18/24
  5. Message-ID: <3315@master.CNA.TEK.COM>
  6. Date: 4 Aug 92 19:30:44 GMT
  7. Sender: news@master.CNA.TEK.COM
  8. Lines: 1338
  9. Approved: billr@saab.CNA.TEK.COM
  10.  
  11. Submitted-by: Bjoern Stabell <bjoerns@staff.cs.uit.no>
  12. Posting-number: Volume 14, Issue 20
  13. Archive-name: xpilot/Part18
  14. Environment: X11, ANSI C
  15.  
  16.  
  17.  
  18. #! /bin/sh
  19. # This is a shell archive.  Remove anything before this line, then unpack
  20. # it by saving it into a file and typing "sh file".  To overwrite existing
  21. # files, type "sh file -c".  You can also feed this as standard input via
  22. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  23. # will see the following message at the end:
  24. #        "End of archive 18 (of 24)."
  25. # Contents:  maps/fuzz2.uue maps/small.uue src/xinit.c
  26. # Wrapped by billr@saab on Tue Aug  4 10:38:58 1992
  27. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  28. if test -f 'maps/fuzz2.uue' -a "${1}" != "-c" ; then 
  29.   echo shar: Will not clobber existing file \"'maps/fuzz2.uue'\"
  30. else
  31. echo shar: Extracting \"'maps/fuzz2.uue'\" \(31622 characters\)
  32. sed "s/^X//" >'maps/fuzz2.uue' <<'END_OF_FILE'
  33. Xbegin 644 fuzz2.map
  34. XM,30Q>#$V,0HT"D9U>GH@24DZ(%1H92!396%R8V@@9F]R(&$@0F5T=&5R($YA
  35. XM;64*4F]N;GD@(E-N;W=B86QL(B!!<FEL9`IX>'AX>'AX>'AX>'AX>'AX>'AX
  36. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  37. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  38. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX
  39. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  40. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  41. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX"GAX>'AX
  42. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  43. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  44. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  45. XM>`IX>'AX>'AX>'AX>'AX>',@87AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  46. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  47. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@87AX>'AX>'AX>'AX
  48. XM>'AX>'AX>'@*>'AX>'AX>'AX>'AX>'@@("!X>'AX>'AX>'AX<V%X>'AX>'AX
  49. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX1GAX>'AX>'AX>'AX
  50. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("!A>'AS("`@("!X>'AX
  51. XM>',@8V%X>'AX>'AX>'AX"GAX>'AX>'AX>'AX>'AS("`@87AS(&%X>'AX<R`@
  52. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS("!A>'AX
  53. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'-A>'AX<R`@("`@("`@("`@
  54. XM("`@87AX>',@("`@>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AS("`@("`@("`@
  55. XM>'AX>"`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AS8V%X>'AX<V%X>'AX>'AS
  56. XM("`@('AX>'AX>'AX>'AX>'AS8V%X>'AS("!A>'AX>'AX>',@("!X>"`@("`@
  57. XM("`@("`@("`@("!A<R`@("`@(&%X>'AX>'AX>'@*>'AX>'AX>'AX>'AX("`@
  58. XM("`@("`@('AX>',@("`@(&%X>'AX>'AX>'AX>'-A>'AX>',@("`@("`@("`@
  59. XM87,@("`@("`@("!A>'AX<R`@(&%X<R`@("`@("`@("`@('AX>'AX>',@("`@
  60. XM87,@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX"GAX>'AX>'AX
  61. XM>'AX1B`@("`@("`@("!A<R`@("`@("`@87AS(&%X>'AX<R`@('AX>',@("`@
  62. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX
  63. XM>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>`IX
  64. XM>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>"`@("!A
  65. XM>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  66. XM("`@(&%X>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX
  67. XM>'AX>'@*>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@('AX
  68. XM>',@("`@(&%S("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  69. XM("`@("`@("`@("`@87AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  70. XM("`@("!A>'AX>'AX"GAX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@
  71. XM("`@("!X>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  72. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  73. XM("`@("`@("`@("`@(&%X>'AX>`IX>'AX>',@("`@("`@("`@("`@("`@("`@
  74. XM("`@("`@("`@("`@>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  75. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  76. XM("`@("`@("`@("`@("`@("`@("`@>'AX>'@*>'AX>'@@("`@("`@("`@("`@
  77. XM("`@("`@("`@("`@("`@("`@(&%S("`@("`@("`@("`@("`@("`@("`@("`@
  78. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  79. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX"GAX>'AX("`@("`@
  80. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  81. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  82. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>`IX>'AX
  83. XM>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  84. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  85. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X
  86. XM>'@*>'AX>'AX9B`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  87. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  88. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  89. XM("`@("`@1GAX"GAX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  90. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  91. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  92. XM("`@("`@("`@("`@('AX>`IX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@
  93. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  94. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  95. XM("`@("`@("`@("`@("`@("`@("!X>'@*>'AX>',@("`@("`@("`@("`@("`@
  96. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  97. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  98. XM("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX"GAX>'@@("`@("`@("`@
  99. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  100. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  101. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>`IX>'AX=R`@
  102. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  103. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  104. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'@*
  105. XM>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  106. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  107. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  108. XM87AX>'AX"GAX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  109. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  110. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  111. XM("`@("`@("!A>'AX>`IX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@
  112. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  113. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  114. XM("`@("`@("`@("`@("`@('AX>'@*>'AX<R`@("`@("`@("`@("`@("`@("`@
  115. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  116. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  117. XM("`@("`@("`@("`@("`@("`@("`@("!X>'AX"GAX>"`@("`@("`@("`@("`@
  118. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  119. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  120. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>`IX>'AW("`@("`@
  121. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  122. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  123. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'@*>'AX
  124. XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  125. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  126. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X
  127. XM>'AX"GAX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  128. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  129. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  130. XM("`@<7AX>'AX>`IX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  131. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  132. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  133. XM("`@("`@("`@<7AX>'AX>'@*>'AX>"`@("`@("`@("`@("`@("`@("`@("`@
  134. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  135. XM('%W("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  136. XM("`@("`@("`@("`@("`@<7AX>'AX>'AX"GAX>'AW("`@("`@("`@("`@("`@
  137. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  138. XM("`@("`@("!X>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  139. XM("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>`IX>'AX>"`@("`@("`@
  140. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  141. XM("`@("`@("`@("`@("`@87AW('%X=R`@("`@("`@("`@("`@("`@("`@("`@
  142. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>'@*>'AX>'AW
  143. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  144. XM("`@("`@("`@<7AW("`@("`@("`@("!X>'AX>'@@("`@("`@("`@("`@("`@
  145. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX
  146. XM"GAX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  147. XM("`@("`@("`@("`@("`@('AX>"`@("`@<7<@*B!Q>'AX>'AX("`@("`@("`@
  148. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX
  149. XM>'AX>'AX>`IX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  150. XM("`@("`@("`@("`@("`@("`@("`@("!X>'AW("`@('AX>'AX>'AX>'AX>'<@
  151. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  152. XM("`@<7AX>'AX>'AX>'@*>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@
  153. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'<@('%X>'AX>'AX
  154. XM>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  155. XM("`@("`@("`@('AX>'AX>'AX>'AX"GAX>',@("`@("`@("`@("`@("`@("`@
  156. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX1GAX
  157. XM>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@(#P@("`@("`@
  158. XM("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>`IX>'@@("`@("`@("`@("`@
  159. XM("`@("`@("`@("`^("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  160. XM>'AX>'AX>'AX>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@
  161. XM("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'@*>'AX=R`@("`@
  162. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  163. XM("`@("`@('AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@
  164. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX"GAX
  165. XM>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  166. XM("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@
  167. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX
  168. XM>'AX>`IX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  169. XM("`@("`@("`@("`@("`@("`@(&1X>'AX>'AX>'AX>'AX>'AX>'AX>&8@("`@
  170. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  171. XM(&%X>'AX>'AX>'@*>'AF("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  172. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX>'AX>'AX
  173. XM>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  174. XM("`@("`@("`@(&%X>'AX>'AX"GAX=R`@("`@("`@("`@("`@("`@("`@("`@
  175. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX
  176. XM>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  177. XM("`@("`@("`@("`@("`@("`@>'AX>'AX>`IX>'@@("`@("`@("`@("`@("`@
  178. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX
  179. XM>'AX>'AX>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  180. XM("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'@*>'AS("`@("`@("`@
  181. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  182. XM("`@('AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@
  183. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX"GAS("`@
  184. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  185. XM("`@("`@("`@("!X>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@
  186. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX
  187. XM>`IX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  188. XM("`@("`@("`@("`@("`@("`@87AX>'AX>'AX1GAX>'AX>'AX("`@("`@("`@
  189. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX
  190. XM>'AX>'AX>'@*>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  191. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX<R`@87AX>'AX>"`@
  192. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  193. XM("!Q>'AX>'AX>'AX>'AX"GAX>"`@("`@("`@("`@("`@("`@("`@("`@("`@
  194. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A
  195. XM>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  196. XM("`@("`@("!Q>'AX>'AX>'AX>'AX>`IX>'AW("`@("`@("`@("`@("`@("`@
  197. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  198. XM("`@("`@("`@87AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  199. XM("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'@*>'AX>"`@("`@("`@("`@
  200. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  201. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  202. XM("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX"GAX>'AW("`@
  203. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  204. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  205. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX>'AX>`IX
  206. XM>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  207. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  208. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX
  209. XM>'AX>'@*>'AX>'AX1B`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  210. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  211. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X
  212. XM>'AX>'AX>'AX>'AX"GAX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@
  213. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  214. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  215. XM("`@("!Q>'AX>'AX>'AX>'AX>`IX>'AX<R`@("`@("`@("`@("`@("`@("`@
  216. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  217. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  218. XM("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'@*>'AX>"`@("`@("`@("`@("`@
  219. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  220. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  221. XM("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX"GAX>'@@("`@("`@
  222. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  223. XM("`@("`@("`@("!Q>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  224. XM("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX>`IX>'AX
  225. XM=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  226. XM("`@<7AX=R`@("`@("`@('%X>'AX>"`@("`@("`@("`@("`@("`@("`@("`@
  227. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX
  228. XM>'@*>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  229. XM("`@("`@("`@<7AX>'@@("`@("!Q>'AX>'AX>'@@("`@("`@("`@("`@("`@
  230. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%W("`@(&1X>'AX>'AX
  231. XM>'AX>'AX>'AX"GAX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  232. XM("`@("`@("`@("`@("`@<7AX>'AX=R`@('%X>'AX>'AX>'AX("`@("!Q>'<@
  233. XM("`@<7AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'<@("`@
  234. XM>'AX>'AX>'AX>'AX>'AX>`IX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@
  235. XM("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@
  236. XM<G%X>'AX>'=Q>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  237. XM87AX("`@('AX>'AX>'AX>'AX>'AX>'@*>'AX>'AX>"`@("`@("`@("`@("`@
  238. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX
  239. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("!Q=R`@("`@("`@("`@
  240. XM("`@("`@("!X>"`@('%X>'AX>'AX>'AX>'AX>'AX"GAX>'AX>'AW("`@("`@
  241. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX
  242. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'@@("`@("!Q>'@@("`@
  243. XM("`@("`@("`@("`@("`@>'@@("!X>'AX>'AX>'AX>'AX>'AX>`IX>'AX>'AX
  244. XM>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX
  245. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@('%X
  246. XM>'AX("`@("`@("`@("`@("`@("`@(&%X=R`@1GAX>'AX>'AX>'AX>'AX>'@*
  247. XM>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  248. XM("`@>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  249. XM>'<@('%X>'AX>'<@("`@("`@("`@("`@("`@("`@>'AW<7AX>'AX>'AX>'AX
  250. XM>'AX>'AX"GAX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  251. XM("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  252. XM>'AX>'AX>'AX1GAX>'AX>'AX("`@("`@("`@("`@("`@("`@('AX>'AX>'AX
  253. XM>'AX>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@
  254. XM("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  255. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("!X
  256. XM>'AX>'AX>'AX>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX>'AW("`@("`@("`@
  257. XM("`@("`@("`@("`@("`@("`@("`@("`@($9X>'AX>'AX>'AX>'AX>'AX>'AX
  258. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@
  259. XM("`@("`@>'AX>'AX>'AX>'AX>'AX>'AX>'AX"GAX>'AX>'AX>'AX>'AX>"`@
  260. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX
  261. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@
  262. XM("`@("`@<7AX=R`J<7AX>'AX>'AX>'AX>'AX>'AX>'AX>`IX>'AX>'AX>'AX
  263. XM>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX
  264. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@
  265. XM("`@("`@("`@("`@('AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'@*>'AX
  266. XM>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX
  267. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  268. XM>'AS("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  269. XM>'AX"GAX>'AX>'AX>'AX>'AX>'@@("`@("`@('%X=R`@("`@("`@("`@("`@
  270. XM("`@('AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  271. XM>'AX>'AX>'AX("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX
  272. XM>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AX>'AX=RH@('%X>'AX>'@@("`@("`@
  273. XM('%X=R`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  274. XM>'AX>'AX>'AX>'AS("!A<R`@("`@("`@("`@("`@("!X>'AX>'AX>'AX>'AX
  275. XM>'AX>'AX>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  276. XM=R`@("!Q>'AX>'AX=R`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  277. XM>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@87AX>'AX
  278. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX"GAX>'AX>'AX>'AX>'AX>'AX>'AX
  279. XM>'AX>'AX>',@("`@>'AX>'AX>'AW<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  280. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@
  281. XM("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AX
  282. XM>'AX>'AX>'AX>'AX>',@("`@('AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  283. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@
  284. XM("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'@*>'AX>'AX
  285. XM>'AX>'AX>'AX>'AX>'AX>'AX>'@@("`@("!X>'AX>'AX>'AX>'AX>'AX>'AX
  286. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@("`@("`@("`@
  287. XM("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  288. XM"GAX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("!Q>'AX>'AX>'AX>'AX
  289. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@
  290. XM("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>$9X>'AX>'AX
  291. XM>'AX>'AX>`IX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@('%X>'AX>'AX
  292. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  293. XM>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'-C
  294. XM87AX>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@("!&
  295. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  296. XM>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX
  297. XM>'AX<R`@("!A>'AX>'AX>'AX>'AX"GAX>'AX>'AX>'AX>'AX>'AX<V%X>'AX
  298. XM>'@@("`@>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  299. XM>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@('%X
  300. XM>'AX>'AX>'AX>"`@("`@(&%X>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AX>'AX
  301. XM>"`@(&%X>'AX("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  302. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@
  303. XM("`@("!X>'AX>'AX>'AX>'@@("`@("`@>'AX>'AX>'AX>'@*>'AX>'AX>'AX
  304. XM>'AX>'AX>',@("`@87AX<R`@("`@>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  305. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@
  306. XM("`@("`@("`@("`@>'AX>'AX>'AX>'AX=R`@("`@('AX>'AX>'AX>'AX"GAX
  307. XM>'AX>'AX>'AX>'AX<R`@("`@("!C("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX
  308. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS(&-A>'AS(&%X>',@("`@("`@
  309. XM("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX>',@("`@("!X>'AX>'AX
  310. XM>'AX>`IX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@87AX>'AX>'AX
  311. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@(&%S("`@("`@
  312. XM("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>',@("`@("`@
  313. XM87AX>'AX>'AX>'@*>'AX>'AX>'AS87AX>"`@("`@("`@("`@("`@("`@("`@
  314. XM87AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@
  315. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX<R`@
  316. XM("`@("`@("`@(&%X>'AX>'AX"GAX>'AX>'AS("`@87,@("`@("`@("`@("`@
  317. XM("`@("`@("!X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  318. XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&1X>'AX
  319. XM>'AS("`@("`@("`@("`@("!Q>'AX>'AX>`IX>'AX>'AS("`@("`@("`@("`@
  320. XM("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  321. XM>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  322. XM("`@87AX>'AX("`@("`@("`@("`@("`@>'AX>'AX>'@*>'AX>'AX("`@("`@
  323. XM("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  324. XM>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  325. XM("`@("`@("`@("!A>'AX<R`@("`@("`@("`@("`@('AX>'AX>'AX"GAX>'AX
  326. XM<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX
  327. XM>'AX>'AX>'AX>'AX>'AS(&%X>',@("`@("`@("`@("`@("`@("`@("`@("`@
  328. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX
  329. XM>`IX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX
  330. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@
  331. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  332. XM>'AX>'AS87@*>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  333. XM(&%X>'AS(&%X>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@
  334. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  335. XM("`@("`@(&%X>'AX("!X"GAX>'@@("`@("`@("`@("`@("`@("`@("`@("`@
  336. XM("`@("`@("`@87AS("`@87AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@
  337. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  338. XM("`@("`@("`@("`@("`@(&%X<R`@>`IX>'AX=R`@("`@("`@("`@("`@("`@
  339. XM("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX>'AX>'AX>"`@("`@
  340. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  341. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>'AX>'@@("`@("`@("`@
  342. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX
  343. XM>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  344. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"GAX>'AS("`@
  345. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX
  346. XM>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  347. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX
  348. XM>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  349. XM(&%X>'AX>'AX<V%X<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  350. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  351. XM("`@<7@*>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  352. XM("`@("`@("`@>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  353. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  354. XM("`@("`@("`@('AX"GAX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  355. XM("`@("`@("`@("`@("`@(&%S(&%S("`@("`@("`@("`@("`@("`@("`@("`@
  356. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  357. XM("`@("`@("`@("`@("`@("!&>`IX1B`@("`@("`@("`@("`@("`@("`@("`@
  358. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  359. XM("`@("`@("`@("`@("`@*R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  360. XM("`@("`@("`@("`@("`@("`@("`@("`@87@*>'@@("`@("`@("`@("`@("`@
  361. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  362. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  363. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"GAX=R`@("`@("`@
  364. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  365. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  366. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX>'@@
  367. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  368. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  369. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'<@
  370. XM('@*>'AX("`@("`@("`@("`@("`@("`@("`@("!Q>'AX=W(@("`@("`@("`@
  371. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  372. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  373. XM(')Q>'AX('%X"GAX>"`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'A&9B`@
  374. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  375. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  376. XM("`@("`@('%X>'AX>'AX>`IX>'@@("`@("`@("`@("`@("`@("`@("`@>'AX
  377. XM>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  378. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  379. XM("`@("`@("`@("`@('%X>'AX>'AX>'@*>'AX=R`@("`@("`@("`@("`@("`@
  380. XM("`@('AX>'AX>'AW("`@("!Q>'AW("`@("`@("`@("`@("`@("`@("`@("`@
  381. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  382. XM("`@("`@("`@("`@("`@("`@(&1X>'AX>'AX>'AX"GAX>'@@("`@("`@("`@
  383. XM("`@("`@("`@("!A>'AX>'AX>"`@("`@>'AX>"`@("`@('%W("`@("`@("`@
  384. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  385. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>`IX>'AX=R`@
  386. XM("`@("`@("`@("`@("`@("`@('AX>'AX>'@@("`@<7AX>'AW<7AX=W%X>'<@
  387. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  388. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'@*
  389. XM>'AX>'AX=R`@("`@("`@("`@("`@("`@("!X>'AX>'AX=R!Q>'AX>'AX>'AX
  390. XM>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  391. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX
  392. XM>'AX>'AX"GAX>'AX>'@@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX
  393. XM>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  394. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  395. XM("`@('AX>'AX>'AX>`IX>'AX>'AX=R`@("`@("`@("`@("`@("`@(&%X>'AX
  396. XM>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@
  397. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  398. XM("`@("`@("`@("!A>'AX>'AX>'@*>'AX>'AX>'AX=W)X=R`@("`@("`@("`@
  399. XM("`@>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@
  400. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  401. XM("`@("`@("`@("`@("`@("`@('AX>'AX>'AX"GAX>'AX>'AX>'AX>',@("!Q
  402. XM=R`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@
  403. XM("`@("`@("`@("`@("`@("`@("!Q=R`@<7AX>'<@("`@("`@("`@("`@("`@
  404. XM("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>`IX>'AX>'AX>'AX
  405. XM>'@@("`@>'AX=R`@("`@('AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@("`@
  406. XM("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX1GAX>'AX("`@("`@("`@
  407. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'@*>'AX
  408. XM>'AX>'AX>'AX("`@('AX>'AX>'<@*G%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  409. XM>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX<R`@
  410. XM("`@("`@("`@("`@("`@("`@("`@<7AX>'<@("`@("`@("`@('%X>'AX>'AX
  411. XM>'AX"GAX>'AX>'AX>'AX>"`@("!X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  412. XM>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX
  413. XM>'AX>"`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX("`@("`@("`@("!X
  414. XM>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AW("`@87AX>'AX>'AX>'AX>'-A>'AX
  415. XM>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  416. XM87AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>"`@("`@
  417. XM("`@("!Q>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX>'<@("`@87AS("!A>'AS
  418. XM("`@("!A<R!C(&%X>'AX>'AX>'AX1B`@("`@("`@("`@("`@("`@("`@("`@
  419. XM("`@("`@("!X>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@>'AX
  420. XM>'@@("`@("`@("`@87AX>'AX>'AX>'AX"GAX>'AX>'AX>'AX>'AX("`@("`@
  421. XM("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@
  422. XM("`@("`@("`@("`@("`@>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@
  423. XM("`@<7AX>'AX("`@("`@("`@("!X>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AX
  424. XM>'<@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX>'@@("`@("`@
  425. XM("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AW("`@("`@("`@("`@
  426. XM("`@("`@("`@<7AX>'AX>'<@("`@("`@("`@87AX>'AX>'AX>'@*>'AX>'AX
  427. XM>'AX>'AX>'AX1G<@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX
  428. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX=R`@
  429. XM("`@("`@("`@("`@("`@('AX>'AX>'AX>'<@("`@("`@('%X>'AX>'AX>'AX
  430. XM"GAX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@(&%X>'AX
  431. XM>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX
  432. XM>'AX>'@@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX("`@("`@("!X>'AX
  433. XM>'AX>'AX>`IX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@
  434. XM("`@>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X
  435. XM>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>"`@("`@
  436. XM("`@>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@
  437. XM("`@("`@("`@('AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@
  438. XM("`@('%X>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@<7AX>'AX
  439. XM>',@("`@("`@(&%X>'AX>'AX>'AX"GAX>'AX>'AX>'AX>'AX("`@("`@("`@
  440. XM("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@
  441. XM("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@
  442. XM('AX>'AX>'@@("`@("`@("`@>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AX>"`@
  443. XM("`@("`@("`@("`@("`@("`@("`@("`@>'AX1D9X>'AX>"`@("`@("`@("`@
  444. XM("!Q>'AX>'AW("`@("`@('AX>'AX>'AX>'AX>'AX>'@@("`@("`@("`@("`@
  445. XM("`@("`@("!X>'AX>'AX("`@("`@("`@('AX>'AX>'AX>'@*>'AX>'AX>'AX
  446. XM>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@(&%X<V-C87AX>',@("`@
  447. XM("`@("`@<7AX>'AX>'AX>'AX=R!R('%X>'AX>'AX>'AX>'AX>'AX("`@("`@
  448. XM("`@("`@("`@("`@("`@>'AX>'AX>"`@("`@("`@("!X>'AX>'AX>'AX"GAX
  449. XM>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  450. XM("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX1GAX>'AX>'AX>'AX>'AX>'AX
  451. XM>"`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AW("`@("`@("!Q>'AX>'AX
  452. XM>'AX>`IX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@
  453. XM("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  454. XM>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>"`@("`@("!Q
  455. XM>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@
  456. XM("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX>'AX>'AX>'AX
  457. XM>'AX>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'@@
  458. XM("`@("`@87AX>'AX>'AX>'AX"GAX>'AX>'AX>'AX<R`@("`@("`@("`@("`@
  459. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX
  460. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("!X
  461. XM>'AX>'AX("`@("`@("`@87AX>'AX>'AX>`IX>'AX>'AX>'AS("`@("`@("`@
  462. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX
  463. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@
  464. XM("`@("!Q>'AX>'AX<R`@("`@("`@("!X>'AX>'AX>'@*>'AX>'AX>'AX9B`@
  465. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  466. XM('%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@
  467. XM("`@("`@("`@<7AX>'AX>'AX>"`@("`@("`@("`@>'AX>'AX>'AX"GAX>'AX
  468. XM>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX=R`@("`@("`@
  469. XM("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@
  470. XM("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'@@("`@("`@("`@('AX>'AX>'AX
  471. XM>`IX>'AX>'AX>'AW("`@("`@("`@("`@("`@+2`@("`@("`@("`@('AX>'@@
  472. XM("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  473. XM>'AX>"`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AS("`@("`@("`@("!X
  474. XM>'AX>'AX>'@*>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@
  475. XM("!X>'AS("`@("`@("`@("`@("`@("!X>'AX>'AX>'@@(&%X>'AX>'AX>'AX
  476. XM>'AX>'AX>'AX>'@@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AS("`@("`@
  477. XM("`@("`@87AX>'AX>'AX"GAX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@
  478. XM("`@("`@("!Q>'AX("`@("`@("`@("`@("`@("`@87AX>'AX>',@("`@>'AX
  479. XM>'AX>'AX>'AX>'AX>',@(&%S("`@("`@("`@("`@("!Q>'AX>'AX>'AX<R`@
  480. XM("`@("`@("`@("`@("!X>'AX>'AX>`IX>'AX>'AX>'AX("`@("`@("`@("`@
  481. XM("`@("`@("`@("`@("`@87AX>'<@("`@("`@("`K("`@("`@("!X>'AX>'@@
  482. XM("`@($9X>'AX>'AX>',@("!A<R`@("`@("`@("`@("`@("`@("`@>'AX>'AX
  483. XM>'AX<R`@("`@("`@("`@("`@("`@>'AX>'AX>'@*>'AX>'AX>'AX<R`@("`@
  484. XM("`@("`@("`@("`@("`@("`@("`@("!X>'AX("`@("`@("`@("`@("`@("`@
  485. XM>'AX>'AS("`@('%X>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@
  486. XM<7AX>'AX>'AX>"`@("`@("`@("`@("`@("`@('AX>'AX>'AX"GAX>'AX>'AX
  487. XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX<R`@("`@("`@("`@
  488. XM("`@("`@<7AX>'AX("`@("!A>'AX>'AX>',@("`@("`@("`@("`@("`@("`@
  489. XM("`@("`@<7AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("!X>'AX>'AX>`IX
  490. XM>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@87A&<R`@("`@
  491. XM("`@("`@("`@("`@(&%X>',@("`@("`@('AX>'AX>',@("`@("`@("`@("`@
  492. XM("`@("`@("`@("`@('AX>'AX<R`@(&%S("`@("`@("`@("`@("`@("`@>'AX
  493. XM>'AX>'@*>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  494. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X<V%X<R`@("`@("`@
  495. XM("`@("`@("`@("`@("`@("`@("!A>',@("`@("`@("`@("`@("`@("`@("`@
  496. XM("`@<7AX>'AX>'AX"GAX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@
  497. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>"`@("`@
  498. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  499. XM("`@("`@("!Q>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'<@("`@("`@("`@("`@
  500. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  501. XM>',@("`@("`@("`@("`@("`@("`@("`M("`@("`@("`@("`@("`@("`@("`@
  502. XM("`@("`@("`@("`@("`@>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX("`@("`@
  503. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  504. XM("`@("`@('@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q
  505. XM>'A&=R`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX"GAX>'AX>'AX>'AX
  506. XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  507. XM("`@("`@<7AX=R`@('%X("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  508. XM("`@("`@>'AX>'AW("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>`IX>'AX
  509. XM>'AX>'AX>',@("`@('%X>'<@("`@("`@("`@("!Q>'<@("`@("`@("`@("`@
  510. XM("`@("`@("`@("`@<7AX>'AX=R!X>"`@("`@("`@("`@("`@("`@("`@("`@
  511. XM("`@("`@("`@("`@(&%X>'AX>"`@("`@("`@("`@("`@("`@('AX>'AX>'AX
  512. XM>'@*>'AX>'AX>'AX>'AW("IQ>'AX>'AX>'<@("`@("`@("`@>'AX>'AX=R`@
  513. XM("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AW*B`@("`@("`@("`@("`@
  514. XM("`@("`@("`@("`@("`@("`@("`@>'AX>'@@("`@("`@("`@("`@("`@("!X
  515. XM>'AX>'AX>'AX"GAX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@
  516. XM87AX>'AX>'AW("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX>'AX=R`@("`@
  517. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AS("`@("`@("`@("`@
  518. XM("`@("`@>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@
  519. XM("`@("`@("!A>'AX>'AX>'<@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX
  520. XM>'AX>'<@("`@("`@("`@("`@('%X=R`@("`@("`@("`@("!X>'AX("`@("`@
  521. XM("`@("`@("`@("`@<7AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  522. XM>'AX>'AW("`@("`@("`@(&%X>'AX>'AX("`@("`@("`@("`@("`@("!X>'AX
  523. XM>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("!&>'@@("`@("`@("`@*B!Q>'AX
  524. XM>"`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX"GAX>'AX>'AX>'AX>'AX
  525. XM>'AX>'AX>'AX>'AX>'AW("`@("`@("`@>'AX>'AX>'<@<7AX=R`@("!Q>'<@
  526. XM("`@>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("!Q>'AX=R`@("`@("`@
  527. XM<7AX>'AX>',@("`@('%X>'AW("`@("`@>'AX>'AX>'AX>'AX>`IX>'AX>'AX
  528. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@("`@("`@<7AX>'AX>'AX>'AX>'AX
  529. XM=R!Q>'AX("`@('AX>'AX>'AX>'AX>'AX>'AX>'@@("!Q>'AX>'AX>'AX>'@@
  530. XM("`@<7AX>'AX>'AX>'@@("`@("!X>'AX<R`@("`@<7AX>'AX>'AX>'AX>'@*
  531. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>$8@("`@("!Q>'AX>'AX>'AX
  532. XM>'AX>'AX>'AX>'AX>'<J('%X>'AX>'AX>'AX>'AX>'AX>'AX("`@>'AX>'AX
  533. XM>'AX>'AX=R`@<7AX>'AX>'AX>'AX=R`@*B!X>'AS("`@<7AX>'AX>'AX>'AX
  534. XM>'AX>'AX"GAX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@>'AX
  535. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'=R
  536. XM<7AX>'AX>'AX>'AX>'AX1GAX>'AX>'AX>'AX>'AX>'AX>'AX=W%X>'AX>'AX
  537. XM>'AX>'AX>'AX>'AX>`IX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AW
  538. XM('(@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  539. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  540. XM>'AX>'AX>'AX>'AX>'AX>'AX>'@*>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  541. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  542. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  543. X;>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  544. X`
  545. Xend
  546. END_OF_FILE
  547. if test 31622 -ne `wc -c <'maps/fuzz2.uue'`; then
  548.     echo shar: \"'maps/fuzz2.uue'\" unpacked with wrong size!
  549. fi
  550. # end of 'maps/fuzz2.uue'
  551. fi
  552. if test -f 'maps/small.uue' -a "${1}" != "-c" ; then 
  553.   echo shar: Will not clobber existing file \"'maps/small.uue'\"
  554. else
  555. echo shar: Extracting \"'maps/small.uue'\" \(664 characters\)
  556. sed "s/^X//" >'maps/small.uue' <<'END_OF_FILE'
  557. Xbegin 644 small.map
  558. XM,C!X,C`*-`I3;6%L;"!I<R!W;VYD97)F=6P*0FKX<FX@4W1A8F5L;`IX>'AX
  559. XM>'AX>'AX>'AX>'AX>'AX>`IX("`@("`@("`@("`@("`@("`@>`IX("`@("`@
  560. XM("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@
  561. XM("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`J>`IX("`@("`@("`@("`@
  562. XM("`@("!A>`IX("`@("`@("`@("`@("`@("`@>`IX*B`@("`@("`@("`@("`@
  563. XM("`@>`IX<R`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@
  564. XM>`IX("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@>`IX
  565. XM("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@>`IX*B`@
  566. XM("`@("`@("`@("`@("`@>`IX1B`@("`@("`@("`@("`@("`@>`IX<R`@("`@
  567. XM("`@("`@("`@("`@>`IX("`@*B`@("`@("`J("`@("`J>`IX>'AX>'AX>'AX
  568. X+>'AX>'AX>'AX>`H@
  569. X`
  570. Xend
  571. END_OF_FILE
  572. if test 664 -ne `wc -c <'maps/small.uue'`; then
  573.     echo shar: \"'maps/small.uue'\" unpacked with wrong size!
  574. fi
  575. # end of 'maps/small.uue'
  576. fi
  577. if test -f 'src/xinit.c' -a "${1}" != "-c" ; then 
  578.   echo shar: Will not clobber existing file \"'src/xinit.c'\"
  579. else
  580. echo shar: Extracting \"'src/xinit.c'\" \(22081 characters\)
  581. sed "s/^X//" >'src/xinit.c' <<'END_OF_FILE'
  582. X/* $Id: xinit.c,v 1.10 1992/07/10 21:41:06 bjoerns Exp $
  583. X *
  584. X *    This file is part of the XPilot project, written by
  585. X *
  586. X *        Bjxrn Stabell (bjoerns@stud.cs.uit.no)
  587. X *        Ken Ronny Schouten (kenrsc@stud.cs.uit.no)
  588. X *
  589. X *    Copylefts are explained in the LICENSE file.
  590. X */
  591. X
  592. X#include <X11/Xproto.h>
  593. X#include <X11/Xlib.h>
  594. X#include <X11/Xos.h>
  595. X
  596. X#include <stdio.h>
  597. X#include <setjmp.h>
  598. X#ifndef    apollo
  599. X#    include <string.h>
  600. X#endif
  601. X
  602. X#include "global.h"
  603. X#include "map.h"
  604. X#include "draw.h"
  605. X#include "version.h"
  606. X#include "icon.h"
  607. X#include "pack.h"
  608. X
  609. X#ifndef    lint
  610. Xstatic char sourceid[] =
  611. X    "@(#)$Id: xinit.c,v 1.10 1992/07/10 21:41:06 bjoerns Exp $";
  612. X#endif
  613. X
  614. X/*
  615. X * Globals.
  616. X */
  617. Xstatic char        msg[MSG_LEN];
  618. Xstatic XFontStruct    *font;
  619. X
  620. XAtom        ProtocolAtom, KillAtom;
  621. X
  622. X#ifndef NO_ROTATING_DASHES
  623. Xchar dashes[NO_OF_DASHES] = { 8, 4 };
  624. X#endif
  625. X
  626. X
  627. X/*
  628. X * Define the window manager hints.
  629. X */
  630. XXWMHints xwmh = {
  631. X    (InputHint|StateHint|IconPixmapHint),    /* Flags */
  632. X    True,            /* Input -- Needed for OpenWindows at least */
  633. X    NormalState,        /* Initial_state */
  634. X    NULL,            /* Icon pixmap (set below) */
  635. X    0,                /* Icon window */
  636. X    0, 0,            /* Icon location */
  637. X    0,                /* Icon mask */
  638. X    0,                /* Window group -- mostly ignored */
  639. X};
  640. XXSizeHints        xsh;
  641. X
  642. X
  643. X/*
  644. X * The following function initializes a player window.  It returns SUCCESS if
  645. X * the initialization was successful, E_DISPLAY if it couldn't open display,
  646. X * or E_DBUFF if it couldn't initialize the double buffering routine.
  647. X */
  648. Xu_byte Init_window(int ind)
  649. X{
  650. X    int            i, p, button_color, window_color;
  651. X    XGCValues        xgc;
  652. X#ifdef    SCROLL
  653. X    char        title[256];
  654. X#endif
  655. X    player        *pl = Players[ind];
  656. X    static char        msg[256];
  657. X
  658. X
  659. X    /*
  660. X     * Get misc. display info.
  661. X     */
  662. X    pl->disp_type = DT_IS_DISPLAY;
  663. X    if (HavePlanes(pl->disp))
  664. X    SET_BIT(pl->disp_type, DT_HAVE_PLANES | DT_HAVE_COLOR);
  665. X
  666. X
  667. X    /*
  668. X     * Initializes colors.
  669. X     */
  670. X    pl->colors[BLACK].red    = 0; 
  671. X    pl->colors[BLACK].green    = 0; 
  672. X    pl->colors[BLACK].blue    = 0; 
  673. X    pl->colors[WHITE].red    = 65535;
  674. X    pl->colors[WHITE].green    = 65535;
  675. X    pl->colors[WHITE].blue    = 65535;
  676. X    pl->colors[BLUE].red    = 10000;
  677. X    pl->colors[BLUE].green    = 30000;
  678. X    pl->colors[BLUE].blue    = 65535;
  679. X    pl->colors[RED].red        = 65535;
  680. X    pl->colors[RED].green    = 15000;
  681. X    pl->colors[RED].blue    = 10000;
  682. X    pl->colormap        = NULL;
  683. X
  684. X
  685. X    /*
  686. X     * Initializes the double buffering routine.
  687. X     */
  688. X    pl->dbuf_state = start_dbuff(ind, pl->disp,
  689. X                 DefaultColormap(pl->disp,
  690. X                         DefaultScreen(pl->disp)),
  691. X                 BIT(pl->disp_type, DT_HAVE_COLOR) ? 2 : 1,
  692. X                 pl->colors);
  693. X
  694. X    if (pl->dbuf_state == NULL) {
  695. X
  696. X    error("Short of colors, creating private cmap for '%s'", pl->name);
  697. X    /*
  698. X     * Create a private colormap if we can't allocate enough colors.
  699. X     */
  700. X    pl->colormap = XCreateColormap(pl->disp, DefaultRootWindow(pl->disp),
  701. X                       DefaultVisual(pl->disp,
  702. X                             DefaultScreen(pl->disp)),
  703. X                       AllocNone);
  704. X    /*
  705. X     * Try to initialize the double buffering again.
  706. X     */
  707. X    pl->dbuf_state = start_dbuff(ind, pl->disp, pl->colormap,
  708. X                     BIT(pl->disp_type, DT_HAVE_COLOR) ? 2 : 1,
  709. X                     pl->colors);
  710. X    }
  711. X
  712. X    if (pl->dbuf_state == NULL) {
  713. X    XCloseDisplay(pl->disp);
  714. X    return (E_DBUFF);
  715. X    }
  716. X
  717. X
  718. X    /*
  719. X     * Creates the windows.
  720. X     */
  721. X    if (BIT(pl->disp_type, DT_HAVE_COLOR)) {
  722. X    window_color = BLUE;
  723. X    button_color = RED;
  724. X    } else {
  725. X    button_color = BLACK;
  726. X    window_color = BLACK;
  727. X    }
  728. X
  729. X    pl->top = XCreateSimpleWindow(pl->disp, DefaultRootWindow(pl->disp), 0, 0,
  730. X                  1026, 768, 0, 0, pl->colors[WHITE].pixel);
  731. X    if (pl->colormap)
  732. X    XSetWindowColormap(pl->disp, pl->top, pl->colormap);
  733. X
  734. X    pl->draw = XCreateSimpleWindow(pl->disp, pl->top, 258, 0,
  735. X                   768, 768, 0, 0, pl->colors[BLACK].pixel);
  736. X    pl->radar = XCreateSimpleWindow(pl->disp, pl->top, 0, 0,
  737. X                    256, RadarHeight, 0, 0,
  738. X                    pl->colors[BLACK].pixel);
  739. X    pl->quit_b = XCreateSimpleWindow(pl->disp, pl->top, 0, RadarHeight+1,
  740. X                     85, 22, 0, 0,
  741. X                     pl->colors[button_color].pixel);
  742. X    pl->info_b = XCreateSimpleWindow(pl->disp, pl->top, 86, RadarHeight+1,
  743. X                     85, 22, 0, 0,
  744. X                     pl->colors[button_color].pixel);
  745. X    pl->help_b = XCreateSimpleWindow(pl->disp, pl->top, 172, RadarHeight+1,
  746. X                     84, 22, 0, 0,
  747. X                     pl->colors[button_color].pixel);
  748. X    pl->players = XCreateSimpleWindow(pl->disp, pl->top, 0, RadarHeight+24,
  749. X                      256, 746-RadarHeight, 0, 0,
  750. X                      pl->colors[window_color].pixel);
  751. X    pl->help_w = XCreateSimpleWindow(pl->disp, pl->draw, (FULL-420)/2,
  752. X                     (FULL-470)/2, 420, 470,
  753. X                     5, pl->colors[WHITE].pixel,
  754. X                     pl->colors[window_color].pixel);
  755. X    pl->help_close_b = XCreateSimpleWindow(pl->disp, pl->help_w,
  756. X                       4, 470-26, 85, 22, 0, 0,
  757. X                       pl->colors[button_color].pixel);
  758. X    pl->help_next_b = XCreateSimpleWindow(pl->disp, pl->help_w,
  759. X                      420/2-85/2, 470-26, 85, 22, 0, 0,
  760. X                      pl->colors[button_color].pixel);
  761. X    pl->help_prev_b = XCreateSimpleWindow(pl->disp, pl->help_w,
  762. X                      420-89, 470-26, 85, 22, 0, 0,
  763. X                      pl->colors[button_color].pixel);
  764. X
  765. X    pl->info_w = XCreateSimpleWindow(pl->disp, pl->draw, (FULL-500)/2, 
  766. X                     (FULL-500)/2, 500, 500,
  767. X                     5, pl->colors[WHITE].pixel, 
  768. X                     pl->colors[window_color].pixel);
  769. X    pl->info_close_b = XCreateSimpleWindow(pl->disp, pl->info_w, 4, 500-26, 85,
  770. X                       22, 0, 0,
  771. X                       pl->colors[button_color].pixel);
  772. X
  773. X
  774. X    /*
  775. X     * Selecting events the we can handle.
  776. X     */
  777. X    XSelectInput(pl->disp, pl->top, KeyPressMask | KeyReleaseMask |
  778. X         EnterWindowMask | LeaveWindowMask);
  779. X    XSelectInput(pl->disp, pl->quit_b,
  780. X         ExposureMask | ButtonPressMask | ButtonReleaseMask);
  781. X    XSelectInput(pl->disp, pl->info_close_b,
  782. X         ExposureMask | ButtonPressMask | ButtonReleaseMask);
  783. X    XSelectInput(pl->disp, pl->help_close_b,
  784. X         ExposureMask | ButtonPressMask | ButtonReleaseMask);
  785. X    XSelectInput(pl->disp, pl->help_next_b,
  786. X         ExposureMask | ButtonPressMask | ButtonReleaseMask);
  787. X    XSelectInput(pl->disp, pl->help_prev_b,
  788. X         ExposureMask | ButtonPressMask | ButtonReleaseMask);
  789. X    XSelectInput(pl->disp, pl->info_b, ButtonPressMask | ExposureMask);
  790. X    XSelectInput(pl->disp, pl->help_b, ButtonPressMask | ExposureMask);
  791. X    XSelectInput(pl->disp, pl->info_w, ExposureMask);
  792. X    XSelectInput(pl->disp, pl->help_w, ExposureMask);
  793. X    XSelectInput(pl->disp, pl->radar, ExposureMask);
  794. X    XSelectInput(pl->disp, pl->players, ExposureMask);
  795. X    XSelectInput(pl->disp, pl->draw, 0);
  796. X
  797. X
  798. X    /*
  799. X     * Maps the windows, makes the visible. Voila!
  800. X     */
  801. X    XMapWindow(pl->disp, pl->top);
  802. X    XMapWindow(pl->disp, pl->draw);
  803. X    XMapWindow(pl->disp, pl->radar);
  804. X    XMapWindow(pl->disp, pl->quit_b);
  805. X    XMapWindow(pl->disp, pl->info_b);
  806. X    XMapWindow(pl->disp, pl->help_b);
  807. X    XMapWindow(pl->disp, pl->players);
  808. X
  809. X    if (!BIT(pl->disp_type, DT_HAVE_PLANES)) {
  810. X    pl->p_radar = XCreatePixmap(pl->disp, pl->radar, 256, RadarHeight, 1);
  811. X    pl->s_radar = XCreatePixmap(pl->disp, pl->radar, 256, RadarHeight, 1);
  812. X    pl->p_draw  = XCreatePixmap(pl->disp, pl->draw, 768, 768, 1);
  813. X    }
  814. X    else {
  815. X    pl->p_radar = pl->radar;
  816. X    pl->s_radar = pl->radar;
  817. X    pl->p_draw = pl->draw;
  818. X    }
  819. X
  820. X    /*
  821. X     * Following initializes the text that may be specified to scroll
  822. X     * across the window title.
  823. X     */
  824. X#ifdef SCROLL
  825. X    sprintf(pl->scroll, "                            "
  826. X        "                    "
  827. X        TITLE "\"%s\" connected to server at \"%s\"..... "
  828. X        "The game world is %s, dimensions: %d boxes wide and %d boxes "
  829. X        "high. It was created, and made made available, by %s. You are "
  830. X        "playing with rules bitfield $%04lx, huh? Well, don't let it "
  831. X        "bother you. You will find %d cannons, %d gravs and %d starting "
  832. X        "positions in this world. Not to mention %d energy stations, "
  833. X        "which will hopefully satisfy your needs. If you are playing in "
  834. X        "race mode, it might help to inform you that there are %d "
  835. X        "checkpoints in each round............. "
  836. X        "Controls: 'a' and 's' turn your "
  837. X        "fighter left and right, 'shift' activates your splendid "
  838. X        "(but aye so energy-consuming) engines. 'Return' fires your "
  839. X        "cannon, and if you have first activated the compass/lock-"
  840. X        "computer and selected a target (with either 'Select' (nearest), "
  841. X        "'Next' or 'Prev') - you may fire smart missiles by pressing the "
  842. X        "'\\' (BackSlash) key..... Other controls are: 'ctrl' or 'f' for "
  843. X        "recharging your energy, obtained by maneuvering close to an "
  844. X        "energy station and holding down the appropriate key. 'Space' "
  845. X        "or 'Meta-R' activates your shield. So, All that's left is to "
  846. X        "wish you good luck... :)       Who knows, you might need it? :) "
  847. X        "                                  ",
  848. X        pl->name, Server.host, World.name, World.x, World.y, World.author,
  849. X        World.rules->mode, World.NumCannons, World.NumGravs,
  850. X        World.NumBases, World.NumFuels, World.NumChecks);
  851. X    pl->scroll_len = strlen(pl->scroll);
  852. X#endif
  853. X
  854. X    /*
  855. X     * Making bitmaps.
  856. X     */
  857. X    xwmh.icon_pixmap = XCreateBitmapFromData(pl->disp, pl->top, icon_bits,
  858. X                         icon_width, icon_height);
  859. X
  860. X
  861. X    /*
  862. X     * Prepare to catch the WM_DELETE_WINDOW 'event'.
  863. X     * (Should perhaps do a XGetWMProtocols first, but really not neccessary
  864. X     * for the moment.)     Also add an error handler to catch the rest of those
  865. X     * nasty closes.
  866. X     */
  867. X    ProtocolAtom = XInternAtom(pl->disp, "WM_PROTOCOLS", False);
  868. X    KillAtom = XInternAtom(pl->disp, "WM_DELETE_WINDOW", False);
  869. X    XSetWMProtocols(pl->disp, pl->top, &KillAtom, 1);
  870. X    XSetIOErrorHandler(FatalError);
  871. X
  872. X
  873. X    /*
  874. X     * Setting up the window properties; hints -
  875. X     *
  876. X     * icon pixmap, window names, placement, size etc.
  877. X     */
  878. X    xsh.flags = (PPosition|PSize|PMinSize|PMaxSize|PBaseSize);
  879. X    xsh.width = xsh.base_width = xsh.min_width = xsh.max_width = 1026;
  880. X    xsh.height = xsh.base_height = xsh.min_height = xsh.max_height = 768;
  881. X    xsh.x = (DisplayWidth(pl->disp, DefaultScreen(pl->disp)) - xsh.width) / 2;
  882. X    xsh.y = (DisplayHeight(pl->disp, DefaultScreen(pl->disp)) - xsh.height) / 2;
  883. X
  884. X    XSetWMNormalHints(pl->disp, pl->top, &xsh);
  885. X    XSetWMHints(pl->disp, pl->top, &xwmh);
  886. X
  887. X    sprintf(msg, "Successful connection to server at \"%s\".", Server.host);
  888. X    XStoreName(pl->disp, pl->top, msg);
  889. X    sprintf(msg, "%s:%s", pl->name, Server.host);
  890. X    XSetIconName(pl->disp, pl->top, msg);
  891. X    
  892. X
  893. X    XAutoRepeatOff(pl->disp);        /* We don't want any autofire, yet! */
  894. X
  895. X    /*
  896. X     * Creates and initializes the graphic contexts.
  897. X     */
  898. X    pl->gc = XCreateGC(pl->disp, pl->draw, 0, &xgc);
  899. X    pl->gcr = XCreateGC(pl->disp, pl->radar, 0, &xgc);
  900. X    pl->gcb = XCreateGC(pl->disp, pl->quit_b, 0, &xgc);
  901. X    pl->gcp = XCreateGC(pl->disp, pl->players, 0, &xgc);
  902. X    pl->gctxt = XCreateGC(pl->disp, pl->info_w, 0, &xgc);
  903. X
  904. X    XSetBackground(pl->disp, pl->gc, pl->colors[BLACK].pixel);
  905. X    XSetDashes(pl->disp, pl->gc, 0, dashes, NO_OF_DASHES);
  906. X    XSetLineAttributes(pl->disp, pl->gc, 0, LineSolid, CapButt, JoinBevel);
  907. X    pl->color = WHITE;
  908. X
  909. X    if ((font = XLoadQueryFont(pl->disp,
  910. X          "-*-*-medium-r-*-*-12-120-75-75-m-70-iso8859-1")) == NULL) {
  911. X    error("Could not load font. Will use default font");
  912. X    } else
  913. X    XSetFont(pl->disp, pl->gc, font->fid);
  914. X
  915. X    if ((font = XLoadQueryFont(pl->disp,
  916. X          "-*-*-bold-o-*-*-14-140-75-75-m-90-iso8859-1")) == NULL) {
  917. X    error("Could not load font. Will use default font....");
  918. X    } else
  919. X    XSetFont(pl->disp, pl->gcb, font->fid);
  920. X
  921. X    if ((font = XLoadQueryFont(pl->disp,
  922. X          "-*-*-bold-i-*-*-17-120-100-100-p-86-iso8859-1")) == NULL) {
  923. X    error("Could not load font. Will use default font....");
  924. X    } else
  925. X    XSetFont(pl->disp, pl->gctxt, font->fid);    
  926. X
  927. X    if ((font = XLoadQueryFont(pl->disp,
  928. X          "-*-*-bold-*-*-*-13-120-75-75-c-80-iso8859-1")) == NULL) {
  929. X    error("Could not load font. Will use default font....");
  930. X    } else
  931. X    XSetFont(pl->disp, pl->gcp, font->fid);
  932. X
  933. X    XSetState(pl->disp, pl->gcr,
  934. X          WhitePixel(pl->disp, DefaultScreen(pl->disp)),
  935. X          BlackPixel(pl->disp, DefaultScreen(pl->disp)),
  936. X          GXcopy, AllPlanes);
  937. X    XSetState(pl->disp, pl->gc,
  938. X          WhitePixel(pl->disp, DefaultScreen(pl->disp)),
  939. X          BlackPixel(pl->disp, DefaultScreen(pl->disp)),
  940. X          GXcopy, AllPlanes);
  941. X    XSetState(pl->disp, pl->gcb,
  942. X          WhitePixel(pl->disp, DefaultScreen(pl->disp)),
  943. X          BlackPixel(pl->disp, DefaultScreen(pl->disp)),
  944. X          GXcopy, AllPlanes);
  945. X    XSetState(pl->disp, pl->gcp,
  946. X          WhitePixel(pl->disp, DefaultScreen(pl->disp)),
  947. X          BlackPixel(pl->disp, DefaultScreen(pl->disp)),
  948. X          GXcopy, AllPlanes);
  949. X
  950. X    
  951. X    if (BIT(pl->disp_type, DT_HAVE_PLANES))
  952. X    XSetPlaneMask(pl->disp, pl->gc, pl->dbuf_state->drawing_planes);
  953. X
  954. X
  955. X    /*
  956. X     * Get length of name in pixels (with drawing area font) for future
  957. X     * use. (not correct if players use different fonts)
  958. X     */
  959. X    pl->name_length = XTextWidth(XQueryFont(pl->disp, XGContextFromGC(pl->gc)),
  960. X                 pl->name, strlen(pl->name));
  961. X
  962. X
  963. X    /*
  964. X     * A little hack that enables us to draw on both sets of double buffering
  965. X     * planes at once.
  966. X     */
  967. X    pl->dpl_1[0] = pl->dpl_2[0] = pl->dpl_1[1] = pl->dpl_2[0] = 0;
  968. X
  969. X    for (p=0; p<2; p++) {
  970. X    pl->dpl_1[p] = pl->dpl_2[p] = 0;
  971. X
  972. X    for (i=0; i<32; i++)
  973. X        if (!((1<<i)&pl->dbuf_state->masks[p]))
  974. X        if (pl->dpl_1[p])
  975. X            pl->dpl_2[p] = 1<<i;
  976. X        else
  977. X            pl->dpl_1[p] = 1<<i;
  978. X    }
  979. X
  980. X    return (SUCCESS);
  981. X}
  982. X
  983. X
  984. Xvoid Alloc_msgs(int number)
  985. X{
  986. X    int i;
  987. X
  988. X    for (i=0; i<number; i++) {
  989. X    Msg[i] = (message_t *)malloc(sizeof(message_t));
  990. X    Msg[i]->txt[0] = '\0';
  991. X    Msg[i]->life = 0;
  992. X    }
  993. X}
  994. X
  995. X
  996. Xvoid Free_msgs(int number)
  997. X{
  998. X    int i;
  999. X
  1000. X    for (i=0; i<number; i++)
  1001. X    free(Msg[i]);
  1002. X}
  1003. X
  1004. X
  1005. Xvoid DrawShadowText(int ind, Display *disp, Window w, GC gc, int x,
  1006. X            int start_y, char *str, Pixel fg, Pixel bg)
  1007. X{
  1008. X    char line[256];
  1009. X    int i, y = start_y;
  1010. X
  1011. X
  1012. X    if (str==NULL || *str=='\0')
  1013. X    return;
  1014. X
  1015. X    do {
  1016. X
  1017. X    for (i=0; *str != '\0' && *str != '\n'; str++, i++)
  1018. X        line[i] = *str;
  1019. X    line[i] = '\0';
  1020. X
  1021. X    y += 20;
  1022. X
  1023. X    ShadowDrawString(ind, disp, w, gc, x, y, line, fg, bg);
  1024. X
  1025. X    } while (*(++str) != '\0');
  1026. X}
  1027. X
  1028. X
  1029. Xvoid Expose_info_window(int ind)
  1030. X{
  1031. X    player *pl = Players[ind];
  1032. X
  1033. X
  1034. X    DrawShadowText(ind, pl->disp, pl->info_w, pl->gctxt, 24, 14,
  1035. X       "\n\n"
  1036. X       "MISCELLANEOUS INFORMATION\n"
  1037. X       "\n\n"
  1038. X       "XPilot is still not a finished product, so please apology for\n"
  1039. X       "any bugs etc.  However, if you find any, we would greatly\n"
  1040. X       "appreciate that you reported to us.\n"
  1041. X       "\n"
  1042. X       "New versions are continuously being developed, but at a random\n"
  1043. X       "rate.  Currently, this isn't very fast at all, mainly due to the\n"
  1044. X       "mandatory work in conjunction with our studies (really!!).\n"
  1045. X       "\n"
  1046. X       "For more info, read the man pages for xpilot(6) and xpilots(6).\n"
  1047. X       "\n\n"
  1048. X       "Good luck as a future fighter-pilot,\n"
  1049. X       "Bjxrn Stabell & Ken Ronny Schouten\n",
  1050. X       pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
  1051. X}
  1052. X
  1053. X
  1054. Xvoid Expose_help_window(int ind)
  1055. X{
  1056. X    player *pl = Players[ind];
  1057. X
  1058. X
  1059. X    if (BIT(pl->disp_type, DT_HAVE_COLOR)) {
  1060. X    XSetForeground(pl->disp, pl->gctxt, pl->colors[BLUE].pixel);
  1061. X    XFillRectangle(pl->disp, pl->help_w, pl->gctxt, 0, 0, 420, 470);
  1062. X    XSetForeground(pl->disp, pl->gctxt, pl->colors[WHITE].pixel);
  1063. X    } else
  1064. X    XClearWindow(pl->disp, pl->help_w);
  1065. X    
  1066. X    switch (pl->help_page) {
  1067. X    case 0:
  1068. X    DrawShadowText(ind, pl->disp, pl->help_w, pl->gctxt, 15, 7,
  1069. X               "KEYS:\n"
  1070. X               "\n"
  1071. X               "A\n"
  1072. X               "S\n"
  1073. X               "F or CTRL\n"
  1074. X               "Space|META_R\n"
  1075. X               "SHIFT\n"
  1076. X               "Return\n"
  1077. X               "\n"
  1078. X               "HOME\n"
  1079. X               "SELECT|Up|Down\n"
  1080. X               "NEXT\n"
  1081. X               "PREV\n"
  1082. X               "'*'\'/'\n"
  1083. X               "'+'\'-'\n"
  1084. X               "Q\n"
  1085. X               "\\\n"
  1086. X               "BackSpace\n"
  1087. X               "I\n",
  1088. X               pl->colors[WHITE].pixel,pl->colors[BLACK].pixel);
  1089. X    DrawShadowText(ind, pl->disp, pl->help_w, pl->gctxt, 180, 7,
  1090. X               "\n\n"
  1091. X               "Rotate left.\n"
  1092. X               "Rotate right.\n"
  1093. X               "Refueling.\n"
  1094. X               "Shield.\n"
  1095. X               "Thrust.\n"
  1096. X               "Fire.\n"
  1097. X               "\n"
  1098. X               "Change home base, if on new base.\n"
  1099. X               "Lock on nearest player, if in range.\n"
  1100. X               "Lock on next player.\n"
  1101. X               "Lock on previous player.\n"
  1102. X               "Increase/decrease engine power.\n"
  1103. X               "Increase/decrease rotation speed.\n"
  1104. X               "Self destruct.\n"
  1105. X               "Fire smart missile.\n"
  1106. X               "Turn on/off cloak.\n"
  1107. X               "Toggle id mode.\n",
  1108. X               pl->colors[WHITE].pixel,pl->colors[BLACK].pixel);
  1109. X    break;
  1110. X
  1111. X    case 1:
  1112. X    DrawShadowText(ind, pl->disp, pl->help_w, pl->gctxt,20,7,
  1113. X           "GAME OBJECTIVE:\n"
  1114. X           "\n"
  1115. X           "The primary goal of the game is to collect points by\n"
  1116. X           "destroying friends and cannons with your guns.\n"
  1117. X           "\n"
  1118. X           "Another important task is to refuel your ship.    This is\n"
  1119. X           "vital because your engine, radar, guns and shields all\n"
  1120. X           "require fuel.  Some even work better the more fuel you\n"
  1121. X           "have aboard (mainly the radar).\n"
  1122. X           "\n"
  1123. X           "Scattered around the world you will find some stationary\n"
  1124. X           "objects resembling red triangles.  These are bonus items\n"
  1125. X           "that may help you in a multitude of ways; first, the most\n"
  1126. X           "normal item, is the fuel-packs labeled F, then there are\n"
  1127. X           "smart missiles labeled S, wide angle shots labeled W, and\n"
  1128. X           "lastly you may by lucky enough to find a cloaking device\n"
  1129. X           "labeled, you guessed it, C.\n"
  1130. X           "\n",
  1131. X           pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
  1132. X    break;
  1133. X    case HELP_PAGES:
  1134. X    default:
  1135. X    break;
  1136. X    }
  1137. X}
  1138. X
  1139. X
  1140. Xvoid Expose_button_window(int ind, int color, Window w)
  1141. X{
  1142. X    player *pl = Players[ind];
  1143. X
  1144. X
  1145. X    if (BIT(pl->disp_type, DT_HAVE_COLOR)) {
  1146. X    XSetForeground(pl->disp, pl->gcb, pl->colors[color].pixel);
  1147. X    XFillRectangle(pl->disp, w, pl->gcb, 0, 0, 256, 22);
  1148. X    XSetForeground(pl->disp, pl->gcb, pl->colors[WHITE].pixel);
  1149. X    } else
  1150. X    XClearWindow(pl->disp, w);
  1151. X
  1152. X    if (w == pl->quit_b)
  1153. X    ShadowDrawString(ind, pl->disp, w, pl->gcb, 24, 16, "QUIT", 
  1154. X             pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
  1155. X    if (w == pl->info_b)
  1156. X    ShadowDrawString(ind, pl->disp, w, pl->gcb, 24, 16, "INFO", 
  1157. X             pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
  1158. X    if (w == pl->help_b)
  1159. X    ShadowDrawString(ind, pl->disp, w, pl->gcb, 24, 16, "HELP", 
  1160. X             pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
  1161. X    if (w == pl->info_close_b)
  1162. X    ShadowDrawString(ind, pl->disp, w, pl->gcb, 20, 16, "CLOSE", 
  1163. X             pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
  1164. X    if (w == pl->help_close_b)
  1165. X    ShadowDrawString(ind, pl->disp, w, pl->gcb, 20, 16, "CLOSE", 
  1166. X             pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
  1167. X    if (w == pl->help_next_b)
  1168. X    ShadowDrawString(ind, pl->disp, w, pl->gcb, 24, 16, "NEXT", 
  1169. X             pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
  1170. X    if (w == pl->help_prev_b)
  1171. X    ShadowDrawString(ind, pl->disp, w, pl->gcb, 22, 16, "PREV",
  1172. X             pl->colors[WHITE].pixel, pl->colors[BLACK].pixel);
  1173. X}
  1174. X
  1175. X
  1176. Xvoid Info(int ind, Window w)
  1177. X{
  1178. X    player *pl = Players[ind];
  1179. X
  1180. X    
  1181. X    if (pl->info_press && w != pl->info_close_b)
  1182. X    return;
  1183. X    else if (w == pl->info_b) {
  1184. X    if (pl->help_press = true)
  1185. X        Help(ind, pl->help_close_b);
  1186. X
  1187. X    pl->info_press = true;
  1188. X
  1189. X    XMapWindow(pl->disp, pl->info_w);
  1190. X    XMapSubwindows(pl->disp, pl->info_w);
  1191. X    } else {
  1192. X    pl->info_press = false;
  1193. X    Expose_button_window(ind, RED, pl->info_b);
  1194. X    XUnmapSubwindows(pl->disp, pl->info_w);
  1195. X    XUnmapWindow(pl->disp, pl->info_w);
  1196. X    }
  1197. X}
  1198. X
  1199. X
  1200. Xvoid Help(int ind, Window w)
  1201. X{
  1202. X    player *pl = Players[ind];
  1203. X
  1204. X    
  1205. X    if (pl->help_press && w == pl->help_b) 
  1206. X    return;
  1207. X    else if (w == pl->help_b) {
  1208. X    if (pl->info_press = true)
  1209. X        Info(ind, pl->info_close_b);
  1210. X
  1211. X    pl->help_press = true;
  1212. X
  1213. X    XMapWindow(pl->disp,pl->help_w);
  1214. X    XMapSubwindows(pl->disp, pl->help_w);
  1215. X    } else if (w == pl->help_close_b) {
  1216. X    pl->help_press = false;
  1217. X    pl->help_page = 0;
  1218. X    Expose_button_window(ind, RED, pl->help_b);
  1219. X    XUnmapSubwindows(pl->disp, pl->help_w);
  1220. X    XUnmapWindow(pl->disp,pl->help_w);
  1221. X    } else if (w == pl->help_next_b) {
  1222. X    Expose_button_window(ind, RED, pl->help_next_b);
  1223. X    pl->help_page++;
  1224. X    if (pl->help_page == HELP_PAGES)
  1225. X        pl->help_page = 0;
  1226. X    Expose_help_window(ind);
  1227. X    } else if (w == pl->help_prev_b) {
  1228. X    Expose_button_window(ind, RED, pl->help_prev_b);
  1229. X    pl->help_page--;
  1230. X    if (pl->help_page == -1)
  1231. X        pl->help_page = HELP_PAGES-1;
  1232. X    Expose_help_window(ind);
  1233. X    }
  1234. X}
  1235. X
  1236. X
  1237. X/*
  1238. X * Cleanup player structure, close the display etc.
  1239. X */
  1240. Xvoid Quit(int ind)
  1241. X{
  1242. X    player *pl = Players[ind];
  1243. X
  1244. X
  1245. X    sprintf(msg, "%s left the game.", Players[ind]->name);
  1246. X    Set_message(msg);
  1247. X
  1248. X    if (pl->disp_type != DT_NONE) {
  1249. X    Expose_button_window(ind, RED, Players[ind]->quit_b);
  1250. X
  1251. X    XAutoRepeatOn(pl->disp);
  1252. X
  1253. X    end_dbuff(ind, pl->dbuf_state);        /* Clean up... */
  1254. X    if (pl->colormap)
  1255. X        XFreeColormap(pl->disp, pl->colormap);
  1256. X    XCloseDisplay(pl->disp);
  1257. X    }
  1258. X
  1259. X    Delete_player(ind);
  1260. X    Set_label_strings();
  1261. X}
  1262. X
  1263. X
  1264. X
  1265. X/*
  1266. X * This is quite rude, but it keeps the whole game from going down because
  1267. X * of just one user.
  1268. X */
  1269. Xint FatalError(Display *disp)
  1270. X{
  1271. X    int i;
  1272. X
  1273. X
  1274. X    for (i=0; i<NumPlayers; i++)
  1275. X    if (Players[i]->disp == disp)
  1276. X        break;
  1277. X
  1278. X    if (i<NumPlayers) {        /* Found the display. */
  1279. X    printf("Player %s@%s did a nasty quit.\n",
  1280. X           Players[i]->name, DisplayString(Players[i]->disp));
  1281. X
  1282. X    Quit(i);
  1283. X    /*
  1284. X     * We got through Quit(), therefore there are some more players, just
  1285. X     * longjmp() back and continue... :)
  1286. X     */
  1287. X    longjmp(SavedEnv, 1);
  1288. X
  1289. X    } else {
  1290. X    error("Fatal I/O error, but couldn't determine which player caused it");
  1291. X    }
  1292. X    return (0);
  1293. X}
  1294. X
  1295. X
  1296. X
  1297. Xvoid Set_labels(void)
  1298. X{
  1299. X    int register i, ind;
  1300. X    player *pl;
  1301. X
  1302. X
  1303. X    for(ind=0; ind<NumPlayers; ind++) {
  1304. X    pl = Players[ind];
  1305. X
  1306. X    if (pl->disp_type == DT_NONE)
  1307. X        continue;
  1308. X
  1309. X/*    if (BIT(pl->disp_type, DT_PLANES))
  1310. X        XSetPlaneMask(pl->disp, pl->gc, pl->dbuf_state->drawing_planes);
  1311. X*/
  1312. X    XClearWindow(pl->disp, pl->players);
  1313. X/*    XSetForeground(pl->disp, pl->gcp, pl->colors[BLUE].pixel);
  1314. X    XFillRectangle(pl->disp, pl->players, pl->gcp, 0, 0, 256, 490);
  1315. X    XSetForeground(pl->disp, pl->gcp, pl->colors[WHITE].pixel);    */
  1316. X    
  1317. X    for(i=0; i<NumPlayers; i++)
  1318. X        ShadowDrawString(ind, pl->disp, pl->players, pl->gcp, 1, 20+(20*i),
  1319. X                 Players[i]->lblstr, pl->colors[WHITE].pixel,
  1320. X                 pl->colors[BLACK].pixel);
  1321. X    }
  1322. X}
  1323. END_OF_FILE
  1324. echo shar: 2 control characters may be missing from \"'src/xinit.c'\"
  1325. if test 22081 -ne `wc -c <'src/xinit.c'`; then
  1326.     echo shar: \"'src/xinit.c'\" unpacked with wrong size!
  1327. fi
  1328. # end of 'src/xinit.c'
  1329. fi
  1330. echo shar: End of archive 18 \(of 24\).
  1331. cp /dev/null ark18isdone
  1332. MISSING=""
  1333. 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
  1334.     if test ! -f ark${I}isdone ; then
  1335.     MISSING="${MISSING} ${I}"
  1336.     fi
  1337. done
  1338. if test "${MISSING}" = "" ; then
  1339.     echo You have unpacked all 24 archives.
  1340.     echo "\nNow run 'bldmaps.sh' to build the map files"
  1341.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1342. else
  1343.     echo You still need to unpack the following archives:
  1344.     echo "        " ${MISSING}
  1345. fi
  1346. ##  End of shell archive.
  1347. exit 0
  1348.