home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / x / volume20 / xboing / part15 < prev    next >
Encoding:
Text File  |  1993-09-03  |  54.1 KB  |  1,137 lines

  1. Newsgroups: comp.sources.x
  2. From: jck@kimba.catt.citri.edu.au (Justin Kibell)
  3. Subject: v20i122:  xboing - a simple blockout type game, Part15/26
  4. Message-ID: <1993Sep3.123408.7915@sparky.sterling.com>
  5. X-Md4-Signature: 201c1518f2e3a8cbf3ee651a3afed203
  6. Sender: chris@sparky.sterling.com (Chris Olson)
  7. Organization: Sterling Software
  8. Date: Fri, 3 Sep 1993 12:34:08 GMT
  9. Approved: chris@sterling.com
  10.  
  11. Submitted-by: jck@kimba.catt.citri.edu.au (Justin Kibell)
  12. Posting-number: Volume 20, Issue 122
  13. Archive-name: xboing/part15
  14. Environment: X11, xpm, color
  15.  
  16. #! /bin/sh
  17. # This is a shell archive.  Remove anything before this line, then feed it
  18. # into a shell via "sh file" or similar.  To overwrite existing files,
  19. # type "sh file -c".
  20. # Contents:  bitmaps/background7.xpm bitmaps/highscores.xpm intro.c
  21. #   special.c
  22. # Wrapped by chris@sparky on Fri Sep  3 07:14:47 1993
  23. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
  24. echo If this archive is complete, you will see the following message:
  25. echo '          "shar: End of archive 15 (of 26)."'
  26. if test -f 'bitmaps/background7.xpm' -a "${1}" != "-c" ; then 
  27.   echo shar: Will not clobber existing file \"'bitmaps/background7.xpm'\"
  28. else
  29.   echo shar: Extracting \"'bitmaps/background7.xpm'\" \(17072 characters\)
  30.   sed "s/^X//" >'bitmaps/background7.xpm' <<'END_OF_FILE'
  31. X/* XPM */
  32. Xstatic char *background7_xpm[] = {
  33. X/* width height ncolors chars_per_pixel */
  34. X"128 128 3 1",
  35. X/* colors */
  36. X"` c #C0C0C0",
  37. X"a c #808080",
  38. X"b c #FFFFFF",
  39. X/* pixels */
  40. X"b`abb`ab`ab`ab`aa`abb`a`ba``bbbbbba`bbaa`b`ba```ba`````bab`a`b`ab`aa``baaab`ab```````ba`ba``ba`a``bbbbb```ba``baaa`b`a`ba``b`aa`",
  41. X"`a`baab`b`ba`ba```b`ab`b`a``baaaaaab`ba`b`aba``b`a``bbbbb`a``ba``a``bb`ab`ba`ba```b`bba`ba`b`a```bbaaaab`b`a`b`bb``ba```bbbbb``b",
  42. X"a``bab`a`bba`ba```ba``b`a```ba`````baba`ba`ba```b``b`aaaab```ba``bbb`aab`b`bb`bb`b`b`aa`babba`bbb`ba``b`aba``ba`abb`b````abaabb`",
  43. X"``b`aba`b`babbb```ba``ba```b`bb```bbb`a`ba``bb``ba`ba````bb``ba``baaa`b`b`a`ab`abba`a```bb`aa`baaaba`b`a`ba`b`a``baaba````babbaa",
  44. X"`b`a`ba`bbba`aab`b`a``bbbbb`a`abbbbaaa`b`a```ba`ba`ba````bab`ba``ba``b`aba``b`ab`ab````b`aa```ba``ba`ba```bb`a```ba`ba`````b`ab`",
  45. X"b`a```bb`aba``bbbba``b`babaa```babab```ba```b`a`ba`babbbb`a`bba``babb`a`ba``ba`ba``bbbb`b```bb`a``ba`ba````bb````ba``b``````ab`a",
  46. X"ba`````ba`ba```aaaa`b`abb`a```b`a`b`bbbbbbbbba``babbabaaabbb`aa``bb`aa``bb``bbb`a``baaba`bbb`aa```ba`ba```b`abb`b`a`b`bbbbbbb`a`",
  47. X"ba````bbab`b``b````b`ab`ab````ba``ba`abaaaaabbb`bb`aaba```aba````babbb``babb`aab````b`ba`baba`bb``ba`babbbba``ab`a`b`b`aaaaaab``",
  48. X"`a`bbb`aababa``abbb`abba``b```ba``ba`b`a```b`bba`aabb`a`bb``bb``b`a`aabb`a`aa`b`a``b`abab`abab`abbba`bb`aaaa`bbba``bbba````bbbab",
  49. X"a`b`aaa``baba```baaab`aa``bbbb`a``ba`ba``bb`b`aa`bb`aa`b`ab``abb`a````baab````ba`bb`a`baba`bb`a``aaab`ba````b`aba`bbaaa```b`aab`",
  50. X"`b`a```bbbb`a``b`a``ba````baaaa```bab`a``baaba```baa```ba`ba`b`ab````b`a`bbbbb`ab`aa``bb`a`bba`````b`aba````bab`bb`ba```bbba```a",
  51. X"`ba``bb`baaa``b`a```ba``bbba`````b`aba``b`a`ba```ba````ba`bb`ba`ba```ba`b`aabba`ba`````aa`b`ba``bbb`ab`a`bbb`b`b`aaba``b`bab````",
  52. X"`ba``babba``bb`a````ba``baabbbbbb`a``bbbbb```b``b`a```b`a`bab`a`ba```ba`ba`b`abbba``bbb``b`bba``baaab`a``baab`b`a```b`b`b`aba```",
  53. X"bba``bb`aa``baa`````ba``ba``ababaa````abaab``bab`a`bbbba`bba`a``ba``b`a`bbb`a`baaabb`abbb`b`ba``ba``ba```ba``b`a```bbababa``b`b`",
  54. X"`aa``bab````ba``bbbbba``ba``b`aba```````b``bbbaba`b`aaabbbaa```b`a``ba``baaa```a`b`aab`ababa`a`b`a``ba`bb`a``ba`bbb`aabbba``bb`b",
  55. X"a```b`a`b```ba`b`aaaaa``ba`bba``b```````ba`baaabab`a``b`baa``bb`a`bb`a`b`b````b`b`a``ba`bb`a``b`a```ba`baa``b`bb`aaa```aaa`b`ba`",
  56. X"`bbb`a```b``bab`a``````b`ab`aa``ba``bbbb`a``a``bbba``b`aba```baa`b`aa``ba`bbbb`b`a```ba``bbbbb`a````ba`ba``b`a`aa`````b`bbb`aba`",
  57. X"b`aba````ba``b`a``````b`ab`a```b`a`b`aaaa``b```baaa`b`ab`a``b`a`bba``bb`a``abab`a````ba``baaaaabbbbb`a`ba```b```bb```b`b`aaa`bab",
  58. X"aab`b````ba``bbbbbbbbb`a``bb``b`a`b`a`````b`bbbba```ba`ba``b`a`b`bbbb`aa```b`a`b`bb``babbba```b`aaaaa``ba``b`a`b`abbb`a`a````bab",
  59. X"bb`a`bb`bba``baaabaabaa````ab`ba``ba`````b`a`aabb`bb`ab`a`b`a`b`abaaabb````ba```b`ab``bbaab````b```````bbbbba``ba``aaa`bbbb``ba`",
  60. X"`aa``bab`aa``ba``ba``b`````b`aba`bba```bb`a```b`ab`aab`a``ba``ba``b`b`abb``ba```bbb`a``ba`bb```ba`bbbbbbaaaaa``ba`````b`aaabb`a`",
  61. X"````bba`a```b`a`b`a`b`a`````b``bb`aa`bb`aabb``ba`ba``ba``b`a``ba``bb`a``abbba```baaa```ba``abbb`a`baaabaa`````b`a````b`a```baa``",
  62. X"bb`b`ba````b`a`b`a``ba``````ba``aa```baa`b`abb`a`ba`b`a`b`a```ba``bba`````aaa```ba`````ba``b`aaa`b`a`b`abb```b`a`bbbbba```bba``b",
  63. X"aab`a`b``bb`a``ba``b`a`````b`a``bbbbb`a`b`a`babbb`ab`a``ba````babb`ab`````````bb`a````b`a```a````ba```bb`babb`a`b`aaaaa`bb`ab``b",
  64. X"a``a`b`a`baa```babb`a`````b`a``b`aaaabbbba`b`a`bab`ba```ba`````b`aab`abbb`bbbbbaa````b`a``bb````b`a````ab`abaa``ba``````baa`ba`b",
  65. X"a```bba``ba````ba`ba````bb`a``b`a```b`aaaa`ba```b`a`b``b`a`````bbbb`a`baab`abaab``````b```babbbb`bbbbbb`ba``b````b```bbbbabb`a`b",
  66. X"a`bb`aa``ba````bab`a``bb`aa```ba````ba````b`a````a``ba`ba`bbb`b`aaaa`b`a``a``bb`a`bb``ba``ba`aaabbaaaaab`a``ba``b`abb`abab`aa`b`",
  67. X"`b`aa````ba```b`ababbb`ba````b`a`b``ba````ba`bbbb```bab`ab`aabba`b``b`a``bb`b`aa`b`abbba``ba````baa`````a``b`a`bba`baab`a`a`bb`a",
  68. X"``b``bbbb`bbbb`a`bb`aaaba`bbb`a`b`bbba``bb`bb`aaabbb`aba`ba`b`abb`bb`a``b`ab`b```ba``aaa``ba```b`a```````bb`a`b`aa`ba`ba``bb`aa`",
  69. X"``ba`baaab`aaaa``baa``b`bbbaab`b`a`aabbbbab`aa``bbaaa`bab`a`ba``aa`abb`bba`bb`a``ba``````b`a````b```bbbbb`ab``ba```ba``b``baa```",
  70. X"`b`a`ba`b`a`````bba``b`a`aba`ba`b````babaabbb``b`ba```bbba``bbb````b`ab`aa`baab`bba``bbbb`a````b`a``baaaaab`b``b``b`a```bbba````",
  71. X"b`a`b`bb`a`bbbbb`ab``ba```ba``b``bbbb`abab`aabb`aba``bbaaa``baab```ba``a```bab`b`abbbbbaaa``bbb`a```ba`````b`a`bab`a````baab``bb",
  72. X"aa`b`b`aa``baaaaab`ab`a```ba`b`b``aaaa`baba``babb`a``bba````bbb`abb`a`````b`b`a`a`bbaaab```b`aaa`bbb`a``````a`b`a`b`````ba`bab`a",
  73. X"``b`a`b```b`b````ba``bbbbbbab`b`b```````b`a``ba`aa```babbbbb`aaab`aa````bb`a`b```bbaa``ba``ba``bb`aabb````bbb`ba``ba`b`bba`baba`",
  74. X"`b`a``babb`b`b`bb`a``baaaaaabb`a`b`````bba```ba`````b`a`babaa```ba````bb`aa`b`bbb`ba``b`a```bbb`aa`b`ab``b`aabba``bab`b`aa`ba`b`",
  75. X"`ba````b`ab`abb`aa``bba````b`ba``ba```b`ab``bba``bbb`a`b`aba````ba```b`aa```ba`bab`a`b`a`````aaa```ba`ba`ba``babbb`bba`a```ba`ba",
  76. X"`ba```bbb`ba`bab``bb`ba````bb`a`b`a``b`a``bb`aabb`aba``ba`ba```b`a``b`a`````ba`ba`b`b`a``````bb````ba`ba`ba`b`a`baabba``bbbbbb`a",
  77. X"b`a``b`aab`ab`a`bb`aa`bbbbbbaa``ba```ba````aa``baab`bbb`a`ba``bba```ba``````ba`bab`aba``````b`abb`b`a`bbb`ab`a``ba``bbbb`abaaaa`",
  78. X"`abbbba```a`babb`aa``b`abaaabbbb`a```ba```````b`ab`abaaabb`abb`aa```ba```b`b`a`baba`ba```bbbba``abba``baaa`ba```ba``baaaabba`bbb",
  79. X"bb`aaaa````b`b`ab````ba`ba```aaaabbbbba``bbb``bbb`a`babb`aab`abbbbbbba`bb`b`a`b`aba`babbb`aaaa``b`ba``ba```babb`ba`b`a``b`aa`baa",
  80. X"`aa`bb`bbbbbb`a`ba```ba``b``````b`aaaaa`b`ababbaaa``bb`aa``bab`aaabaabb`aa`a``ba``b``b`aaa`````b`a`bb``bbbb`b`abba`ba```ba```bab",
  81. X"a``b`ab`abaaabbb`a``b`a``ba`````ba`````b`ab`a`ba````baa``bbbb`a```ba``bbb````b`a``ba``a```````b`a```ba`babab`a``aa`ba``b`a``b`ab",
  82. X"a`b`a``ab`abb`aaa```ba``b`a`````ba`````ba`ba```bbbbbba``b`aaab````ba``bababbb`a```ba``b````bbb`a````bab`b`b`b``````ba``ba``b`a`b",
  83. X"bb`b`bbbba``ba`````bba``ba``````babbb`b`a`ba``b`aabbab`b`a```bbbbb`a`b`aba`baa`bbb`bbbbbbbb`aaa``````b`aba`b`bb````babb`abb`b```",
  84. X"baabb`aaaa``ba````b`aa`b`a```````b`baa`b`b`a`b`a`b`aaba`bb```baaaaa``bbb`a`ba`b`aab`abaabaaa`````bbbb`ab`a`ba`abbbb`b`aa`bab`b``",
  85. X"`ab`ba```bbbbab``b`a`bb`ab````````aba``bb`a`b`a``ba``ba`baabbba``bbbbbaaa``ba``b`b`bb`a`bab`````b`aaabbba``ba```baaaba`bb`ababbb",
  86. X"a`baba`bb`baab`bb`a`b`aab`b```````bba``bbabb`a```ba``ba`ba`bababb`aaaabb`bb`a``ba`b`aa`b`b`b```b`a````aaa`b`a``b`bb``b`baa``bbaa",
  87. X"`b`aba`baaba`bbbaa`b`a`b`a`b`````b`aa``bab`aa```b`a``ba`ba`ba`bbaa`````ab`ab`b`ba``a``b`bbaba``ba`````````ba````bbabb`aba````ba`",
  88. X"b`a`ba`bab`ab`aba`b`a``ba``babbb`ba````ba`a````b`a```ba`ba`bab`ab````bbbba`bb`bba`b```bb`aaba``ba``bbbbbbb`a````baa`aa`ba````ba`",
  89. X"ba```bb`b`a`ba`ba`ba```ba```b`aab`b``bb`a``````ba``bb`a`ba``b`a`bb``b`aaaa`bba`abbbabbbaa``ba```bb``baaabab``b`b`a`b``b`a```b`a`",
  90. X"ba````ab`a`b`a``b``bb``ba```ba``bbba`baa````bbbba``baa``ba```a``babbba````b`ba``bbaababa`bb`b```baa`ba``ba`bb`bba``bbb`b````ba``",
  91. X"`a`````ba`b`a```ba`babb`a``b`bbbbaaab`ab```b`aaaa`b`a```ba``bbbb`a`aaa```b`b`abb`ba``b`bb`ab`bbb`a`b`a`b`a`baa`aa`b`aab`bb``ba`b",
  92. X"a``````ba`ba``bb`a`ba`aa``b`abbbba`b`ab`b`b`a```bb`a```b`a`b`abbbbb````b`baba`bab`a`b`a`aa``bbaaa`b`b`b`a``ba````b`a```b`abbba`b",
  93. X"a`bbbbb`ab`a`b`aa``ba````b`ab`aabbb`a``bbbba```b`aa````ba`b`ab`abbaa``b`b`b`a``bba``ba`bb````ba``b`b`bba```bb````ba````ba`baaa`b",
  94. X"bb`aaaaa`ba`b`a````bbb``b`abba``baaa```baaaa```ba``````bbb`a`ba``ba``b`a`b`a````aa`bbab`ab```ba`b`bbb`abb`b`abbbb`a`bbb`a`ba``b`",
  95. X"`aa``````bab`a```bb`aabb`bb`aa``ba````bba`````b`a````bb`aba``ba```a`b`a``ba```bb```babba`bbbb`a`bb`aba``baba`baaba`b`aaa``bbbb`b",
  96. X"a``````bb`a`b``bb`aa```ab`ab```bba`bbb`aa````b`a``b`b`aa`ba``ba``bbb`a```ba`bb`bbbb`b`ba``aaaa``baa`ba```bba`ba``b`ba````b`aaaab",
  97. X"a``bbbb`aabbbb`baabb```b`ab`bbbbabb`aaa```bbb`a``b`b`a```bbb``bbbbaba````ba`bab`baaa`a`b```````b`bbb`a``b`abbba``ba`b```b`a```b`",
  98. X"``b`aaaa`b`aaaabab`ab``ba`ba`abaabab`````b`aaa`bb`a`a```bbaab`baaaa`b````ba`ba`b`a```bbba`b``bb`abbaa```ba``aaa`b`a`ba`b`a````ba",
  99. X"``ba````b`a``bb`a`bb`bb`a`ba``ba`baba````ba```b`ab`````b`ab``bba````ba``bbab`abba```b`abbbbab`aab`ab```b`a``````ba`bbab`a````b`a",
  100. X"``ba````babbb`aa``baa`aa``ba``bbbbaba`bbb`a```bab`bbbbb`a`bab`aa`b`b`abb`ab`ab`ab``b`a``bababa`b`a`ba``ba`bb``bb`ab`aaba`bbbb`a`",
  101. X"`b`a```b`abaabbbbb`a``````babb`aaabba`baaa`b```b`a`baaaa``ba`a``bbabab`aa`bab`a`bbb`a``b`bba`b`ba``ba`bbbb`bab`aa`ba`b`ab`aaaa``",
  102. X"b`a````ba`bab`aaaaa``bbbbb`b`aa```baa`ba``b`b```a`b`b````b`a```bbaababa```baba``baaa``bbb`aab`aba``bab`aabb`a`b```ba`bab`a``````",
  103. X"`a`````ba``b`a```````baaaaaba``````a``ba`b`aba```b`aba`bb`a`bbbbaa`bb`abbbbb`a```a`bbbbaaa``ba`ba``baba``bba``ba```b`baba`````bb",
  104. X"a``b```ba```a``b````b`a`````b```bb```b`abba`ba```ba`bab`aa`b`baaabbbaa`babaaa``bb`b`abaa```b`a``b``baba```aa`b`a``b`a`bba``bbb`a",
  105. X"``b`bbbba````bb`b`bb`abbbbb`ba`b`abbb`ab`aa`bab``ba`bbba``b`aba``baabbb`abbbbbbbbb`abba``bb`a```bb`baba`````b`a```ba``babb`baaa`",
  106. X"``ba`aaaa``bb`aaba`bab`aaaabba`bb``aaa`ba```bb`bbba``aba``babba``ba``aaab`baaabaabab`aa`b`abb``b`aabb`a`bbbb`a````ba`b`a`ba`b```",
  107. X"``ba````bbbbaabb`a`baba```b`abbbab`````ba``b`ba`aaa``bba`b`b`aa``ba`````baba`bba`ba`b```bab`abbba``bba``baaaa`bbbb`a`ba`b`a`ba``",
  108. X"`bba``bb`ababb`aa``ba`bbbb`a``baaba````ba``ba`b`````b`abb`b`a```bba`````ba`bb`aa`ba``bb`bb`a``aaa```aabb`bbb`b`aaaa``ba``bb``b``",
  109. X"b`bbbb`aab`abaa```b`a`babaa```ba`ba````ba``ba``bb```ba``ab`abbbbbab`````ba``aa```ba```abbaa```````b```bab`aab`a`````b`a```ba`ba`",
  110. X"`a`babbbbba``bb``b`a``baba````ba``bbb```b``ba``baa`b`b```bbb`baaab`ab``b`a`b````b`a```b`abbbbbbbbb`bbb`bba```a```bbb`a````ba`bab",
  111. X"a`bbb`aaaba`b`abb`a```ba`b`bbbba``baab``ba``b`bba``bb`b`b`aabba``bab`b`ba``bb```ba````ba`baaabaaaaa`aab`aa``b`bbb`aaa`````ba`bab",
  112. X"a``aaa`bbbab`a``aa````ba``b`aaaa``bbb`bbba``bb`aa`b`ab`aba```ba`b`bbb`bba`b`abbb`a````ba`ba`b`b```````ba```b`b`abbb```bbbbba`bab",
  113. X"a`````b`aab`a```bb`b``ba```a````bb`aba`aaa``baa``b`a`bbb`b````ab`b`abb`aa`bab`baa``bbb`a`ba``b`abb`````bbb`ba`ab`aab`b`aaaaa`bb`",
  114. X"`bbb``ba```abb`b`ab`bb`a`bbb`bbb`abbba`````b`bbbb`a`b`aabba``bb`aba`bab``b`b`aba``b`aaa``ba``bbb`ab`````aba`b``ba``baba`````b`ba",
  115. X"b`abab`a```b`ab`a`babaa``baab`aaab`aaa`bbbb`a`aaaa```b``baa`b`aabbab`aba`baba`ba`b`a````b`a`b`aba`ba`````ba`ba`ba``ba`b````b`a`b",
  116. X"aab`aba````ba``a``bb`b``b`a``a```ba``bb`aaaa`````````ba``a`b`a`b`aaba``bbbbba`bab`a```bb`a`bba``a``b``bbbbab`abba`b`ab`abbb`a```",
  117. X"``ba``b```b`a````b`aababba`bbb```ba``bba``````bbbbb`b`a```b`a``ba`b`a``baaaaa`baba``bb`aabb`aa````b`ab`aaab`ab`aa`ba`bab`aaa````",
  118. X"``ba``ba``ba`````ba`bba`abb`aabbbba`bbab`````b`aaaabba``bb`abbb`a`ba````b`````baba``baa`b`aa``bb``bab`a`bb`a`ba``b`bbbaba``bb```",
  119. X"bbba``ba```b``bbb`ab`aa```aa```aaaa`baaba````bab``b`ba``baab`aaa``ba```b`a`b`b`a`b``ba`b`a`bbb`abb`aba``baa```b``bb`aab`a`b`ab`b",
  120. X"aaaa``ba``b`a`baaab`a``bb```````````ba`babb```bba`bbba``ba`ba`bb`b`bbbb`a`b`b`abbba`bab`a``baaa`bba`ba``ba```b`a`baa`b`a``ba`bb`",
  121. X"`````b`a`b`a`b`a`b`bbbb`ab``bb```bbbba`bb`ab```ba`baaa``ba``bb`ab`b`aaaa`b`abbb`aabb`aba``b`a``b`abbba``ba``b`a``bbbb`a```ba``bb",
  122. X"bb`bb`a``ba`b`a`b`abaaaa`bab`abbb`abaab`ba`ba``ba``a```b`a```bb``aba````b`ab`aba``baab`abb`a```ba``aaa``ba`b`a`bb`bbba```bba`b`a",
  123. X"`ba`ba````bb`a``ba`ba```b`abab`bbb`ba`ba`bb`a``ba`````b`a```b`abbb`a`bbb`a`ba`bbbb`a``b``ba````ba``````b`ab`a``bab`aabbbb`aa`ba`",
  124. X"b`a`ba`````bbb``ba`ba```ba`ba`b`aabbab`ab`bb```ba`````ba````ba``aaa``baaa`b`a`baaaa```ba`ba`bb`ba```bbb`a``b``b`a`b```aaaa``b`ab",
  125. X"aa`b`a```bb`aabbba`ba`bbba``bb`a`b`ab`abba`abbbba``bbb`a`bb`ba```````ba``b`a`b`a`````b`ab`ab`abba``b`aab`bbba`babb`a``b``bbb`ab`",
  126. X"``b`a```b`aa```aaa`bbb`aba``baa`b`a``ab`aa```aaaa`b`aaa`b`ab`bbbb``bb`a``ba`b`ab`````ba`babba`babb`ba`b`b`aaa`bb`aa```bbb`aaab`a",
  127. X"``ba```b`a`````````baaa`bbbb`a``ba```b`a`````````b`a```b`a`ba`abaa`baa````bbbab`b````ba`bb`aab`b`aabab`a`a````bba`````baaa```ba`",
  128. X"`b`a```ba```bbbbbbb`a```babaa`bb`a```ba````bb```b`a```b`a``ba``ba``babb```baabba`b````b``ba```bba``bbba`````bb`ba```bb`a`````ba`",
  129. X"`ba````ba``b`aaaababb``bbbbabb`abbbbb`a``bb`abbb`a````ba`bb`a``ba`b`b`abbbba``aa`ba```ba``a``b`ba``baaa``bbb`ab`a`bb`aa``````ba`",
  130. X"`ba```bba``ba```b`b`abbbaaab`aab`aaaaa```baa`baab````bba``babbb`a`bbba``aaaa`b``b`bbbb`a`bbbb`b`abbba```b`aaabba``baa````bbbb`a`",
  131. X"b`a``b`aa``ba````bbbbbaaabb`a`b`a`````b``ba``ba`ba``b`aa`b`b`aaa``baaa``b```b`b`bb`aaaa``baaabbbb`baab`b`a``b`aa`b`a`bbbb`aaaa``",
  132. X"babbb`a```b`a````baaaba``baa```b```````a`ba`b`a`ba``ba```ba`b`````ba``bb`b`b`aba`aa`````b`a`b`ababba`bb`a``b`b```ba`b`aaaa``````",
  133. X"`b`aaa``bb`ab`bbbba`bba``ba```b`a``bbb```bbb`a``ba``ba``b`a``bb`bb`bbb`aabbbabba``bbbbb`babb`a`bb`ba`baa``b`b`b`bbab`a``b`bbb`bb",
  134. X"a`b````b`aab`b`aaabb`ab``babb`ba``b`abbbbbaaa```ba```b``ba````ab`ba`aaa`b`aab`aa``baaaba`b`aa```aa`bb`a`bbbb`a`b`ab`a``b`b`aab`b",
  135. X"a``b``b`a`b`a`a```baa`ba``b`ab`a``bab`aababb```b`a``b`a`ba````b`aba``````b```a````bab`ba`ba```b```b`aa`b`aaba``ba``a``b`a`a`b`ab",
  136. X"a``ba`ba``ba`````b`a``ba``ba``a``b`aba```b`abbb`a```ba``ba````ba`ba`````bba`b```bb`b`b`ab`b```babb`a```ba``ba```b``b``ba````ba`b",
  137. X"bbb`a`ba`b`a``b``ba```ba``bbbbb``babba`bb`a``aab``bb`a`b`a````ba`ba``bbb`aa`bbbb`aaba`ab`aba`b`b`aa````ba`b`b````b``bb`a````ba``",
  138. X"baaa`b`ab`a```bbb`abbbba`b`aaaabb`b`abb`aab```b`bb`aa`b`a````b`a`ba`b`abb```baaaa`b`a`b`ab`a`ba`a```bbb`a`bb`bbbbba``ba``bbbbb``",
  139. X"ba``b`ab`a```b`aaab`aaaa`ba```b`abbab`aa`b`b``ba`aa``b`a`b````bbb`a`ba`bba``ba```b`abb`ab`a``ba```bb`aaa`bbaa`aaaaa``ba`b`aaaaa`",
  140. X"babb`a`ba``bb`a``b`a````b`a```ba``bb`a```ba`bb`a```bb`a`b`b````aaa`b`ab`ab```b``b`a`baab`a```ba``b`aa``bb`ba````````b`ab`a``````",
  141. X"`b`aa```b``baa```ba``bbb`ab```ba``baa````ba`bba```b`aa`b`aba``````bba`ba`ba``bab`a`b`a`ba```b`a``ba```b`ab`abbbb````ba`ba`````bb",
  142. X"aba````b`ab`a`bbb`a`b`aabb`b`b`a``ba``b``ba`bab``b`abbb`a`ba`````b`aa`bab`a`b`a`bbb`a``ba``b`a`bb`a`bb`bbba``baabbbb`ab`a``bbb`a",
  143. X"b`b`bbbba`ba`b`aaa``ba`b`aa`b`a``b`a`b`bb`ab`abab`ab`aaa`b`a``bbbba```bb`a``ba``bbaa```ba``ba`b`aa``bab`aaa`b`a``aaabb`a``b`aaa`",
  144. X"`abb`aaaa`bbb`a``bbb`abba````a``b`abb`b`ba`babbaba``b```b`b``b`aaaa``bbaa``b`abb`ab````ba``ba`ba````ba`b````ba`````b`aa```ba```b",
  145. X"b``aa`````baaa``b`aaab`aa``````b`ab`ab`bba``b`aaba``ba``bb`b`ba`````b`abbbb`ab`aa`ba```ba`b`a`ba```b`a``b``b`a`````ba``bbb`a````",
  146. X"`b``b``````a```b`a``b`a```bbbbb`a`ba`bb`aa```a`b`b``ba``bab`aba``bbb`b``aaaa`ba``b`abbbba`ba```b`bb`a```ba`ba``````ba`b`aab``bb`",
  147. X"`ba``bbbbbbbb`b`a```ba```b`aaaabbb`a`bba````bbbbb`b`ba``bbba`babb`aab`b```````b`b`ab`aaaa`ba``b`a`ba````ba``b`````b`ab`abb`bb`ab",
  148. X"bba`b`aaaaaaabba````ba``b`a```b`aaa``babbbbb`abaaa`b`a``bbabb`abaa`b`aba`````bbabab`a`````ba``ba```b``bbba``ba``bb`a`bab`aabaa``",
  149. X"`aab`a``b````bab`b```b``ba```b`a`bbbb`b`abaab``b````a``b`abbaa`ba``ba`ba````b`aa`bba`bbb`b`b``ba`bb`ab`aaa`b`a`b`aa``ba`b```a```",
  150. X"``b`a``b`b``b`a`b`bbbba``b````b``baabbba`ba``b``bb````b`a``ba`b`a``ba``b```b`a``b`bab`ababb`bb`a`baab`a```b`a`b`a```b`bb`a``b```",
  151. X"`b`a```ba`b`ba```a`aaba``ba```ba`bab`aabbba`b`a``abbbb`a```babbabbbba``ba`b`a``b`abbbbb`a`ba`aa`b`ab`abbbb`a``ba`bbb`b`aa```bbbb",
  152. X"b`a````ba``bba``b`````a``ba```ba`bbba``baaa`ba`````aaaa````ba`ab`aaaa`b`bbba``bbab`aaaba``ba```b`abba`baaaa````b`baab`a````b`aaa",
  153. X"`b`````ba`b`abb``bb`````b`a```ba``aaa``ba``b`a`````````````ba```a`````bb`abbbb`abba``b`b``bbbbb`ab`aa`ba`bb`````b`ab`bbbbbb`a```",
  154. X"b`bbbbb`a`ba``ba`babbbbb`abbbbba``````b`bbb`a`bbb`````bb```ba``b`````b`bab`abaa`baa`b`aba``baaaab`a``b`ab`abbb```ab`a`babaab````",
  155. X"`a`aaaaa`b`abb`a`ba`aabbab`aaaab`bbbbb`a`aaa`b`aab```b`abbb`a``bbbbbb`a`b`abba``bbbb`bbba``ba`bb`a```ba`ba``aab```ba``ba`bb`a``b",
  156. X"a``b````b`ab`aa`b`a``b`ab`bb``b`bbbaaaa``bbbb`a`b`bbb`a``aaa``b`abaaba```ab`aa``baaab`aaa`b`ab`ab``bb`ab`a`````b``ba``bab`ab```b",
  157. X"a```bbbb`a`ba`bb`a````b``b`abb`bbaab````b`aaaa``bb`aaa``bb````ba`ba``b```b`a````babb`a```b`a`ba`bbb`aa`ba``b``b`bbba`b`b`a``b``b",
  158. X"a``b`aaaabbba`baa`````bab`ab`bb`aa`ba```ba`bb```baa````b`ab``b`ab`a`b`a```bbbbbb`b`aa``bb`a`b`a`baaa````b``bbb`b`abbb`b`a``b`bb`",
  159. X"```ba```b`aaa`bbbb`b`b`a`b`ba`aa``b`a``b`a`babb`bb````b`a`ba`ba`ba``ba```b`baaaab`a````baa``ba``ba``````ba`baaaba`baaaba`bb`b`aa",
  160. X"``b`a``bba````baaab`bba``bb`a`````bbbbbba`b`abaababbbbba`bba``b``b`b`a``b`b`a``b`abb``b`a````b``ba``````ba`ba``bab`a``ba``bb`a``",
  161. X"bb`a``b`aa`bbbba``ba`aa```aa``bbbbbaaaaaa`bbbbab`abbbaabb`babb`a`baba```baba```bab`abbba`````bab`ab`bbbb`a`ba``ba`b```ba``babb``",
  162. X"baa``b`a``b`aabbbb`b````b````b`aabbb``````baaaabab`aaa``bb`bbabbb`aba```ba`b`bb`aba`baab``````b`ab`b`aaaa``ba`b`a`bbbbba``babaa`",
  163. X"ba```ba``b`a`b`abaaba``b`b``b`a`b`aba````bba```baba``bbb`aabba`aaa`babbbba``b`aa`ba`ba`babbb```ab`a`a````bb`ab`a``baaaaa`b`bba``",
  164. X"ba````b``ba`bba`babba``ba`bb`a``ba``bbbbb`abb``bbba`b`aabbb`aa````b`b`aaaa```a```bab`a`bb`aab````b``bbbbb`aab`a``bba```bbbb`aa``",
  165. X"`a``b``b`bab`aa`bb`aa``ba`baa````b`b`aabab``ab``aabb`a`b`aaa```bbb`b`a`````b````b`aba``bba`b`a``b`ab`aaaaa`b`bbbbbab`bb`baaa```b",
  166. X"a`bb`b`ba`b`a```baa```b`ab`b`````babb``baba`b`a`bb`aa``ba`bbbbb`aaaba`````b`bbbb`a``bb``bbb`ab`b`a`ba`````b`abaabaabb`aaba````b`",
  167. X"`b`aaba`bb`b``bb`bb``b`ab`aba````ba`abb`a`bb`a``baa````ba`baaabb`bb`a`bbbb`bbaaaa````ba`baaab`b`a`b`a`````ba``bbba``ba`b`a``bb`a"
  168. X};
  169. END_OF_FILE
  170.   if test 17072 -ne `wc -c <'bitmaps/background7.xpm'`; then
  171.     echo shar: \"'bitmaps/background7.xpm'\" unpacked with wrong size!
  172.   fi
  173.   # end of 'bitmaps/background7.xpm'
  174. fi
  175. if test -f 'bitmaps/highscores.xpm' -a "${1}" != "-c" ; then 
  176.   echo shar: Will not clobber existing file \"'bitmaps/highscores.xpm'\"
  177. else
  178.   echo shar: Extracting \"'bitmaps/highscores.xpm'\" \(14350 characters\)
  179.   sed "s/^X//" >'bitmaps/highscores.xpm' <<'END_OF_FILE'
  180. X/* XPM */
  181. Xstatic char * highscores_xpm[] = {
  182. X/* width height ncolors chars_per_pixel */
  183. X"377 37 8 1",
  184. X/* colors */
  185. X"     s None    c None",
  186. X".    c #E8E8E8",
  187. X"X    c #BFBFD2",
  188. X"o    c #A4A490",
  189. X"O    c #A47B90",
  190. X"+    c #5E5E5E",
  191. X"@    c #7B90A4",
  192. X"#    c #4D4D4D",
  193. X/* pixels */
  194. X"                                                                   ..X...                                                                                              ..X...X..X                             ..X...                                  ..X...X                                                                                                      ..X...X..X            ",
  195. X".X...X..X.XX         ..X...X..X.X    ..X...X..X.X               .X.XoO+oo..X.               .X...X..X.XX         ..X...X..X.X                                      X.X.@OOoO+ooX...                        .X.XoO+oo..X.                           .X.XoO+oo..X.                .X...X..X....X...X..X.X              .X...X..X.X.......X...X..X...X            X.X.@OOoO+ooX...          ",
  196. X"XoOoOo+o@OoO         XoXOoXOO+oOO    XXXoX++O+OOO            X..ooXO+XO+@oXoO..X            XoOoOo+o@OoO         XoXOoXOO+oOO                                    X.OooooXO+XO+@oXoOX.                   X..ooXO+XO+@oXoO..X                     X..ooXO+XO+@oXoO..X             XooXX+oX#@o@oX+o@OO@OOO..            XoX++O+OOoOXX+oOo@XOoXooXoOOoO          X.OooooXO+XO+@oXoOX.        ",
  197. X"XXo@+oO+OoXO         X@oXooXXoOoO    Xoo+OooOoXOO           .XooOX+oXOoooXO@X@O+X           XXo@+oO+OoXO         X@oXooXXoOoO                                  X.OOOooOX+oXOoooXO@X@OXo                .XooOX+oXOoooXO@X@O+X                   .XooOX+oXOoooXO@X@O+XX           XXooOXXooOoooO+O@XOoooXoX.X          X+OooOoXOoXOo@#O@XOOOXXo+XoXXO        X.OOOooOX+oXOoooXO@X@OXo      ",
  198. X"XXOOXOoXoo@O         oo#OOoXO+o@O    XOooX+oOOXoO         X.X#@o@oX+o@OO@OOOoOOOO.          XXOOXOoXoo@O         oo#OOoXO+o@O                                 XX+oX#@o@oX+o@OO@OOOoOOOOX             X.X#@o@oX+o@OO@OOOoOOOO.                X.X#@o@oX+o@OO@OOOoOOOOXX          XoOOoOXoXXoXoO@oXOXoXoo@oXOXX        XoX+oOOXoX@XXOXOo#XXOOo@OOOOX+       XX+oX#@o@oX+o@OO@OOOoOOOOX     ",
  199. X"XoXooOoOo+oO         XOOO@XOOoXoO    XoOOoO@o@X@O        XXXooOoooO+O@XOoooXoXOXo@O         XoXooOoOo+oO         XOOO@XOOoXoO                                ooOXXooOoooO+O@XOoooXoXOXo@o           XXXooOoooO+O@XOoooXoXOXo@O              XXXooOoooO+O@XOoooXoXOXo@oX         XoOoX+OOXOOOXOOXXO+XoXOOOooooX       XOoO@o@X@OXOooOOXXXoXOXXXXo@XO      ooOXXooOoooO+O@XOoooXoXOXo@o    ",
  200. X"X@oO+Xo@oO+O         XoOo@o+oXoOO    XoXOOXXXXoXO       XoOXoXXoXoO@oXOXoXoo@oXOO@X@        X@oO+Xo@oO+O         XoOo@o+oXoOO                               OOOoOXoXXoXoO@oXOXoXoo@oXOO@X@         XoOXoXXoXoO@oXOXoXoo@oXOO@X@            XoOXoXXoXoO@oXOXoXoo@oXOO@X@X        XoXX#X+o+XOO+Xo@X+oO+OOoXOOo+oX      XOOXXXXoXXoXoXOXXXOOOXOXXooOoO     OOOoOXoXXoXoO@oXOXoXoo@oXOO@X@   ",
  201. X"XOOXOXOXXXX+         oOX@oOoXOOO+    XOoXXoXXX@o+      XoX+OOXOOOXOOXXO+XoXOOOoooO@Oo       XOOXOXOXXXX+         oOX@oOoXOOO+                               oOoX+OOXOOOXOOXXO+XoXOOOoooO@OO       XoX+OOXOOOXOOXXO@XoXOOOoooO@Oo          XoX+OOXOOOXOOXXo@XoXOOOoooO@Ooo       XO+X#OXoX+XOXoXXOXO+XoXXOooOXXo      XXXoXXX@oOXX@XXXXoOoOo@XoX+OX+     oOoX+OOXOOOXOOXXO+XoXOOOoooO@OO  ",
  202. X"oO+XXOOoXXXO         XOOo+XoXXoOO    oOOo+OXoXoXO     oXX#X+o+XOO+XoX###O+OOoXOOo+@OO@      oO+XXOOoXXXO         XOOo+XoXXoOO                              OoXX#X+o+XOO+XoXX+oO+OOoXOOo+@OO      oXX#X+o+XOO+XoX###O@OOoXOOo+@OO@        oXX#X+o+XOO+Xo@###@@OOoXOOo+@OO@o      oooO@XOoXXOoOXX+@OOoXXOo@oXoX@XO     oo+OXoXoXXoOXoXXX+XOoo+OO@OOOO    OoXX#X+o+XOO+XoXX+oO+OOoXOOo+@OO  ",
  203. X"XOXOXooOXoOO         ooXoOo+X+oOO    XOXOXXXOXXoO     X+X#OXoX+XOXo#+   +#oXXOooOXXX+X@     XOXOXooOXoOO         ooXoOo+X+oOO                              OO+X#OXoX+XOXO+#+###++XXOooOXXX@+     X+X#OXoX+XOXo#+   +#oXXOooOXXX+X@       X+X#OXoX+XOXo#+   +#oXXOooOXXX+Xo      XoOXOOXooOX+##+##+#Oo@+oXoOoOoXo     XOXXXOXXoXX+########+######+##    OO+X#OXoX+XOXO+#+###++XXOooOXXX@+ ",
  204. X"XoOoOXOoO@+O         oXXXoX@OXOoO    XXooXoXOoX+O    oXoO@XOoXXOoO+       +Oo@oXoX@X+X@     XoOoOXOoO@+O         oXXXoX@OXOoO                              oooO@XOoXX+O+         Oo@oXoX@X+O    oXoO@XOoXXOoO+       +Oo@oXoX@X+X@      oXoO@XOoXXOoO+       OOo@oXoX@X+X@o     XOXoXOXoOOo+        oOOOoX+XOO@o     XoXoXOoX+Xo+                      oooO@XOoXX+O+         Oo@oXoX@X+O ",
  205. X"oo+XX+XoXX+O         XXOOOXOOoX+O    oO@OXXX@oX@O    ooOXOOXooOXX+         OoXoOoOoXo#O@    oo+XX+XoXX+O         XXOOOXOOoX+O                              +oOXOOXooOXO          +##+##+###+    ooOXOOXooOXX+         OoXoOoOoXo#O@     ooOXOOXooOXX+         OoXoOoOoXo#O@     oOOXOXXOXXX+        #OXOXO+XO@XO     oOXXX@oX@XX+                      +oOXOOXooOXO          +##+##+###+ ",
  206. X"XXXXXXXoOXO.......X..X@OOOXoXOOoO    X+OOooXXXXOO    oOXoXOXoOOo+           OoX+XOO@XOo@    XXXXXXXoOXO.......X..X@OOOXoXOOoO                              OOXoXOXoOOoOo                        oOXoXOXoOOo+           OoX+XOO@XOo@     oOXoXOXoOOo+           OoX+XOO@XOo@o    XXoXOXoOOoOO         oooooOXXXO+     XOooXXXXOXX+                      OOXoXOXoOOoOo                     ",
  207. X"oXXXXXXXoXOXXoXOOXOOOX@XooXXOOOo+    ooXXooXXoXX+   oXOOXOXXOXXX+           +####+###+##    oXXXXXXXoXOXXoXOOXOOOX@XooXXOOOo+                              +OOXOXXOXXXXooX...X...X             oXOOXOXXOXXX+           O##+######+#    oXOOXOXXOXXXO           @OOX@O@OOOXoO    oOOOXXoXXXO+         XXoOOoXoOOO     oXooXXoXXXOOX.X..X...X...X.       +OOXOXXOXXXXooX...X...X           ",
  208. X"XXoXoXX+OXXXXXoOX#OoXoXoooOO+OoXO    XXXXX@oXOOXO   @XXoXOXoOOoO+                           XXoXoXX+OXXXXXoOX#OoXoXoooOO+OoXO                               OoXOXoOOoOOoOOoXOXO#Xo..XX         @XXoXOXoOOoO+                           @XXoXOXoOOoO+           OXOOOX@XooXX@o   XXOOOOoXoOX+        oXXOOXXoO@o+     XXX@oXOOXXoOOXOXOOOXoOO+OO+        OoXOXoOOoOOoOOoXOXO#Xo..XX       ",
  209. X"oOOo+O+OooXXoXX+ooOoXXXooooXOOOXO    oXoXXXOOXOXO   ooOOOXXoXXXO                            oOOo+O+OooXXoXX+ooOoXXXooooXOOOXO                               +OOXXoXXXOoO+OOXoXXooXoOOoXX       ooOOOXXoXXXO                            ooOOOXXoXXXO             @OoXoXoooOO+O   o+XXoX+XoOXO...X..XXoOooOXOOXO+      oXXXOOXOXXOo+XXoOoXOOoX+XOO        +OOXXoXXXOoO+OOXoXXooXoOOoXX     ",
  210. X"ooXOXXoOXOXOXoXOOXoOXoOooOXOO@+o+    o+XOXoXOOOX+   @OXOOOOoXoO+                            ooXOXXoOXOXOXoXOOXoOXoOooOXOO@+o+                                +OOOoXoOXOXoXo@XX+XXXOOXXoO@      @OXOOOOoXoO+                            @OXOOOOoXoO+             oOoXXXooooXOO   oXoXXOXXOXOoOoXOOX++XXoOo@+XOX+      oOXoXOOOXOXOXOoXo+OoXXOXXO+         +OOOoXoOXOXoXo@XX+XXXOOXXoO@    ",
  211. X"XXXXXOo@XXo@@XOXXOOXXXX@oOXO+ooOO    XXooXXOXOOoO   @++XXoX+XoOO         .X..X.X.......X    XXXXXOo@XXo@@XOXXOOXXXX@oOXO+ooOO                                 +oX+XoOXXXXOOoXX+oOooOXOOXOo     @++XXoX+XoOO                            @++XXoX+XoOO             @oOXoOooOXOO+   XXOoooXOOOXXXXX@XOXoooXXoXoXo#       XoXXOXOOoXOXOXOXOXX++OoXoo+          +oX+XoOXXXXOOoXX+oOooOXOOXOo   ",
  212. X"oXOXoXOoOooOoOXOXOOoooOXoXOOOOo@+    ooOOX@oXXXX+   o+XoXXOXXOXO         XX++OoXooOXOoXO    oXOXoXOoOooOoOXOXOOoooOXoXOOOOo@+                                  +OXXOXOoOoXOOX++XXoOo@+XOXXo    o+XoXXOXXOXO                            o+XoXXOXXOXO             OOXXXX@oOXO+O   oOXXOXOXOOXXOo+OOXoXOooO@oOX#        oOX@oXXXXXXXOXXXXoOOX+Xoo+O           +OXXOXOoOoXOOX++XXoOo@+XOXXo  ",
  213. X"oXXOOXXoXOXXX#XO@O@XOOOXOooOXXo@+    oXoXXOoOooO+   @OXOoooXOOO@         oOOX+Xoo+OOXoX+    oXXOOXXoXOXXX#XO@O@XOOOXOooOXXo@+                                    +OOOXoXXX@XOXoooXXoXoXoOOO@   @OXOoooXOOO@                            @OXOoooXOOO@             oOoooOXoXOOOO   oooXXOXXXXO++OoX@oXX+XXXXO##         oXXOoOooOXoOXXXOX@OO+XoO@X+             +OOOXoXXX@XOXoooXXoXoXoOOO@ ",
  214. X"X+oXo+OXoXo+##+####+#+OXo@XXXOoOO    XXXXXX#OXXXO   @oOXXOXOXOOO         @OO+XoO@XOo+XOO    X+oXo+OXoXo+##+####+#+OXo@XXXOoOO                                     #++oXOo+OOXoXOooO@oOXXXXOo   @oOXXOXOXOOO                            @oOXXOXOXOOO             O@XOOOXOooOX+   XXXOXOoXXXOOXX@XXoOoXoXoOOO#         XXXX#OXXXOXoOXXoOXO@@@Oo+O+              #++oXOo+OOXoXOooO@oOXXXXOo ",
  215. X"@X+oXXXoXoo+         oooOXOXOOXO+    @+XXXoXo#Xo+   o+ooXXOXXXX@         XO@@@Oo+Ooo+OXO    @X+oXXXoXoo+         oooOXOXOOXO+                                        ++######+#+XXXXOO+ooXXOo  o+ooXXOXXXX@                            o+ooXXOXXXX@             oXXOXOXo@XXXO   @XXX+oXXoXXXOOOXOOOOXXXXXoOo         @XXoXo#XoXX+#+###+########+                 ++######+#+XXXXOO+ooXXOo",
  216. X"oOoOOXOOoOOO         oXoXO+XXoO++    oXoOXoOOX#X+    @XXOXOoXXXO@        @OoO+oO+O@OOOO+    oOoOOXOOoOOO         oXoXO+XXoO++                                                    #oOOOXOOXXOO   @XXOXOoXXXO@                            @XXOXOoXXXO@           o+XooXooOXOX+    ooXoX@oOOXoXOOoOXoXoOOoXXoXOO        oOXoOOX#XOX+                                            #oOOOXOOXXOO",
  217. X"@OX+XO+XXXX+         @X+XOOO@oXO+    @+oXXoOXoXO+    OXXX+oXXoXXo        +###ooXooXXO@OO    @OX+XO+XXXX+         @X+XOOO@oXO+                                                     OXoOOXoOXXo   OXXX+oXXoXXo           ....X.......O    OXXX+oXXoXXo           XOOOOoXoXO+XO    @+O+@oXXOX++##+##+XooXoO+X@OOo       @XXoOXoXOXX+                                             OXoOOXoOXXo",
  218. X"XXX+XoOoXXOO         XXOXOXo@XooO    XOXOXXXoXOOO    @oXoX@oOOXoX           XXoXOOO#XXO+    XXX+XoOoXXOO         XXOXOXo@XooO                             X..X.X...X...X           XoXOOO#XXO   @oXoX@oOOXoX           XXoXOOO#XXOX+    @oXoX@oOOXoX           XXoXOOO#XXOX+    XoOoXo+ooXX+     ##o+XOOOooOXO       XOXXXoXOOOo+                     X..X.X...X...X           XoXOOO#XXO",
  219. X"oXOXoOoO@XX+         oXooXoOX@Oo+    oOXOXOXXoOO+     OO+@oXXOX++o         XO+X@OO+OOoO+    oXOXoOoO@XX+         oXooXoOX@Oo+                             oX+O+@oXXOX++o          X+X@OO+OOoO    OO+@oXXOX++o         XO+X@OO+OOoOo+     OO+@oXXOX++o         XO+X@OO+OOoOo+    ooOoOXXXooo+      +OOO+++oO+@@o      oOXOXXoOOoO+                     oX+O+@oXXOX++o          X+X@OO+OOoO",
  220. X"@OoOXXoXXoX+         @XOoOOoOOoO+    @oXoXXo+oOX+     @OoXo+ooXXXXX       XOOOooOoXo@@+O    @OoOXXoXXoX+         @XOoOOoOOoO+                             XOoOoXo+ooXXXXX        XOOooOXO+XXO    @OoXo+ooXXXXX       XOOOooOXO+XXX+      @OoXo+ooXXXXX       XOOOooOXO+XXX+     @oXOooXXX+OO       +@OOXoo+oX@o      @oXXo+oOXXO+                     XOoOoXo+ooXXXXX        XOOooOXO+XXO",
  221. X"@OOXXXOXXOO+         @@OOXoooXOo+    @oOXXX@XoOO+      OoOXXXoooOXX..   X.O+++oOXXX+OXO+    @OOXXXOXXOO+         @@OOXoooXOo+                             oXoOoOXXXoooOXX.X.X..X.+++oO+@@oXo+     OoOXXXoooOXX..   X.O+++oO+@@oXoO+       OoOXXXoooOXX..   X.O+++oO+@@oXoO+     @+X@XXOXXXO+       +OXoOOOX#OOo      @XXX@XoOOXOO.X....X.X..X...X.O   oXoOoOXXXoooOXX.X.X..X.+++oO+@@oXo+",
  222. X"@XXX+OoXX@OO         @Ooo@OoOOoo+    @oXoOOoXXOo+      OOooXXX+OOOoXX...X@OOXoo+OoOO+OO+    @XXX+OoXX@OO         @Ooo@OoOOoo+                              OoXOooXXX+OOOoXXXoXX@OOXoo+oX@OOO      OOooXXX+OOOoXX...X@OOXoo+oX@OOO+        OOooXXX+OOOoXX...X@OOXoo+oX@OOO+      @OXoooXOXXX+        Oo@OXOOoOOXo     @oOOoXXOooOOOooX+XOo#XXXOOX#o+    OoXOooXXX+OOOoXXXoXX@OOXoo+oX@OOO ",
  223. X"oXXXOOOOXoX+         oooO+XoXoOXO    ooXOOXOoXOOO       OXXOXXXOXOXoXOXOoOXoOOOXOoXo@@++    oXXXOOOOXoX+         oooO+XoXoOXO                              o+X@XXOXXXOXOXoXOXOoOXoOOOX#OOoO+       OXXOXXXOXOXoXOXOoOXoOOOX#OOoO#          OXXOXXXOXOXoXOXOoOXoOOOX#OOoO#       oXXXXOOXoooO        O#OXOXoo+oOX     oOOXOoXOOo+oOoOOO+OOooXOoXOOoO    o+X@XXOXXXOXOXoXOXOoOXoOOOX#OOoO+ ",
  224. X"@OOoOoXXOOO+         @oO+O@X+o#X+    @+OOOOXOo+X+        OoXOXXXO+Xo++OX+Oo@OXOOXXX+OXO+    @OOoOoXXOOO+         @oO+O@X+o#X+                               OXoooXOXXXO+Xo++OX+Oo@OXOOoOOXO         OoXOXXXO+Xo++OX+Oo@OXOOoOOX+            OoXOXXXO+Xo++OX+Oo@OXOOoOOX+        @OOOOOXoOoo+        @OX@XoXXoOXo     @OOOXOo+XOXOoOoXo+o@@o+Ooo+OO+     OXoooXOXXXO+Xo++OX+Oo@OXOOoOOXO  ",
  225. X"@Oo+XXXOXoo+         @oOoOooooOX+    @OOX+XXXXXO+         +OXoooooXOOooOoX#OXOXoOoOO+OOO    @Oo+XXXOXoo+         @oOoOooooOX+                                OXXOOXoooooXOOooOoX#OXOXoo+o+           +OXoooooXOOooOoX#OXOXoo+o+              +OXoooooXOOooOoX#OXOXoo+o+         @oX++oOXoOX+        OXo@O+OOooOoX    @X+XXXXXO@X@OoOO#+oXOXO@@+oO++      OXXOOXoooooXOOooOoX#OXOXoo+o+   ",
  226. X"@OXXOOXOXOoO         @o+oooXoooX+    @XoXX+oOoOO+          +oOooXooXoOXoOOOX@XoXOXX#OOO+    @OXXOOXOXOoO         @o+oooXoooX+                                 OOOXoOooXooXoOXoOOOX@XoXXoO             +oOooXooXoOXoOOOX@XoXX#+                +oOooXooXoOXoOOOX@XoXX#+          @ooOOXoo+@++         @ooOXooOXXXX    @XX+oOoOOoOOo@OoooOoooO+oOo+o+       OOOXoOooXooXoOXoOOOX@XoXXoO    ",
  227. X"@OX+XoXOOoo+         @OOOoOo@OXO+    @OoXXoOXXoO+           ++OXoXXXXXOo@+Xo@O+++@OXXoo+    @OX+XoXOOoo+         @OOOoOo@OXO+                                  ++OXoOXoXXXXXOo@+Xo@O+OO+               ++OXoXXXXXOo@+Xo@O+O+                   ++OXoXXXXXOo@+Xo@O+O+            @ooXOOoOoXo#         @OOooOoOXOXo    @XXoOXXoOXXOOXOoOooOOooOoOO++O        ++OXoOXoXXXXXOo@+Xo@O+OO+     ",
  228. X"@oOXOoOoOOX+         @+ooOOXOOOO+    @OOXXOOXOoX+             ++oOoOXOooOOooo++ +OO++OO+    @oOXOoOoOOX+         @+ooOOXOOOO+                                    +++@+oOoOXOooOOoooOX+#                  ++oOoOXOooOOooo++#                      ++oOoOXOooOOooo++#             @@OOXoO+oOO+          @XoOooooOooX   @XXOOXOoXO@+OXOOOoooOOO@OXo@++          +++@+oOoOXOooOOoooOX+#      ",
  229. X"+###+###+##+         +###+###+##+    +###+###+##+               ##+#XX#O@####   +###+##+    +###+###+##+         +###+###+##+                                       +#OOO@XX#O@o++#+#                      ##+#XX#O@####                           ##+#XXoO@####                +##+#+#####+          +##+###+###+   +####+########+######+#######+             +#OOO@XX#O@o++#+#        ",
  230. X"                                                                   +#####+                                                                                            ##+###+###                               #####+                                 +#####+                                                                                                     ##+###+###             "};
  231. END_OF_FILE
  232.   if test 14350 -ne `wc -c <'bitmaps/highscores.xpm'`; then
  233.     echo shar: \"'bitmaps/highscores.xpm'\" unpacked with wrong size!
  234.   fi
  235.   # end of 'bitmaps/highscores.xpm'
  236. fi
  237. if test -f 'intro.c' -a "${1}" != "-c" ; then 
  238.   echo shar: Will not clobber existing file \"'intro.c'\"
  239. else
  240.   echo shar: Extracting \"'intro.c'\" \(13916 characters\)
  241.   sed "s/^X//" >'intro.c' <<'END_OF_FILE'
  242. X#include "copyright.h"
  243. X
  244. X/*
  245. X *  Include file dependencies:
  246. X */
  247. X
  248. X#include <stdio.h>
  249. X#include <stdlib.h>
  250. X#include <stddef.h>
  251. X#include <X11/Xlib.h>
  252. X#include <X11/Xutil.h>
  253. X#include <X11/Xos.h>
  254. X#include <xpm.h>
  255. X
  256. X#include "error.h"
  257. X#include "misc.h"
  258. X#include "gun.h"
  259. X#include "main.h"
  260. X#include "init.h"
  261. X#include "inst.h"
  262. X#include "stage.h"
  263. X#include "blocks.h"
  264. X#include "special.h"
  265. X#include "ball.h"
  266. X#include "score.h"
  267. X#include "paddle.h"
  268. X#include "level.h"
  269. X#include "mess.h"
  270. X#include "audio.h"
  271. X#include "version.h"
  272. X
  273. X#include "bitmaps/titleBig.xpm"
  274. X
  275. X#include "bitmaps/star1.xpm"
  276. X#include "bitmaps/star2.xpm"
  277. X#include "bitmaps/star3.xpm"
  278. X#include "bitmaps/star4.xpm"
  279. X#include "bitmaps/star5.xpm"
  280. X#include "bitmaps/star6.xpm"
  281. X#include "bitmaps/star7.xpm"
  282. X#include "bitmaps/star8.xpm"
  283. X#include "bitmaps/star9.xpm"
  284. X#include "bitmaps/star10.xpm"
  285. X#include "bitmaps/star11.xpm"
  286. X
  287. X#include "intro.h"
  288. X
  289. X/*
  290. X *  Internal macro definitions:
  291. X */
  292. X
  293. X#define GAP 10
  294. X
  295. X/*
  296. X *  Internal type declarations:
  297. X */
  298. X
  299. X#if NeedFunctionPrototypes
  300. Xvoid SetIntroWait(int newMode, int waitFrame);
  301. Xvoid DoIntroWait(void);
  302. X#else
  303. Xvoid SetIntroWait();
  304. Xvoid DoIntroWait();
  305. X#endif
  306. X
  307. X/*
  308. X *  Internal variable declarations:
  309. X */
  310. X
  311. Xstatic int nextFrame = 0;
  312. Xstatic int nextFrame2 = 0;
  313. Xstatic int endFrame = 0;
  314. Xstatic int startFrame = 0;
  315. Xstatic int explodeIndex = 0;
  316. Xstatic int explodeBlock = 0;
  317. Xenum IntroStates IntroState;
  318. XPixmap bigtitlePixmap, bigtitlePixmapM;
  319. XPixmap stars[12], starsM[12];
  320. Xstatic int waitingFrame, waitMode;
  321. X
  322. X#if NeedFunctionPrototypes
  323. Xvoid SetUpIntroduction(Display *display, Window window, Colormap colormap)
  324. X#else
  325. Xvoid SetUpIntroduction(display, window, colormap)
  326. X    Display *display;
  327. X    Window window;
  328. X    Colormap colormap;
  329. X#endif
  330. X{
  331. X    XpmAttributes   attributes;
  332. X    int             XpmErrorStatus;
  333. X
  334. X    attributes.valuemask = XpmColormap;
  335. X    attributes.colormap = colormap;
  336. X
  337. X    XpmErrorStatus = XpmCreatePixmapFromData(display, window, titleBig_xpm,
  338. X        &bigtitlePixmap, &bigtitlePixmapM, &attributes);
  339. X    HandleXPMError(display, XpmErrorStatus, "InitialiseIntro()");
  340. X
  341. X    /* Create the stars for the letter shine */
  342. X    XpmErrorStatus = XpmCreatePixmapFromData(display, window, star1_xpm,
  343. X        &stars[0], &starsM[0], &attributes);
  344. X    HandleXPMError(display, XpmErrorStatus, "InitialiseIntro(star1)");
  345. X
  346. X    XpmErrorStatus = XpmCreatePixmapFromData(display, window, star2_xpm,
  347. X        &stars[1], &starsM[1], &attributes);
  348. X    HandleXPMError(display, XpmErrorStatus, "InitialiseIntro(star2)");
  349. X
  350. X    XpmErrorStatus = XpmCreatePixmapFromData(display, window, star3_xpm,
  351. X        &stars[2], &starsM[2], &attributes);
  352. X    HandleXPMError(display, XpmErrorStatus, "InitialiseIntro(star3)");
  353. X
  354. X    XpmErrorStatus = XpmCreatePixmapFromData(display, window, star4_xpm,
  355. X        &stars[3], &starsM[3], &attributes);
  356. X    HandleXPMError(display, XpmErrorStatus, "InitialiseIntro(star4)");
  357. X
  358. X    XpmErrorStatus = XpmCreatePixmapFromData(display, window, star5_xpm,
  359. X        &stars[4], &starsM[4], &attributes);
  360. X    HandleXPMError(display, XpmErrorStatus, "InitialiseIntro(star5)");
  361. X
  362. X    XpmErrorStatus = XpmCreatePixmapFromData(display, window, star6_xpm,
  363. X        &stars[5], &starsM[5], &attributes);
  364. X    HandleXPMError(display, XpmErrorStatus, "InitialiseIntro(star6)");
  365. X
  366. X    XpmErrorStatus = XpmCreatePixmapFromData(display, window, star7_xpm,
  367. X        &stars[6], &starsM[6], &attributes);
  368. X    HandleXPMError(display, XpmErrorStatus, "InitialiseIntro(star7)");
  369. X
  370. X    XpmErrorStatus = XpmCreatePixmapFromData(display, window, star8_xpm,
  371. X        &stars[7], &starsM[7], &attributes);
  372. X    HandleXPMError(display, XpmErrorStatus, "InitialiseIntro(star8)");
  373. X
  374. X    XpmErrorStatus = XpmCreatePixmapFromData(display, window, star9_xpm,
  375. X        &stars[8], &starsM[8], &attributes);
  376. X    HandleXPMError(display, XpmErrorStatus, "InitialiseIntro(star9)");
  377. X
  378. X    XpmErrorStatus = XpmCreatePixmapFromData(display, window, star10_xpm,
  379. X        &stars[9], &starsM[9], &attributes);
  380. X    HandleXPMError(display, XpmErrorStatus, "InitialiseIntro(star10)");
  381. X
  382. X    XpmErrorStatus = XpmCreatePixmapFromData(display, window, star11_xpm,
  383. X        &stars[10], &starsM[10], &attributes);
  384. X    HandleXPMError(display, XpmErrorStatus, "InitialiseIntro(star11)");
  385. X
  386. X    /* Free the xpm pixmap attributes */
  387. X    XpmFreeAttributes(&attributes);
  388. X
  389. X    ResetIntroduction();
  390. X}
  391. X
  392. X#if NeedFunctionPrototypes
  393. Xvoid DrawIntroTitle(Display *display, Window window, int x, int y)
  394. X#else
  395. Xvoid DrawIntroTitle(display, window, x, y)
  396. X    Display *display;
  397. X    Window window;
  398. X    int x;
  399. X    int y;
  400. X#endif
  401. X{
  402. X    RenderShape(display, window, bigtitlePixmap, bigtitlePixmapM,
  403. X        x, y, 474, 74, True);
  404. X}
  405. X
  406. X#if NeedFunctionPrototypes
  407. Xvoid DoIntroTitle(Display *display, Window window)
  408. X#else
  409. Xvoid DoIntroTitle(display, window)
  410. X    Display *display;
  411. X    Window window;
  412. X#endif
  413. X{
  414. X    char string[80];
  415. X
  416. X    /* Clear and draw background pattern */
  417. X    DrawStageBackground(display, window, BACKGROUND_0);
  418. X
  419. X    /* Draw the intro title bitmap XBOING */
  420. X    DrawIntroTitle(display, window, 10, 10);
  421. X
  422. X    /* Construct a copyright message leaving space for the copyright circle */
  423. X    strcpy(string, "  Copyright 1993 Justin C. Kibell, All Rights Reserved");
  424. X    string[0] = 0xa9;  /* Copyright circle */
  425. X    DrawShadowCentredText(display, window, copyFont, string, 90, white, 
  426. X        PLAY_WIDTH);
  427. X
  428. X    /* Be very friendly */
  429. X    SetCurrentMessage(display, messWindow, "Welcome to XBoing", False);
  430. X}
  431. X
  432. X#if NeedFunctionPrototypes
  433. Xstatic void DoBlocks(Display *display, Window window)
  434. X#else
  435. Xstatic void DoBlocks(display, window)
  436. X    Display *display;
  437. X    Window window;
  438. X#endif
  439. X{
  440. X    int y = 120;
  441. X    int x = 40;
  442. X
  443. X    /* Now draw the blocks on the screen */
  444. X    DrawTheBlock(display, window, x, y, RED_BLK, 0);
  445. X    DrawShadowText(display, window, textFont, 
  446. X        "- 100 points", x + 60, y, green);
  447. X    y += 40;
  448. X
  449. X    DrawTheBlock(display, window, x, y, BLUE_BLK, 0);    
  450. X    DrawShadowText(display, window, textFont, 
  451. X        "- 110 points", x + 60, y, green);
  452. X    y += 40;
  453. X
  454. X    DrawTheBlock(display, window, x, y, GREEN_BLK, 0);
  455. X    DrawShadowText(display, window, textFont, 
  456. X        "- 120 points", x + 60, y, green);
  457. X    y += 40;
  458. X
  459. X    DrawTheBlock(display, window, x, y, TAN_BLK, 0);    
  460. X    DrawShadowText(display, window, textFont, 
  461. X        "- 130 points", x + 60, y, green);
  462. X    y += 40;
  463. X
  464. X    DrawTheBlock(display, window, x, y, YELLOW_BLK, 0);
  465. X    DrawShadowText(display, window, textFont, 
  466. X        "- 140 points", x + 60, y, green);
  467. X    y += 40;
  468. X
  469. X    DrawTheBlock(display, window, x, y, PURPLE_BLK, 0);    
  470. X    DrawShadowText(display, window, textFont, 
  471. X        "- 150 points", x + 60, y, green);
  472. X    y += 40;
  473. X
  474. X    DrawTheBlock(display, window, x, y, BULLET_BLK, 0);    
  475. X    DrawShadowText(display, window, textFont, 
  476. X        "- Ammunition", x + 60, y, green);
  477. X    y += 40;
  478. X
  479. X    DrawTheBlock(display, window, x+5, y-5, HYPERSPACE_BLK, 0);    
  480. X    DrawShadowText(display, window, textFont, 
  481. X        "- Teleport", x + 60, y, green);
  482. X    y += 40;
  483. X
  484. X    DrawTheBlock(display, window, x+5, y+5, REVERSE_BLK, 0);    
  485. X    DrawShadowText(display, window, textFont, 
  486. X        "- Reverse Control", x + 60, y, green);
  487. X    y += 40;
  488. X
  489. X    DrawTheBlock(display, window, x+5, y+5, MGUN_BLK, 0);    
  490. X    DrawShadowText(display, window, textFont, 
  491. X        "- Machine Gun", x + 60, y, green);
  492. X    y += 40;
  493. X
  494. X    DrawTheBlock(display, window, x, y, MULTIBALL_BLK, 0);
  495. X    DrawShadowText(display, window, textFont, 
  496. X        "- Multi Balls", x + 60, y, green);
  497. X    y += 40;
  498. X
  499. X    /* New line from top again on right */
  500. X    y = 120;
  501. X    x = 260;
  502. X
  503. X    DrawTheBlock(display, window, x+5, y, BONUS_BLK, 0);
  504. X    DrawShadowText(display, window, textFont, 
  505. X        "- 3000 points", x + 60, y, green);
  506. X    y += 40;
  507. X
  508. X    DrawTheBlock(display, window, x, y, COUNTER_BLK, 5);
  509. X    DrawShadowText(display, window, textFont, 
  510. X        "- 200 points", x + 60, y, green);
  511. X    y += 40;
  512. X
  513. X    DrawTheBall(display, window, x + 20, y+10, 0); 
  514. X    DrawShadowText(display, window, textFont, 
  515. X        "- The Ball!", x + 60, y, green);
  516. X    y += 40;
  517. X
  518. X    DrawTheBlock(display, window, x, y, BLACK_BLK, 0);
  519. X    DrawShadowText(display, window, textFont, 
  520. X        "- Solid wall", x + 60, y, green);
  521. X    y += 40;
  522. X
  523. X    DrawTheBlock(display, window, x+9, y, BOMB_BLK, 0);
  524. X    DrawShadowText(display, window, textFont, 
  525. X        "- Bomb!", x + 60, y, green);
  526. X    y += 40;
  527. X
  528. X    DrawPaddle(display, window, x+20, y, PADDLE_SMALL);
  529. X    DrawShadowText(display, window, textFont, 
  530. X        "- The Paddle", x + 60, y, green);
  531. X    y += 40;
  532. X
  533. X    DrawTheBullet(display, window, x+20, y+5);
  534. X    DrawShadowText(display, window, textFont, 
  535. X        "- Bullet", x + 60, y, green);
  536. X    y += 40;
  537. X
  538. X    DrawTheBlock(display, window, x+8, y, DEATH_BLK, 0);
  539. X    DrawShadowText(display, window, textFont, 
  540. X        "- Instant Death!", x + 60, y, green);
  541. X    y += 40;
  542. X
  543. X    DrawTheBlock(display, window, x+10, y, EXTRABALL_BLK, 1);
  544. X    DrawShadowText(display, window, textFont, 
  545. X        "- Extra Ball", x + 60, y, green);
  546. X    y += 40;
  547. X
  548. X    DrawTheBlock(display, window, x+10, y, WALLOFF_BLK, 0);
  549. X    DrawShadowText(display, window, textFont, 
  550. X        "- Walls Off", x + 60, y, green);
  551. X    y += 40;
  552. X
  553. X    DrawTheBlock(display, window, x+10, y - 5, STICKY_BLK, 0);
  554. X    DrawShadowText(display, window, textFont, 
  555. X        "- Sticky Ball", x + 60, y, green);
  556. X    y += 40;
  557. X}
  558. X
  559. X#if NeedFunctionPrototypes
  560. Xstatic void DoText(Display *display, Window window)
  561. X#else
  562. Xstatic void DoText(display, window)
  563. X    Display *display;
  564. X    Window window;
  565. X#endif
  566. X{
  567. X    char string[80];
  568. X    int y;
  569. X
  570. X    y = PLAY_HEIGHT - 27;
  571. X
  572. X    strcpy(string, "Press <Space> to start the game.");
  573. X    DrawShadowCentredText(display, window, textFont, 
  574. X        string, y, tann, PLAY_WIDTH);
  575. X}
  576. X
  577. X#if NeedFunctionPrototypes
  578. Xstatic void DoSparkle(Display *display, Window window)
  579. X#else
  580. Xstatic void DoSparkle(display, window)
  581. X    Display *display;
  582. X    Window window;
  583. X#endif
  584. X{
  585. X    static Pixmap store;
  586. X    static int x = 100;
  587. X    static int y = 20;
  588. X    static int in = 0;
  589. X
  590. X    if (!store)
  591. X    {
  592. X        store = XCreatePixmap(display, window, 20, 20,
  593. X            DefaultDepth(display, XDefaultScreen(display)));
  594. X    }
  595. X
  596. X    if (in == 0) 
  597. X        XCopyArea(display, window, store, gc, x, y, 20, 20, 0, 0);
  598. X
  599. X    if (frame == startFrame)
  600. X    {
  601. X        RenderShape(display, window, stars[in], starsM[in],
  602. X            x, y, 20, 20, False);
  603. X
  604. X         in++;
  605. X        startFrame = frame + 15;
  606. X
  607. X        if (in == 11) 
  608. X        {
  609. X            XCopyArea(display, store, window, gc, 0, 0, 20, 20, x, y);
  610. X            in = 0;
  611. X            startFrame = frame + 500;
  612. X            x = (rand() % 474) + 5;
  613. X            y = (rand() % 74) + 5;
  614. X        }    
  615. X    }
  616. X}
  617. X
  618. X#if NeedFunctionPrototypes
  619. Xstatic void DoExplodeLeft(Display *display, Window window)
  620. X#else
  621. Xstatic void DoExplodeLeft(display, window)
  622. X    Display *display;
  623. X    Window window;
  624. X#endif
  625. X{
  626. X    int y = 120;
  627. X    int x = 40;
  628. X
  629. X    if (frame == endFrame) IntroState = INTRO_FINISH;
  630. X
  631. X    if (frame == nextFrame)
  632. X    {
  633. X        if (explodeIndex == 0 && explodeBlock != 0)
  634. X            DrawTheBlock(display, window, x, 
  635. X                y + ((explodeBlock-1) * 40), explodeBlock-1, 0);
  636. X
  637. X        if (explodeIndex == 0 && explodeBlock == 0)
  638. X            DrawTheBlock(display, window, x, y + (6 * 40), 6, 0);
  639. X
  640. X        ExplodeBlockType(display, window, x,
  641. X            y + (explodeBlock * 40), explodeBlock, explodeIndex);
  642. X            
  643. X        explodeIndex++;
  644. X        nextFrame = frame + 10;
  645. X        if (explodeIndex == 3) 
  646. X        {
  647. X            XClearArea(display, window, x, 
  648. X                y + (explodeBlock * 40), 40, 30, False);
  649. X            explodeIndex = 0; 
  650. X            explodeBlock++;
  651. X            if (explodeBlock == 7) explodeBlock = 0;
  652. X            nextFrame += 200;
  653. X        }
  654. X    }
  655. X}
  656. X
  657. X#if NeedFunctionPrototypes
  658. Xstatic void DoExplodeRight(Display *display, Window window)
  659. X#else
  660. Xstatic void DoExplodeRight(display, window)
  661. X    Display *display;
  662. X    Window window;
  663. X#endif
  664. X{
  665. X    int x = 260;
  666. X    int y = 120;
  667. X    static int slide = 0;
  668. X
  669. X    if (frame == nextFrame2)
  670. X    {
  671. X        if (slide == 4) slide = 0;
  672. X
  673. X        DrawTheBlock(display, window, x+5, y, BONUS_BLK, slide);
  674. X        DrawTheBlock(display, window, x, y + 40, COUNTER_BLK, slide);
  675. X        DrawTheBall(display, window, x + 20, y + 90, slide);
  676. X        DrawTheBlock(display, window, x+8, y + 280, DEATH_BLK, slide);
  677. X
  678. X        if (slide == 3)
  679. X            DrawTheBlock(display, window, x+9, y + 160, BOMB_BLK, 0);
  680. X        else
  681. X            ExplodeBlockType(display, window, x+9, y+160, BOMB_BLK, slide);
  682. X
  683. X        nextFrame2 += 90;
  684. X        slide++;
  685. X    }
  686. X}
  687. X
  688. X#if NeedFunctionPrototypes
  689. Xstatic void DoFinish(Display *display, Window window)
  690. X#else
  691. Xstatic void DoFinish(display, window)
  692. X    Display *display;
  693. X    Window window;
  694. X#endif
  695. X{
  696. X    ResetInstructions();
  697. X    mode = MODE_INSTRUCT;
  698. X
  699. X    if (noSound == False)
  700. X        playSoundFile("weeek", 100);
  701. X}
  702. X
  703. X#if NeedFunctionPrototypes
  704. Xvoid Introduction(Display *display, Window window)
  705. X#else
  706. Xvoid Introduction(display, window)
  707. X    Display *display;
  708. X    Window window;
  709. X#endif
  710. X{
  711. X    switch (IntroState)
  712. X    {
  713. X        case INTRO_TITLE:
  714. X            DoIntroTitle(display, window);
  715. X            IntroState = INTRO_BLOCKS;
  716. X            break;
  717. X
  718. X        case INTRO_BLOCKS:
  719. X            DoBlocks(display, window);
  720. X            IntroState = INTRO_TEXT;
  721. X            break;
  722. X
  723. X        case INTRO_TEXT:
  724. X            DoText(display, window);
  725. X            IntroState = INTRO_EXPLODE;
  726. X            break;
  727. X
  728. X        case INTRO_EXPLODE:
  729. X            DoExplodeLeft(display, window);
  730. X            DoExplodeRight(display, window);
  731. X            DoSparkle(display, window);
  732. X            if ((frame % FLASH) == 0)
  733. X                RandomDrawSpecials(display);
  734. X            break;
  735. X
  736. X        case INTRO_FINISH:
  737. X            DoFinish(display, window);
  738. X            break;
  739. X
  740. X        case INTRO_WAIT:
  741. X            DoIntroWait();
  742. X            break;
  743. X
  744. X        default:
  745. X            break;
  746. X    }
  747. X}
  748. X
  749. X#if NeedFunctionPrototypes
  750. Xvoid RedrawIntroduction(Display *display, Window window)
  751. X#else
  752. Xvoid RedrawIntroduction(display, window)
  753. X    Display *display;
  754. X    Window window;
  755. X#endif
  756. X{
  757. X    DoIntroTitle(display, window);
  758. X    DoBlocks(display, window);
  759. X    DoText(display, window);
  760. X    DoExplodeLeft(display, window);
  761. X    DoExplodeRight(display, window);
  762. X}
  763. X
  764. X#if NeedFunctionPrototypes
  765. Xvoid FreeIntroduction(Display *display)
  766. X#else
  767. Xvoid FreeIntroduction(display)
  768. X    Display *display;
  769. X#endif
  770. X{
  771. X    int i;
  772. X
  773. X    for (i = 0; i < 10; i++)
  774. X    {
  775. X        if (stars[i])    XFreePixmap(display, stars[i]);         
  776. X        if (starsM[i])    XFreePixmap(display, starsM[i]);         
  777. X    }
  778. X
  779. X    if (bigtitlePixmap)        XFreePixmap(display, bigtitlePixmap);         
  780. X    if (bigtitlePixmapM)    XFreePixmap(display, bigtitlePixmapM);
  781. X}
  782. X
  783. X#if NeedFunctionPrototypes
  784. Xvoid ResetIntroduction(void)
  785. X#else
  786. Xvoid ResetIntroduction()
  787. X#endif
  788. X{
  789. X    IntroState = INTRO_TITLE;
  790. X    explodeIndex = 0;
  791. X    explodeBlock = 0;
  792. X    nextFrame = frame + 10;
  793. X    nextFrame2 = frame + 10;
  794. X    startFrame = frame + 10;
  795. X    endFrame = frame + 3000;
  796. X}
  797. X
  798. X#if NeedFunctionPrototypes
  799. Xvoid SetIntroWait(int newMode, int waitFrame)
  800. X#else
  801. Xvoid SetIntroWait(newMode, waitFrame)
  802. X    int newMode;
  803. X    int waitFrame;
  804. X#endif
  805. X{
  806. X    waitingFrame = waitFrame;
  807. X    waitMode = newMode;
  808. X    IntroState = INTRO_WAIT;
  809. X}
  810. X
  811. X#if NeedFunctionPrototypes
  812. Xvoid DoIntroWait(void)
  813. X#else
  814. Xvoid DoIntroWait()
  815. X#endif
  816. X{
  817. X    if (frame == waitingFrame)
  818. X        IntroState = waitMode;
  819. X}
  820. END_OF_FILE
  821.   if test 13916 -ne `wc -c <'intro.c'`; then
  822.     echo shar: \"'intro.c'\" unpacked with wrong size!
  823.   fi
  824.   # end of 'intro.c'
  825. fi
  826. if test -f 'special.c' -a "${1}" != "-c" ; then 
  827.   echo shar: Will not clobber existing file \"'special.c'\"
  828. else
  829.   echo shar: Extracting \"'special.c'\" \(5332 characters\)
  830.   sed "s/^X//" >'special.c' <<'END_OF_FILE'
  831. X#include "copyright.h"
  832. X
  833. X/*
  834. X *  Include file dependencies:
  835. X */
  836. X
  837. X#include "init.h"
  838. X#include "misc.h"
  839. X#include "stage.h"
  840. X#include "paddle.h"
  841. X
  842. X#include "special.h"
  843. X
  844. X/*
  845. X *  Internal macro definitions:
  846. X */
  847. X
  848. X#define GAP            5
  849. X
  850. X/*
  851. X *  Internal type declarations:
  852. X */
  853. X
  854. X/*
  855. X *  Internal variable declarations:
  856. X */
  857. X
  858. Xint multiBall;
  859. Xint stickyBat;
  860. Xint fastGun;
  861. Xint noWalls;
  862. Xint Killer;
  863. Xint x2Bonus;
  864. Xint x4Bonus;
  865. X
  866. X#if NeedFunctionPrototypes
  867. Xvoid TurnSpecialsOff(Display *display)
  868. X#else
  869. Xvoid TurnSpecialsOff(display)
  870. X    Display *display;
  871. X#endif
  872. X{
  873. X    /* Turn all specials off */
  874. X
  875. X    ToggleFastGun(display, False);
  876. X    ToggleWallsOn(display, False);
  877. X    ToggleMultiBall(display, False);
  878. X    ToggleStickyBat(display, False);
  879. X    Togglex2Bonus(display, False);
  880. X    Togglex4Bonus(display, False);
  881. X    ToggleKiller(display, False);
  882. X}
  883. X
  884. X#if NeedFunctionPrototypes
  885. Xvoid Togglex2Bonus(Display *display, int state)
  886. X#else
  887. Xvoid Togglex2Bonus(display, state)
  888. X    Display *display;
  889. X    int state;
  890. X#endif
  891. X{
  892. X    /* Set the x2Bonus flag to true or false */
  893. X    x2Bonus = state;
  894. X}
  895. X
  896. X#if NeedFunctionPrototypes
  897. Xvoid ToggleKiller(Display *display, int state)
  898. X#else
  899. Xvoid ToggleKiller(display, state)
  900. X    Display *display;
  901. X    int state;
  902. X#endif
  903. X{
  904. X    /* Set the Killer flag to true or false */
  905. X    Killer = state;
  906. X}
  907. X
  908. X#if NeedFunctionPrototypes
  909. Xvoid Togglex4Bonus(Display *display, int state)
  910. X#else
  911. Xvoid Togglex4Bonus(display, state)
  912. X    Display *display;
  913. X    int state;
  914. X#endif
  915. X{
  916. X    /* Set the x4Bonus flag to true or false */
  917. X    x4Bonus = state;
  918. X}
  919. X
  920. X#if NeedFunctionPrototypes
  921. Xvoid ToggleStickyBat(Display *display, int state)
  922. X#else
  923. Xvoid ToggleStickyBat(display, state)
  924. X    Display *display;
  925. X    int state;
  926. X#endif
  927. X{
  928. X    /* Set the stickyBat flag to true or false */
  929. X    stickyBat = state;
  930. X}
  931. X
  932. X#if NeedFunctionPrototypes
  933. Xvoid ToggleMultiBall(Display *display, int state)
  934. X#else
  935. Xvoid ToggleMultiBall(display, state)
  936. X    Display *display;
  937. X    int state;
  938. X#endif
  939. X{
  940. X    /* Set the multiBall flag to true or false */
  941. X    multiBall = state;
  942. X}
  943. X
  944. X#if NeedFunctionPrototypes
  945. Xvoid ToggleFastGun(Display *display, int state)
  946. X#else
  947. Xvoid ToggleFastGun(display, state)
  948. X    Display *display;
  949. X    int state;
  950. X#endif
  951. X{
  952. X    /* Set the fastgun flag to true or false */
  953. X    fastGun = state;
  954. X}
  955. X
  956. X#if NeedFunctionPrototypes
  957. Xvoid ToggleWallsOn(Display *display, int state)
  958. X#else
  959. Xvoid ToggleWallsOn(display, state)
  960. X    Display *display;
  961. X    int state;
  962. X#endif
  963. X{
  964. X    /* Set the noWalls flag to true or false */
  965. X    noWalls = state;
  966. X
  967. X    if (noWalls == True)
  968. X    {
  969. X        /* Turn the wall colour to green */
  970. X        XSetWindowBorder(display, playWindow, green);
  971. X    }
  972. X    else
  973. X    {
  974. X        /* Turn the wall colour to red */
  975. X        XSetWindowBorder(display, playWindow, red);
  976. X    }
  977. X}
  978. X
  979. X#if NeedFunctionPrototypes
  980. Xvoid DrawSpecials(Display *display)
  981. X#else
  982. Xvoid DrawSpecials(display)
  983. X    Display *display;
  984. X#endif
  985. X{
  986. X    int y = 3;
  987. X    int x = 5;
  988. X    char string[80];
  989. X
  990. X    /* Clear the special window */
  991. X    /*XClearWindow(display, specialWindow);*/
  992. X
  993. X    strcpy(string, "Reverse");
  994. X    if (reverseOn == True)
  995. X        DrawShadowText(display, specialWindow, copyFont, 
  996. X            string, x, y, yellow);
  997. X    else
  998. X        DrawShadowText(display, specialWindow, copyFont, 
  999. X            string, x, y, white);
  1000. X
  1001. X    y += copyFont->ascent + GAP;
  1002. X
  1003. X    strcpy(string, "Sticky");
  1004. X    if (stickyBat == True)
  1005. X        DrawShadowText(display, specialWindow, copyFont, 
  1006. X            string, x, y, yellow);
  1007. X    else
  1008. X        DrawShadowText(display, specialWindow, copyFont, 
  1009. X            string, x, y, white);
  1010. X
  1011. X    x = 55; y = 3;
  1012. X
  1013. X    strcpy(string, "MultiBall");
  1014. X    if (multiBall == True)
  1015. X        DrawShadowText(display, specialWindow, copyFont, 
  1016. X            string, x, y, yellow);
  1017. X    else
  1018. X        DrawShadowText(display, specialWindow, copyFont, 
  1019. X            string, x, y, white);
  1020. X
  1021. X    y += copyFont->ascent + GAP;
  1022. X
  1023. X    strcpy(string, "FastGun");
  1024. X    if (fastGun == True)
  1025. X        DrawShadowText(display, specialWindow, copyFont, 
  1026. X            string, x, y, yellow);
  1027. X    else
  1028. X        DrawShadowText(display, specialWindow, copyFont, 
  1029. X            string, x, y, white);
  1030. X
  1031. X    x = 110; y = 3;
  1032. X
  1033. X    strcpy(string, "NoWall");
  1034. X    if (noWalls == True)
  1035. X        DrawShadowText(display, specialWindow, copyFont, 
  1036. X            string, x, y, yellow);
  1037. X    else
  1038. X        DrawShadowText(display, specialWindow, copyFont, 
  1039. X            string, x, y, white);
  1040. X
  1041. X    y += copyFont->ascent + GAP;
  1042. X
  1043. X    strcpy(string, "Killer");
  1044. X    if (Killer == True)
  1045. X        DrawShadowText(display, specialWindow, copyFont, 
  1046. X            string, x, y, yellow);
  1047. X    else
  1048. X        DrawShadowText(display, specialWindow, copyFont, 
  1049. X            string, x, y, white);
  1050. X
  1051. X    x = 155; y = 3;
  1052. X
  1053. X    strcpy(string, "x2");
  1054. X    if (x2Bonus == True)
  1055. X        DrawShadowText(display, specialWindow, copyFont, 
  1056. X            string, x, y, yellow);
  1057. X    else
  1058. X        DrawShadowText(display, specialWindow, copyFont, 
  1059. X            string, x, y, white);
  1060. X
  1061. X    y += copyFont->ascent + GAP;
  1062. X
  1063. X    strcpy(string, "x4");
  1064. X    if (x4Bonus == True)
  1065. X        DrawShadowText(display, specialWindow, copyFont, 
  1066. X            string, x, y, yellow);
  1067. X    else
  1068. X        DrawShadowText(display, specialWindow, copyFont, 
  1069. X            string, x, y, white);
  1070. X}
  1071. X
  1072. X
  1073. X#if NeedFunctionPrototypes
  1074. Xvoid RandomDrawSpecials(Display *display)
  1075. X#else
  1076. Xvoid RandomDrawSpecials(display)
  1077. X    Display *display;
  1078. X#endif
  1079. X{
  1080. X    int n;
  1081. X
  1082. X    /* Randomly change the specials to flash on and off */
  1083. X    n = rand() % 100;
  1084. X    multiBall = n > 50 ? True : False;
  1085. X    n = rand() % 100;
  1086. X    stickyBat = n > 50 ? True : False;
  1087. X    n = rand() % 100;
  1088. X    Killer = n > 50 ? True : False;
  1089. X    n = rand() % 100;
  1090. X    x2Bonus = n > 50 ? True : False;
  1091. X    n = rand() % 100;
  1092. X    x4Bonus = n > 50 ? True : False;
  1093. X    n = rand() % 100;
  1094. X    fastGun = n > 50 ? True : False;
  1095. X    n = rand() % 100;
  1096. X    noWalls = n > 50 ? True : False;
  1097. X    n = rand() % 100;
  1098. X    reverseOn = n > 50 ? True : False;
  1099. X
  1100. X    DrawSpecials(display);
  1101. X}
  1102. END_OF_FILE
  1103.   if test 5332 -ne `wc -c <'special.c'`; then
  1104.     echo shar: \"'special.c'\" unpacked with wrong size!
  1105.   fi
  1106.   # end of 'special.c'
  1107. fi
  1108. echo shar: End of archive 15 \(of 26\).
  1109. cp /dev/null ark15isdone
  1110. MISSING=""
  1111. 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 25 26 ; do
  1112.     if test ! -f ark${I}isdone ; then
  1113.     MISSING="${MISSING} ${I}"
  1114.     fi
  1115. done
  1116. if test "${MISSING}" = "" ; then
  1117.     echo You have unpacked all 26 archives.
  1118.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1119.     echo "merging split files..."
  1120.     cat blocks.c[12] > blocks.c
  1121.     rm blocks.c[12]
  1122.     echo "blocks.c done"
  1123.     cat bitmaps/earth.xpm.Z.u.[ab] > bitmaps/earth.xpm.Z.uue
  1124.     rm bitmaps/earth.xpm.Z.u.[ab]
  1125.     echo "bitmaps/earth.xpm.Z.uue done"
  1126. else
  1127.     echo You still must unpack the following archives:
  1128.     echo "        " ${MISSING}
  1129. fi
  1130. exit 0
  1131. exit 0 # Just in case...
  1132. -- 
  1133.   // chris@Sterling.COM           | Send comp.sources.x submissions to:
  1134. \X/  Amiga - The only way to fly! |    sources-x@sterling.com
  1135.  "It's intuitively obvious to the |
  1136.   most casual observer..."        | GCS d+/-- p+ c++ l+ m+ s++/+ g+ w+ t+ r+ x+
  1137.