home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-09-03 | 54.5 KB | 1,343 lines |
- Newsgroups: comp.sources.x
- From: jck@kimba.catt.citri.edu.au (Justin Kibell)
- Subject: v20i125: xboing - a simple blockout type game, Part18/26
- Message-ID: <1993Sep3.123450.8165@sparky.sterling.com>
- X-Md4-Signature: c98c3203e2378c9ff00e069c13900cf9
- Sender: chris@sparky.sterling.com (Chris Olson)
- Organization: Sterling Software
- Date: Fri, 3 Sep 1993 12:34:50 GMT
- Approved: chris@sterling.com
-
- Submitted-by: jck@kimba.catt.citri.edu.au (Justin Kibell)
- Posting-number: Volume 20, Issue 125
- Archive-name: xboing/part18
- Environment: X11, xpm, color
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then feed it
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # Contents: CHANGES bitmaps/background3.xpm presents.c sfx.c
- # sounds/stamp.au.uue
- # Wrapped by chris@sparky on Fri Sep 3 07:14:48 1993
- PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
- echo If this archive is complete, you will see the following message:
- echo ' "shar: End of archive 18 (of 26)."'
- if test -f 'CHANGES' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'CHANGES'\"
- else
- echo shar: Extracting \"'CHANGES'\" \(11836 characters\)
- sed "s/^X//" >'CHANGES' <<'END_OF_FILE'
- XXBoing Changes
- X==============
- X
- XVersion 1.6 - 6th August 1993
- X-----------------------------
- X
- X- Replied to mail argghhh.
- X- Added version number to presents screen.
- X- Fixed multiball bug where there may be 2 balls bouncing - i dies and you have
- X none spare so it ends - no longer the case.
- X- Added some more doco to INSTALL and README
- X- Added a new special effect where the specials flash around on the intros.
- X- Changed the thankyou to thank you!! Requested too :-)
- X- NULL terminated the string returned form strftime() function in highscore.c
- X- Added some new backgrounds from Anthony's Icons Volume 1.3.
- X- Killed of the spin.au file as it kills the audio for some reason - put
- X a new one in called intro.au that is a powerdown sound.
- X- All buttons now shoot bullets in game mode. Also the button starts of the
- X ball instead of the space bar now.
- X- Starting level code added. You can start at any level but the highscore
- X table will subtract the starting level from the level attained so the scores
- X are kept even. ie: start = 34 end = 67 level = 33
- X- Answered mail - more patches.
- X- Note that xnews slows the game down heaps. Bummer.
- X- Lots of people getting bad drawable errors :-(
- X- FAST_SPEED has been changed from 3L to 1L for gruntish speed.
- X thanks - billr@saab.cna.tek.com
- X- Changed a few levels like 7 & 8 to make them a tad easier.
- X- Changed the corner bouncing - idea pgh@computer-science.strathclyde.ac.uk
- X- Now supports NCD audio format. Thanks to Dave Lemke <lemke@verbosa.ncd.com>
- X- Fixed up SUNaudio.c to not have #ifdefs AUDIO.. everywhere - not needed now.
- X- Fixed up Imakefile so it wont install sounds if not required.
- X- Global highscore file only has one entry per person now. So god like beings
- X cannot completely take over the whole scoreboard!!
- X- All level and score functions use u_long so that I can use htonl ntohl for
- X network independent conversion of the score and level. May now work over
- X networks where the machine has different byte ordering for score file only.
- X- Added a killer mode where the ball turns red and the ball goes through all
- X blocks like butter. It is activated after 10 bonuses have been collected.
- X- Only real errors now get written to stderr - all others to stdout.
- X- Added some patches to Imakefile for audio on sparcs jra@hrcms.jazz.att.com
- X Also patched SUNaudio.c so that it opens the audio device without hanging.
- X- Pointer grabbing is now an option with default OFF.
- X- Fixed bug in options code.
- X- You can now set the maximum value for the audio volume.
- X- Fixed a bug in the bonus coin code where on some levels they never appeared.
- X- Added heaps to the manual page especially on the options.
- X- Fixed bug with ball being killed off - didn't work correctly.
- X- No longer exits with errorcode 1 on normal exits.
- X- Changed the func RenderShape() so it only creates one huge backing store
- X pixmap and reuses it so it reduces calls to server.
- X- MAXPATHLEN not found on SYSV apparently and bug in highscore.c fixed. Thanks
- X to John M. Scott <jmscott@setex.august.com>
- X- Now displays how many bonuses you have during level.
- X- Plays sound when touching a block
- X- Added 3 env variables for the highscore file, levels dir, and sounds dir so
- X that you can change them to point to your own cheat level files!!
- X
- X- Following changes provided by :-
- X - Jean Yves VIONDURY (viondury@mururoa.imag.fr) and
- X Olivier DUMAS (dumas@mururoa.imag.fr) from Bull-IMAG, France.
- X
- X . The ball bounce on the paddle has been modified, so that the ball can
- X be oriented better than before.
- X . The autotilt-random function has been changed, to make the auto-tilt
- X function more reliable.
- X . Speed modifiers due to Warp values now propose a linear evolution.
- X . The global high score file is locked when updated, to avoid conflicts
- X and score losses when several people finish their game at the same time.
- X This feature hasn't been extensively tested, as these situations aren't
- X easy to provoke. But we rely on the system to make it work properly.
- X
- X- You will all notice the improved ball bouncing off the paddle thanks to the
- X above dudes. Thanks again.
- X- Thanks to christos@deshaw.com for the patch on alt.sources regarding the
- X extra error cases in error.c and the ansi trigraphs bug.
- X- Supports HP audio which I think is .au format as well on the device.
- X- Discovered the UNOFFFICIAL patch on export. Hmm - don't like the flag change!
- X- Sent a patch by soulard@corto.inria.fr that fixes the problem where the
- X teleport can have problems when it puts the ball in an enclosed area. Thanks.
- X- Added a paddle shrink and expand block - removed paddlesize getting smaller
- X as you get higher in the levels as it is too hard.
- X- Added README's in all subdirectories. Cleaned up code and directory.
- X
- X
- XVersion 1.5 - 23rd July 1993
- X----------------------------
- X
- X- Thanks for all the responses :-) I think I better post it to news!
- X Our machine is slowwwwwing down from all those ftpers! I asked for it!
- X- After first posting I received quite a few mail messages about the
- X Imakefile and compiling on other machines. Well I never said it would
- X so I have now added the patches/suggestions.
- X- The semicolin missing was unfortunate. I use gcc by default and that
- X of course didn't need that line of code. Sorry folks.
- X- Colourmap problems - well I did warn that it only works for colour!
- X I'll try to get it to work for greyscale - XPM handles it but the
- X pixmaps look bad as they were designed for colour only. Sorry.
- X- I forgot a manual page - Done. Please forgive me if it is pox as it is
- X my first go at nroff.
- X- Updated the Imakefile more to include the directory installation.
- X- A few lose ends in highscore.c fixed. Also took some useless stuff out of
- X the Imakefile.
- X- Added a pirate block that will kill the ball when hit. You can shoot the
- X pirate 3 times and lose 1000 points, saves your ball though.
- X- Fixed the bullet bug where sometimes on a new level you couldn't shoot
- X even if you had bags of ammo.
- X- Displays level name when starting.
- X- The way bonuses are added is much better now. Less time wasting.
- X- Turned off the graphics exposures in the graphics contexts to speed the
- X while event loop up considerably. Wow, what a difference.
- X- Added the timer and special bonus area after squashing the message area
- X smaller. This area will have a count down timer and special modes will be
- X indicated in the special area. The bonus screen now uses the timer bonus.
- X- Added TrueColour to the colour test for all those SGI people.
- X- Added tink code to clear off tinks.
- X- Improvement for the bullet/ball collision.
- X- Added an I key for quick Iconification if the boss walks passed.
- X- Added a -scores option to print highscores to command line.
- X- If the user has a '&' in their gecos it should be expanded to their user
- X name and then the first letter upper case. Patch by jeff@rd1.interlan.com
- X- Better parsing of level data. Time bonus is now part of level data.
- X- Fixed major ball debris bug. Easy - clear background before copying it for
- X the backing store. Also done for the paddle/bullet. However, I must fix the
- X collision detection though. Sometimes a bit of a block is cut out. :-(
- X- Added code so that when the ball get stuck in a loop, if the paddle is not
- X hit in n seconds then the board will auto tilt.
- X- Put code in to time the game and show up in highscore table.
- X Updated both the X bit and commandline bit.
- X- Fiddled with the timing routines. Still a bit dodgy.
- X- Made some calls in highscore table better and to use misc routines.
- X- The ball collision detection now uses regions that get created as the block
- X is created. This is better than a whole lot of if's if you ask me.
- X- Also fixed the addbonus code and made a MakeBlockGeometry function to
- X make code more modular.
- X- Added a personal highscore feature. Your highscores get saved to a highscore
- X file in your home directory.
- X- Took out the beep if the key isn't recognisied. Started shitting me!!
- X- Install procedure finally fixed. yeah.
- X- Made the mouse move the paddle relative to it's position. Asked for a lot.
- X- Also a new commandline option [-keys] will disable the mouse mode and only
- X allow keys to move the paddle. This is better than having both.
- X- Added a reverse block - when hit the controls reverse for a time span.
- X- The highscore file is now always fchmod()ed to make sure permissions are
- X correct for all players.
- X- Added a hyperspace block that will turn off the side wall for the
- X ball and it will wrap around as such.
- X- Fixed the text routine calls in intro.c to use calls in misc.c
- X- Added SUN audio - yeah yeah yeah again.... -sound option for audio.
- X- Fixed the Imakefile to use the audio settings and how to find sounds.
- X- Added some sound effects. More later.
- X- Added code to highlight the score you just obtained in a game in highscore.
- X- Adjusted the code in bonus.c to allow the space to pressed to skip bonus
- X animations but still add the bonus score onto the score etc.
- X- Add the specials display at bottom of the window indicating the current
- X specials mode.
- X- Added another 10 levels to make a total of 40 levels. It is rather boring
- X creating levels :-)
- X- Added a ball kill key <d>.
- X- Highscores are saved when quitting with q key.
- X- Redesigned the keys screen - added a = audio on/off g = game control
- X added 1-9 for speed control
- X- Added an extra ball animation and block.
- X- Changed the ball slightly so that it has a white circle around it so it will
- X stand out better on all backgrounds.
- X- Cursor is now gone and grabbed to main window.
- X- Added applause sound when level is finished.
- X- Found a bad bug in FreeBlocks() or something. Cool. fixes -static bug.
- X- The gun.c code is re-written so you can shoot more than 1 bullet at a time
- X making a machine gun effect. Really cool!!
- X- Added the maching gun block. It now lasts for a whole level.
- X- Removed the fore/background colours for gcand to init.c instead of being
- X in the misc.c code - reduces the rendershape routine down by 2 calls.
- X- Took out the backgrounds that were complicated and guady. 4 of them
- X- Added a walls off block
- X- Added a teleport block and it works.
- X- Audio can now be toggled on or off while playing game. a key
- X- Added the -setup option so sysops can find out whats going on.
- X- Removed the sideways level off on scrolling.
- X- Took out a few shitty things.
- X- Added the presenting screen and all its quirks. More sounds!
- X- Added a random block that changes colour every now and then.
- X- Fixed the event loops so that when it is iconified it uses hardly and cpu
- X and is much better on the system. Almost dissapears of top!
- X- Added multi ball mode - what a change!! Anyway up to six balls can now
- X bounce around causing havoc!
- X- Added sticky paddle block and mode - ball sticks to paddle and requires you
- X to shoot it off again.
- X- Added some neat sound effects - sorry for the voice ones but I am no sound
- X expert! :-)
- X- I think I have removed the flash before the window appears.
- X- Fixed they way the blocks explode after a bomb block.
- X- Pause is now more friendly to the system like iconify is.
- X- added a x2 and x4 bonus as well as fixing the old bonus code.
- X- Fixed the kill ball routine to work for multi balls - kill first in array.
- X- Made the x2 x4 turn off for each dead ball.
- X- You can now shoot some of the specials and get rid of them (3 times)
- X- Changed the way the ball checks for collisions - works well now - no
- X left overs and few muck ups. Cool - at last.
- X- Manual page update - install updated - readme updated - Imakefile updated
- X- Fixed a few little bugs - cannot use escape in bonus mode
- X
- XVersion 1.4/1.0 BETA
- X--------------------
- X
- X- Under developement, no time for notes. ;-)
- X
- X-------------------------------------------------------------------
- XJustin Kibell - jck@citri.edu.au - +61 3 282 2456 - Vic - Australia
- END_OF_FILE
- if test 11836 -ne `wc -c <'CHANGES'`; then
- echo shar: \"'CHANGES'\" unpacked with wrong size!
- fi
- # end of 'CHANGES'
- fi
- if test -f 'bitmaps/background3.xpm' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'bitmaps/background3.xpm'\"
- else
- echo shar: Extracting \"'bitmaps/background3.xpm'\" \(10576 characters\)
- sed "s/^X//" >'bitmaps/background3.xpm' <<'END_OF_FILE'
- X/* XPM */
- Xstatic char *background3_xpm[] = {
- X/* width height ncolors chars_per_pixel */
- X"100 100 3 1",
- X/* colors */
- X"` c #C0C0C0",
- X"a c #808080",
- X"b c #FFFFFF",
- X/* pixels */
- X"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
- X"a`b`b`b`b```b`b`b`b```b`b`b`b```b`b`b`b```b`b`b`b```b`b`b`b```b`b`b`b```b`b`b`b```b`b`b`b```b`b`b`b`",
- X"a``a`a`a`aa``a`a`a`aa``a`a`a`aa``a`a`a`aa``a`a`a`aa```a`a`a`a``a`a`a`aa``a`a`a`aa``a`a`a`aaba`a`a`a`",
- X"a``a`a`a`aa``a`a`a`aa``a`a`a`aa``a`a`a`aaba`a`a`a`a``a`a`a`aa``a`a`a`aa``a`a`a`aa``a`a`a`aa``a`a`a`a",
- X"aba`a`a`a`a``a``a`a`a``a``a`a`a``a``a`a`a``a`a`a`aa``a``a`a`a```a`a`a`a``a``a`a`a``a``a`a`a``a``a`a`",
- X"aba``a``a`a``a`a`a`aa```a`a``aa```a`a``aa```a``a``a```a``a`aa``a`a``a`a``a`a`a`aa```a`a``aa``a`a`a`a",
- X"a``a`a`a`aaba`a`a``aabaa`a`a`aa``a`a`aa`a```a`a`aaaa`a`aa`a`a```a``a`aaba`a`a``aabaa`a`a`aaba`a`a`a`",
- X"aba`a``a`aa``a`a``aaa```a``a`aaba`a`a```aa`a`a`a```a``a```a`aa`a``aa`aa``a`a``aaa```a``a`aa``a``a``a",
- X"a``a`aa`a`a``a``aa``a`a``aa`a`a``a`a`aaaaa``a`a`aaaaba`aa``aa```aa``a`a```a`aa``a`a``aa`a`a``a`a`a``",
- X"aba`a``a`aa```a```aaabaa``a`aaa``aa`a`a`aa`a`a`a```a``a``a``aa````a``aa``a`a``aaabaa```a`aa``a`a`aa`",
- X"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
- X"ab````````ab````````a`b`````b```b`b```b`````b````````b```````a``````````````````a`b```````ab````````",
- X"a````a```aa``a`a````aba``a``a`aa``a```a``aa`a````a`aa````````a````````aa````````aba`a`a```a````````a",
- X"abaa``aa``a```a`aaaaa``a``a`a`aa``aaa`a`a`a``aaa``a`a`aaa`aa`aa`aa`aa``a``aa`aa`a``a`a`aaaa`aaaaaa``",
- X"a```aa``aaabaa`a````a```aa`a`a`a`a```a`a`aa`a```aa`aa````a``a`a```a``aaaba``a``aa``a``a``aab``````aa",
- X"a``a```a`aa```a``aaaa``a``a`a`aa``a`a`a`a`a```aa``a`aa`a`a`a`aaba`a`a``a`a`a`a`aa`a``a`a`aa`aaa`aa``",
- X"aba`aaa`a`a`a``aa```a```a``a``aa```a`a`a`aaa`a``a``a`a``a`a`a`a``a`a`aaa``a`a`a`a``aa`a`a`a````a``aa",
- X"a``a```a`aabaa```aa`a``a`a`a`a`aa``a``a````aba`a`a``aa```a`a`aa```a`a``a```a`a`aa````a``a`a``a`a`a``",
- X"aba``aa``aa```aaa``aaa``a`a``a`aa`aaaa`aaaaa``a`a`aa`a``a`a```aa`a`a`a`aa``a``a`a``a`a`a`aaba`a`a``a",
- X"aba`a```aaaba`a``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aa``a``aa`a``a``a`aa`a`a`a`aa``a``a`aa``a``a`a`",
- X"aaaaaaaaaaaaaaaaaaa`a```````````````b````b```````aaaaaa`aaaa``aa```aa`a`a``a`a`aaa`aaaaaaaaaaaaaaaaa",
- X"ab````````ab`````b```ab````````aaa``a```a`a`a```````````a`aaaaaaaaaaaaaaa`aaaaaaaa`a``````ab````````",
- X"aba``a`a``a`````a`a`aa``aaaaaaa`aa``a`aa`a`aa```a`````a```````````a`a`aaa`````````b```````a```a``a``",
- X"aba`a`a``aa``aaa``a`aaba````````aaba`a``a`a`aa`aa`aaaaaa````````a`````b``````````a``a`a`aaa``a``a``a",
- X"a``a`a`aa`a`````aa`a`a``aa`aa`aa`a``a`a``a`a`a```a`````a``aaa`a`ab```a`aa``a`a`aaa`a`a`a``a``a`a`aa`",
- X"a```a`a``aa``aa```a`aa````a``a``aa```a`a``a`aa``a`aa`aaa````a`aaa`aa`a``a```a`a``a``a`a`aaa```a`a``a",
- X"aba`a``a`aa```a`aa`a`a``aa`a`a`a`aa`a`a`aa`a`a```a``a``aa`aa`a``a```a`a`aa`a`a`aaab`a``a`aaba`a`a`a`",
- X"a``a``a`a`a``a``a```aaa``aaaaaaaaaaaaaaaaaaaaa``a`a`a`a`a```a``aa``a`a`a`a``a``a`a`a``a`a`a``a`a`a`a",
- X"aba`aa`a`aa``a`a`aaaaaaaaa`````````b````b```aaaaa``a`a`aa``a`aa`aa``a`a`aa``a`a`aa``aa`a`aa```a``a``",
- X"a``a``a`a`a`aaaaaaa````b``````a``aa````aa````````aaaa`a`a``a```a`a``a``a`a```a`a`a````a``aa``a`a``aa",
- X"aaaaaaaaaaa``````b```aa```a`aa``aaa``aa`a`aa`aa`````aaaaaba`aa`a`a`a`aa`aabaa`a`aa``aa`aaaaaaaaaaaaa",
- X"ab````````a`````a`a`aa```a``a``a`aaba``a``a``aa``a``````aaaa``a`aa``a```aa```a`a`a`aaaaaaaa`````````",
- X"a```a`````a``a`a`a`a`aa``a`a`aa`aaa``a``aa`a`aa```a`a```a``aaaa`aa```aa`aa`a`aaaaaaaa```b```````````",
- X"aba``aaaa`a```a`a`a`aa```a`a```a`aaba`a```a`a`a``a`a`aa`a`````aaaa`aaaaaaa`aaaaaaa`b````a`a``a`aaaa`",
- X"a``aa````aa```a`a``a`aa``a`a`aa``aa``a`aaa`a`aa```a`a``aa````````a`aaaaaaa`a``b`b````a`a`aa```a````a",
- X"aba```aa`aa``a``a`a``aaba`aaaaaaaaaaaaaaaa`a`aa``a`a``a`a```aa```ab`b`b`bab`````aa``a`a`a`a``a`a`aa`",
- X"a``aa`a`a`a```aa`a`aaaaaaaaa```````b``````aaaaaba`a`aa`aa``a``aa`a``a`a`aa``a`aa`a```a``a`a``a``a``a",
- X"aba``a``a`a``a``aaaaaa````b`````aa````````````aaa``a``a`a``a`a``aa``a``a`a``a```aa``a`a`a`a```a`a`a`",
- X"a``a`a`a`aa`aaaaaa``ba```a`a`a`aaa``aaaaa`a`aa`b`aa``a`aa```a`a`aaba`aa`aaba`aaa`a```a`a`aa``a`a`a`a",
- X"a``a`aaaaaaaa```b```aa``a`a`a`a`aaba``````a`aa``a``aaa`aa``a``a`aa``a```aa``a```aa``a`a``aa```a`a`a`",
- X"a`aaaaaa``a`b```a`a`aa```a`a`a`aa```aa`aaa`aa````a```aa`a``a`a`aaa``a`aa`a``a`a`aa``a``aa`a`aaaaaaaa",
- X"a````b````a``a`a`a`a`a``a``a``a`a``a``a```aaa``a``a`a``aa``a`a``a``a`a``aa```a`a`a```a`aaaaaaa``````",
- X"a````a``a`a```a`a`a`aaba``a`aa`aa```a`a`aa`a````aa`a`a`aa`a``a`aa```a`a`aa`aa`a`aa``aaaaaaa`b```````",
- X"a``a`a`a`aa``a`a`a``aa`a`a`a``aa``aaaa`a``aa```a``a```aab`aaa``aa``a`a`aa````a``aa`aaa```ba```a`a`aa",
- X"aba`a`a`a`a```a``a`aaab`aaaaaaaaaaaaaaaaaaa```a`a``aa`aa````aaa`a```a`a`a``a`aaaaa```b```aa``a`a`a``",
- X"ab`a`a`a`aa``a`a`a``aaaaaaa`````b`b`b````aa`a`a`aa``aaa``a````aaa`aa`a`aa`aaaaa``a```a`a``a```a`a`a`",
- X"a`a`a`a``aa````a`aaaa````b````aa``a`a```aa```aaa``aa`aa```a`a``a`aaaaaaaa`a``b```ab`a`a`aaa``a`a`a`a",
- X"ab`a``a`a`a``aaaaaa`a````a`a`aa```a`a`aaa``````aaa``aa```a`a``aab``b``````````a`aa`a`a`a``a```a```a`",
- X"a```aa`a`aa`aaa```b`ab`a`a``aaa``a`a`a`aa``a`a```a`aaaba`a`a`aaa```a```aa```aa`aaaba``a`aaa``a`aa`a`",
- X"abaa`aaaaaa```b``aaaa``a``a``aaba`a`a`aa````a`a```aaab``a`a`a`a``a`a`a`a``a``a``a```a`a```a``a``a``a",
- X"aaaaaaa```a```aa```aaba`aa`aaa```a`a``aa``aa`a`aaaa```aa`a`a`aa```a`a`aa```aa``aa```a`a`aaa``aaaaaaa",
- X"a`b``b````ab`a```a`aa``a``a``a``a``a`aa``a``a`a`aa```a``a`a`aa```a``a`aa``a```aaa``a`a`a`aa`aaaa````",
- X"aba``a`a`aa`a`aaa`aa``a`a``aaaba`aa`aaab``a``a`aa```a`a``a`aaa``a`aa`aa```a`aa``a``a`aaaaaa```b`````",
- X"a``a`a``a`a``a```a`a```a`a``aa``a``a`a``a`aa``aaa``a``aa``a`a```a```a`a``a`a``aaa`aaaaa```ab`a`a`aa`",
- X"aba`a`aa`aaba`a`a`aa``a``aaaaaaaaaaaaa```a``a`aab```a``aaa`aaba`a`aa`aa```a`a`aaa`aa`b```aa`a`a`a``a",
- X"a``a`a```aa``a`a`a`a`aaaaaaaa```````aaaaa``a`aa```aa`a```aaa```a``a``aa``aaaaaaaa`b```a``aab`a`a``a`",
- X"aba`a`aaa`a```a`a`aaaaa```b`ab``````a`b`aaa`aaa``a``a`a```a`aaaaaaaaaaaaaaa````````a`a`aa`a`a``a`a`a",
- X"a``a`a```aa`a`aaaaaa`b````a`a``a`aa`a`````aa`a```a`a`a`aaaab````````aab``b`````a``a`a`a``aaba`a`a`a`",
- X"aba`a``a`aa`aaaa```a````a`aa``a`a``aaba`a```aa``a`a`a`a`aa``a```````a````a`a`aaa```a`a`a`aa``a`a`a`a",
- X"a``a`aaaaaa`a`b````ab`aa`a`a````a`aaa``a`a`a`a`a`a`a`a``aa````aaaa`aa```a`a``a`a``a`a``a`aaba``a``a`",
- X"a`aaaaaa```````a`aaa`a``a`aa``aa`a`a``a`a`a`a``aa`a``a`aa```aa````aaa``a`a`aa`aa```a`aa`aaa`aaaaaaaa",
- X"a````b````a``a``a`aaba`a`a`a````a`aa```a``a`a````aaa``aaaba``a`aa``aaba`a`a``aaa``a`a``aaaa`aa``````",
- X"a````a```aaba`aa``aa``a`a`aabaaa`a`a```a`a`aa``a```aaaaa```aa`a``aaa```a`a``a`aaba`aaaaa`a``b```````",
- X"a``aaa`aaaa``a```a`a`a`a``aa````a`aabaa``a`aaba``a```aaa``a```a`a`aa``a`a``aa`aaaaaa``````a``a`a`aaa",
- X"aba```a``aa``a`aa`aa```a`a`a`a`a``aa```aa`aaa``aa`a``````aaaaa`a`aaa```aaaaaaaaab```````aaaba`a`a```",
- X"aba`a``a`aaba`a``a`a`a``a`aaba`a`a`a`a```a`aa````a`a`aaa`````aaaaaaaaaaaaa``````````a`a``aa``a`a`aa`",
- X"a``a`aa`a`a``a``a`aa``aaaaaa`aaaaaaa``aaa`a`a``aa`a`a`a`````````````b``b``````aa``aa`a`a`aaba`a`a``a",
- X"aba`a``a`aaba``aa`aa`aaaaaaa``````aa`aaa`a`aa`a``a`a`aa```aaa`a```a``a``a`a`aaa```a``a`a`aa`a``a``a`",
- X"a``a`a``a`a``aaaaaaa`a``b`ba```````a````aaaaab`a``a`a`a``a```a`aaaa```aa``a`a`aa`a`a`a``aaab`a`a`a`a",
- X"aba`a`aa`aa`aaaaa````````a`a``a`a`aab``````aaaa`a`a``aa```aa``a```a``a``a`a``aa```a`a`a``aa``a``a`a`",
- X"aaaaaaaaaaa````b```a``a`a`aaba`a`a`a`a`a``````aaaa`a`aa``a``aa``aaa````a`a`aa`a``a`a`a`aaaa`aaaaaaaa",
- X"ab````````a`````a`aaba``a`aa``a`a`aa```a`a`aab````aaaaa``a`a```aa`a``aa`a`a```aa``aaaaaaaaa`````````",
- X"a`````````aba`aa`a`a``aa`a`a```a```a`aa`a`a`a```a````aaaaaa`aa`a`aa````a`aaaaaaaaaa`````b`ab``````a`",
- X"abaaaaaaaaa``a``a`aa````a`aa`a``aa`a```a`a`aa`a``a``````b``aaaaaaaaaaaaaaaaa``a`b``````a`aa`aaaaa``a",
- X"a````````aaba``a``aabaaa`a`a``aa`a`aa``a``a`a``a`a`aa`aa`a````````````````b````a```a`a`a`aab`````aa`",
- X"a``a`aa`a`a`a`aa`aaa````a``aa`````a`a`a``a``aa``a``a``aa```a``````aa```````a`aaa``a`a`a``aa`aa`aa``a",
- X"aba`a``a`aa``a``a``a`a`a`aaa``aaa`a`a``aa`aa`a`a`aa`aa`a``a`aaaaa`aa``aaaaa`a`aaba`a`a`aa`a```a``a``",
- X"a``a`a`a`aa```a``aaaba`a```aa````a`aa````a``aaba```a``aa``a``````a`a```````a`a`a``a`a`a``aa``a`a`aa`",
- X"aba`a`a``aabaa`aa``a``a`aaaaa`aaaaaaa`aa`a`a`a```aa``a`a``a`aa`aa`aa``aa`aa`a`aa```a```a`aaba`a`a``a",
- X"aba``a`a`aa`a`aaaaaaaaaaaaaaa`a`a`a`aaaaaaaaaaa`aa``aa`aa``a``a``a`a````a``a`a`a```a`a`a`aa``a``a`a`",
- X"aaaaaaaaaaaaaaaaaaaa`````b`bab````````b``````aaaaaaaa`a`a``a`a`a`a`aa`a`a`a``aaa`aaaaaaaaaaaaaaaaaaa",
- X"ab````````ab``b`b`b``````a`aa```a```aa`````````b````aaaaaaaaaaaaaaaaa`aaaaaaaaaaa`````````ab````````",
- X"a```a``a``a```a`a`aaa`a`a`a`a``a`aa`aaba`aaa`aa```````````b`````````a`````````````````````a```a``a``",
- X"a``a``a``aa``a`a``a`a``a`a``aa``a``a`a``a```a`aa`aa`a```aa`a````````a`````a````aa`a`aa`aaaa``a``a``a",
- X"aba`aa`aa`a``a``aa`aaba`a`aa`a`a`a`a`aa``aa``a`a```a`aa`aa``a`aaaa`aa``aa``aaa`aab`a``a```a``a`a`aa`",
- X"a``a``a``aa``aa```a`a``a`a``aa```a``a`a```aa`a`a`a``a``a`a```a````a`aa```a```a`aa``a`a`aaaa``a`a```a",
- X"aba``a`a`aaba`a`aa`aaba`a``a`a``a`aa`aabaa``a`aa``aa``a``aa``a`aa`a`aa``a`aaa``aaba`a`a``aaba``a`aa`",
- X"aba`aa`a`aa``a``a``aa``a``a`aaba`a``a`a````a`a`aa````aa`a`a`a`a``a`a`aba`a````aaa``a`a``a`a`a`a`a``a",
- X"a``a``a`a`a``a`a`a`aa``a`a`a`a``a`a``aa``aa`a```a`a`a``a`aa```a`a`a`aa``a`aa`a``a```a`aa`aa``a`a`a``",
- X"aba`a``a`aa```a`a`a`a``a`aa`aaa`aaaaaaaa`aa`aaaaa``a`a``a`a``a`a`a```a```a``a`aaa`a``a``a`a```a`a`aa",
- X"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaa",
- X"ab````````ab````````ab`````````b`b`b`b````b`b`b```b````````a`````````a``````````a`````````ab````````",
- X"a```a``a``a``a````a`a````````aa``a`a`a`a``a`a`a``a`````````a``````````ab````````aba``a``a`a```a`````",
- X"aba``a``aaa```aaa``aa`aaaaa`a`a``a``a`aa```a`a`aaa`aaaaa`a`a``aa`aaa`aa`aaa`aaa`a``a``a``aa`a``aaaa`",
- X"a``aa`aa`aabaa```a`aab`````a`aaba`aa`a`aa`a`a`a``a``````a`aaa```a``a`aab```a```aaba`aa`a`aab`aa````a",
- X"aba``a```aa`a``a`a`aa`aa`aa``aa``a``a``aa``a`a``aaa``aa`a`a`a`a`a`a``aa`aaa`a`aaa``a```a`aa`a``a`aa`",
- X"a``a`a`aa`a``aa`a`a`a```a``aa`a```a``aa`aba``a`a`aa``a`a`a`aab`a`a`aa`a````a`a``a`a`aa`a`aa``a``a``a",
- X"aba`a`a``aa````a`a`aa``a`a```aa`a`aa```aa``a`a`a`aa```a`a`a`a``a``a``aa``a``a`aaaba```a`a`a``aa`a`a`",
- X"a``a`a`a`aa``aa`a``aaba`a`aa`aab`a``aa`aaba`a`a`a`aba`a``a`aaba`aa`a`aaba`aa`a`aa```aa`a`aaba``a`a`a",
- X"aba`a``a`aaba``a``aaa``a``a``aa`a`a`a``aa`a`a``a`aa``a``a``aa``a```a`aa``a``a``aa``a``a``aa`a`a`a`a`"
- X};
- END_OF_FILE
- if test 10576 -ne `wc -c <'bitmaps/background3.xpm'`; then
- echo shar: \"'bitmaps/background3.xpm'\" unpacked with wrong size!
- fi
- # end of 'bitmaps/background3.xpm'
- fi
- if test -f 'presents.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'presents.c'\"
- else
- echo shar: Extracting \"'presents.c'\" \(12354 characters\)
- sed "s/^X//" >'presents.c' <<'END_OF_FILE'
- X#include "copyright.h"
- X
- X/*
- X * Include file dependencies:
- X */
- X
- X#include <stdio.h>
- X#include <stdlib.h>
- X#include <stddef.h>
- X#include <X11/Xlib.h>
- X#include <X11/Xutil.h>
- X#include <X11/Xos.h>
- X#include <xpm.h>
- X
- X#include "error.h"
- X#include "misc.h"
- X#include "main.h"
- X#include "init.h"
- X#include "intro.h"
- X#include "audio.h"
- X#include "stage.h"
- X#include "mess.h"
- X#include "version.h"
- X
- X#include "bitmaps/flag.xpm"
- X#include "bitmaps/earth.xpm"
- X#include "bitmaps/titleX.xpm"
- X#include "bitmaps/titleB.xpm"
- X#include "bitmaps/titleO.xpm"
- X#include "bitmaps/titleI.xpm"
- X#include "bitmaps/titleN.xpm"
- X#include "bitmaps/titleG.xpm"
- X#include "bitmaps/justin.xpm"
- X#include "bitmaps/kibell.xpm"
- X#include "bitmaps/presents.xpm"
- X
- X#include "presents.h"
- X
- X/*
- X * Internal macro definitions:
- X */
- X
- X#define GAP 10
- X
- X/*
- X * Internal type declarations:
- X */
- X
- X#if NeedFunctionPrototypes
- Xvoid SetPresentWait(int newMode, int waitFrame);
- Xvoid DoPresentWait(void);
- X#else
- Xvoid SetPresentWait();
- Xvoid DoPresentWait();
- X#endif
- X
- X/*
- X * Internal variable declarations:
- X */
- X
- Xstatic int nextFrame = 0;
- Xstatic int endFrame = 0;
- Xstatic int startFrame = 0;
- Xenum PresentStates PresentState;
- Xstatic Pixmap flagPixmap, flagPixmapM, earthPixmap, earthPixmapM;
- Xstatic Pixmap titlePixmap[6], titlePixmapM[6];
- Xstatic Pixmap justin, justinM, kibell, kibellM, presents, presentsM;
- Xstatic int waitingFrame, waitMode;
- X
- X#if NeedFunctionPrototypes
- Xvoid SetUpPresents(Display *display, Window window, Colormap colormap)
- X#else
- Xvoid SetUpPresents(display, window, colormap)
- X Display *display;
- X Window window;
- X Colormap colormap;
- X#endif
- X{
- X XpmAttributes attributes;
- X int XpmErrorStatus;
- X
- X attributes.valuemask = XpmColormap;
- X attributes.colormap = colormap;
- X
- X XpmErrorStatus = XpmCreatePixmapFromData(display, window, flag_xpm,
- X &flagPixmap, &flagPixmapM, &attributes);
- X HandleXPMError(display, XpmErrorStatus, "InitialisePresent(flag)");
- X
- X XpmErrorStatus = XpmCreatePixmapFromData(display, window, titleX_xpm,
- X &titlePixmap[0], &titlePixmapM[0], &attributes);
- X HandleXPMError(display, XpmErrorStatus, "InitialisePresent(titleX)");
- X
- X XpmErrorStatus = XpmCreatePixmapFromData(display, window, titleB_xpm,
- X &titlePixmap[1], &titlePixmapM[1], &attributes);
- X HandleXPMError(display, XpmErrorStatus, "InitialisePresent(titleB)");
- X
- X XpmErrorStatus = XpmCreatePixmapFromData(display, window, titleO_xpm,
- X &titlePixmap[2], &titlePixmapM[2], &attributes);
- X HandleXPMError(display, XpmErrorStatus, "InitialisePresent(titleO)");
- X
- X XpmErrorStatus = XpmCreatePixmapFromData(display, window, titleI_xpm,
- X &titlePixmap[3], &titlePixmapM[3], &attributes);
- X HandleXPMError(display, XpmErrorStatus, "InitialisePresent(titleI)");
- X
- X XpmErrorStatus = XpmCreatePixmapFromData(display, window, titleN_xpm,
- X &titlePixmap[4], &titlePixmapM[4], &attributes);
- X HandleXPMError(display, XpmErrorStatus, "InitialisePresent(titleN)");
- X
- X XpmErrorStatus = XpmCreatePixmapFromData(display, window, titleG_xpm,
- X &titlePixmap[5], &titlePixmapM[5], &attributes);
- X HandleXPMError(display, XpmErrorStatus, "InitialisePresent(titleG)");
- X
- X /* Justin kibell presents */
- X
- X XpmErrorStatus = XpmCreatePixmapFromData(display, window, justin_xpm,
- X &justin, &justinM, &attributes);
- X HandleXPMError(display, XpmErrorStatus, "InitialisePresent(justin)");
- X
- X XpmErrorStatus = XpmCreatePixmapFromData(display, window, kibell_xpm,
- X &kibell, &kibellM, &attributes);
- X HandleXPMError(display, XpmErrorStatus, "InitialisePresent(kibell)");
- X
- X XpmErrorStatus = XpmCreatePixmapFromData(display, window, presents_xpm,
- X &presents, &presentsM, &attributes);
- X HandleXPMError(display, XpmErrorStatus, "InitialisePresent(presents)");
- X
- X /* Create the earth pixmap */
- X
- X XpmErrorStatus = XpmCreatePixmapFromData(display, window, earth_xpm,
- X &earthPixmap, &earthPixmapM, &attributes);
- X HandleXPMError(display, XpmErrorStatus, "InitialisePresent(earth)");
- X
- X /* Free the xpm pixmap attributes */
- X XpmFreeAttributes(&attributes);
- X
- X /* Setup intro to initial state */
- X ResetPresents();
- X}
- X
- X#if NeedFunctionPrototypes
- Xstatic void DrawLetter(Display *display, Window window, int letter,
- X int x, int y)
- X#else
- Xstatic void DrawLetter(display, window, letter, x, y)
- X Display *display;
- X Window window;
- X int letter;
- X int x, y;
- X#endif
- X{
- X switch(letter)
- X {
- X case 0:
- X RenderShape(display, window, titlePixmap[0], titlePixmapM[0],
- X x, y, 71, 74, False);
- X break;
- X
- X case 1:
- X RenderShape(display, window, titlePixmap[1], titlePixmapM[1],
- X x, y, 73, 74, False);
- X break;
- X
- X case 2:
- X RenderShape(display, window, titlePixmap[2], titlePixmapM[2],
- X x, y, 83, 74, False);
- X break;
- X
- X case 3:
- X RenderShape(display, window, titlePixmap[3], titlePixmapM[3],
- X x, y, 41, 74, False);
- X break;
- X
- X case 4:
- X RenderShape(display, window, titlePixmap[4], titlePixmapM[4],
- X x, y, 85, 74, False);
- X break;
- X
- X case 5:
- X RenderShape(display, window, titlePixmap[5], titlePixmapM[5],
- X x, y, 88, 74, False);
- X break;
- X
- X default:
- X ErrorMessage("Error: In default for DrawLetter()");
- X }
- X}
- X
- X#if NeedFunctionPrototypes
- Xvoid DoPresentFlag(Display *display, Window window)
- X#else
- Xvoid DoPresentFlag(display, window)
- X Display *display;
- X Window window;
- X#endif
- X{
- X char string[80];
- X int y, x;
- X
- X x = ((MAIN_WIDTH + PLAY_WIDTH) / 2) - 35;
- X
- X /* Draw the flag bitmap */
- X RenderShape(display, window, flagPixmap, flagPixmapM,
- X x, 15, 71, 40, True);
- X DrawShadowCentredText(display, window, textFont,
- X "Proudly Australian Made",
- X 65, white, PLAY_WIDTH + MAIN_WIDTH);
- X
- X x = ((MAIN_WIDTH + PLAY_WIDTH) / 2) - 207;
- X RenderShape(display, window, earthPixmap, earthPixmapM,
- X x, 100, 415, 415, False);
- X
- X y = MAIN_HEIGHT + PLAY_HEIGHT - 50;
- X
- X /* Construct a copyright message leaving space for the copyright circle */
- X strcpy(string, " Copyright 1993 Justin C. Kibell, All Rights Reserved");
- X string[0] = 0xa9; /* Copyright circle */
- X DrawShadowCentredText(display, window, copyFont, string, y, white,
- X PLAY_WIDTH + MAIN_WIDTH);
- X
- X /* My email address for contact and fame :-) */
- X DrawShadowCentredText(display, window, copyFont,
- X "email: jck@citri.edu.au", y + 15, white, PLAY_WIDTH + MAIN_WIDTH);
- X DrawShadowCentredText(display, window, copyFont,
- X "Version 1.6", y + 30, white, PLAY_WIDTH + MAIN_WIDTH);
- X}
- X
- X#if NeedFunctionPrototypes
- Xstatic void DoText1(Display *display, Window window)
- X#else
- Xstatic void DoText1(display, window)
- X Display *display;
- X Window window;
- X#endif
- X{
- X int x, y;
- X
- X if (noSound == False) playSoundFile("intro", 50);
- X
- X x = ((MAIN_WIDTH + PLAY_WIDTH) / 2) - 142;
- X y = 200;
- X
- X /* Render the Justin bitmap */
- X RenderShape(display, window, justin, justinM,
- X x, y, 285, 44, False);
- X
- X SetPresentWait(PRESENT_TEXT2, frame + 500);
- X}
- X
- X#if NeedFunctionPrototypes
- Xstatic void DoText2(Display *display, Window window)
- X#else
- Xstatic void DoText2(display, window)
- X Display *display;
- X Window window;
- X#endif
- X{
- X int x, y;
- X
- X x = ((MAIN_WIDTH + PLAY_WIDTH) / 2) - 130;
- X y = 300;
- X
- X /* Render the Justin bitmap */
- X RenderShape(display, window, kibell, kibellM,
- X x, y, 260, 40, False);
- X
- X SetPresentWait(PRESENT_TEXT3, frame + 500);
- X}
- X
- X#if NeedFunctionPrototypes
- Xstatic void DoText3(Display *display, Window window)
- X#else
- Xstatic void DoText3(display, window)
- X Display *display;
- X Window window;
- X#endif
- X{
- X int x, y;
- X
- X x = ((MAIN_WIDTH + PLAY_WIDTH) / 2) - 205;
- X y = 400;
- X
- X /* Render the Justin bitmap */
- X RenderShape(display, window, presents, presentsM,
- X x, y, 410, 44, False);
- X
- X SetPresentWait(PRESENT_LETTERS, frame + 750);
- X}
- X
- Xint dists[] =
- X{
- X 71, 73, 83, 41, 85, 88
- X};
- X
- X#if NeedFunctionPrototypes
- Xstatic void DoLetters(Display *display, Window window)
- X#else
- Xstatic void DoLetters(display, window)
- X Display *display;
- X Window window;
- X#endif
- X{
- X static int i = 0;
- X static int x = 40;
- X
- X if (i < 6)
- X {
- X if (noSound == False)
- X playSoundFile("stamp", 100);
- X
- X DrawLetter(display, window, i, x, 550);
- X x += 10 + dists[i];
- X
- X DrawLine(display, window, 30, 530,
- X (MAIN_WIDTH + PLAY_WIDTH) - 30, 530, red, 2);
- X
- X DrawLine(display, window, 30, 644,
- X (MAIN_WIDTH + PLAY_WIDTH) - 30, 644, red, 2);
- X
- X SetPresentWait(PRESENT_LETTERS, frame + 500);
- X }
- X else
- X {
- X SetPresentWait(PRESENT_CLEAR, frame + 2000);
- X }
- X
- X i++;
- X}
- X
- X#if NeedFunctionPrototypes
- Xstatic void DoClear(Display *display, Window window)
- X#else
- Xstatic void DoClear(display, window)
- X Display *display;
- X Window window;
- X#endif
- X{
- X static int yt, yb;
- X static int first = True;
- X
- X if (first == True)
- X {
- X yt = 0;
- X yb = PLAY_HEIGHT + MAIN_HEIGHT - 5;
- X first = False;
- X nextFrame = frame;
- X
- X if (noSound == False)
- X playSoundFile("whoosh", 70);
- X
- X }
- X
- X if (frame >= nextFrame)
- X {
- X /* Clear and draw lines */
- X XClearArea(display, window, 0, yt, PLAY_WIDTH + MAIN_WIDTH, 10, False);
- X yt += 10;
- X DrawLine(display, window, 2, yt, PLAY_WIDTH + MAIN_WIDTH-2, yt, red, 1);
- X
- X XClearArea(display, window, 0, yb, PLAY_WIDTH + MAIN_WIDTH, 10, False);
- X yb -= 10;
- X DrawLine(display, window, 2, yb, PLAY_WIDTH + MAIN_WIDTH-2, yb, red, 1);
- X
- X if (yt > ((PLAY_HEIGHT + MAIN_HEIGHT) / 2))
- X SetPresentWait(PRESENT_FINISH, frame + 20);
- X
- X nextFrame = frame + 20;
- X }
- X}
- X
- X#if NeedFunctionPrototypes
- Xvoid QuickFinish(Display *display, Window window)
- X#else
- Xvoid QuickFinish(display, window)
- X Display *display;
- X Window window;
- X#endif
- X{
- X /* User has pressed space so finish early */
- X SetPresentWait(PRESENT_FINISH, frame);
- X}
- X
- X#if NeedFunctionPrototypes
- Xstatic void DoFinish(Display *display, Window window)
- X#else
- Xstatic void DoFinish(display, window)
- X Display *display;
- X Window window;
- X#endif
- X{
- X /* Free all the pixmaps used in this intro */
- X FreePresents(display);
- X
- X /* Erase all stuff in window */
- X XClearWindow(display, mainWindow);
- X
- X /* Map all the windows */
- X MapAllWindows(display);
- X
- X /* Now jump into the intro mode */
- X ResetIntroduction();
- X mode = MODE_INTRO;
- X}
- X
- X#if NeedFunctionPrototypes
- Xvoid Presents(Display *display, Window window)
- X#else
- Xvoid Presents(display, window)
- X Display *display;
- X Window window;
- X#endif
- X{
- X switch (PresentState)
- X {
- X case PRESENT_FLAG:
- X DoPresentFlag(display, window);
- X PresentState = PRESENT_TEXT1;
- X break;
- X
- X case PRESENT_TEXT1:
- X if ((frame % 10) == 0)
- X DoText1(display, window);
- X break;
- X
- X case PRESENT_TEXT2:
- X if ((frame % 10) == 0)
- X DoText2(display, window);
- X break;
- X
- X case PRESENT_TEXT3:
- X if ((frame % 10) == 0)
- X DoText3(display, window);
- X break;
- X
- X case PRESENT_LETTERS:
- X DoLetters(display, window);
- X break;
- X
- X case PRESENT_CLEAR:
- X DoClear(display, window);
- X break;
- X
- X case PRESENT_FINISH:
- X DoFinish(display, window);
- X break;
- X
- X case PRESENT_WAIT:
- X DoPresentWait();
- X break;
- X
- X default:
- X break;
- X }
- X}
- X
- X#if NeedFunctionPrototypes
- Xvoid RedrawPresents(Display *display, Window window)
- X#else
- Xvoid RedrawPresents(display, window)
- X Display *display;
- X Window window;
- X#endif
- X{
- X}
- X
- X#if NeedFunctionPrototypes
- Xvoid FreePresents(Display *display)
- X#else
- Xvoid FreePresents(display)
- X Display *display;
- X#endif
- X{
- X int i;
- X
- X /* Free the flag pixmaps */
- X if (flagPixmap) XFreePixmap(display, flagPixmap);
- X if (flagPixmapM) XFreePixmap(display, flagPixmapM);
- X
- X /* Free the large earth pixmap and it's mask */
- X if (earthPixmap) XFreePixmap(display, earthPixmap);
- X if (earthPixmapM) XFreePixmap(display, earthPixmapM);
- X
- X /* Free the text pixmaps for justin, kibell and presents */
- X if (justin) XFreePixmap(display, justin);
- X if (justinM) XFreePixmap(display, justinM);
- X
- X if (kibell) XFreePixmap(display, kibell);
- X if (kibellM) XFreePixmap(display, kibellM);
- X
- X if (presents) XFreePixmap(display, presents);
- X if (presentsM) XFreePixmap(display, presentsM);
- X
- X /* Free the pixmaps for the letters of the work xboing */
- X for (i = 0; i < 6; i++)
- X {
- X /* Free each of the letters in XBOING */
- X if (titlePixmap[i]) XFreePixmap(display, titlePixmap[i]);
- X if (titlePixmapM[i]) XFreePixmap(display, titlePixmapM[i]);
- X }
- X}
- X
- X#if NeedFunctionPrototypes
- Xvoid ResetPresents(void)
- X#else
- Xvoid ResetPresents()
- X#endif
- X{
- X PresentState = PRESENT_FLAG;
- X nextFrame = frame + 100;
- X startFrame = frame + 10;
- X endFrame = frame + 3000;
- X}
- X
- X#if NeedFunctionPrototypes
- Xvoid SetPresentWait(int newMode, int waitFrame)
- X#else
- Xvoid SetPresentWait(newMode, waitFrame)
- X int newMode;
- X int waitFrame;
- X#endif
- X{
- X waitingFrame = waitFrame;
- X waitMode = newMode;
- X PresentState = PRESENT_WAIT;
- X}
- X
- X#if NeedFunctionPrototypes
- Xvoid DoPresentWait(void)
- X#else
- Xvoid DoPresentWait()
- X#endif
- X{
- X if (frame == waitingFrame)
- X PresentState = waitMode;
- X}
- END_OF_FILE
- if test 12354 -ne `wc -c <'presents.c'`; then
- echo shar: \"'presents.c'\" unpacked with wrong size!
- fi
- # end of 'presents.c'
- fi
- if test -f 'sfx.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sfx.c'\"
- else
- echo shar: Extracting \"'sfx.c'\" \(2976 characters\)
- sed "s/^X//" >'sfx.c' <<'END_OF_FILE'
- X#include "copyright.h"
- X
- X/*
- X * Include file dependencies:
- X */
- X
- X#include <stdio.h>
- X#include <stdlib.h>
- X#include <stddef.h>
- X#include <X11/Xlib.h>
- X#include <X11/Xutil.h>
- X#include <X11/Xos.h>
- X#include <xpm.h>
- X
- X#include "error.h"
- X#include "init.h"
- X#include "stage.h"
- X#include "score.h"
- X#include "blocks.h"
- X#include "ball.h"
- X#include "main.h"
- X#include "mess.h"
- X#include "intro.h"
- X
- X#include "sfx.h"
- X
- X/*
- X * Internal macro definitions:
- X */
- X
- X#define SHAKE_DELAY 5
- X#define SCROLL_ON_DELAY 3
- X#define SCROLL_OFF_DELAY 3
- X#define SCROLL_ON_INC 11
- X#define SCROLL_OFF_INC 11
- X
- X/*
- X * Internal type declarations:
- X */
- X
- X/*
- X * Internal variable declarations:
- X */
- X
- Xstatic int sfxEndFrame, useSfx;
- Xint modeSfx, oldModeSfx;
- X
- X#if NeedFunctionPrototypes
- Xvoid useSpecialEffects(int state)
- X#else
- Xvoid useSpecialEffects(state)
- X int state;
- X#endif
- X{
- X /* Set the state of the special effects - True = use */
- X /* Of course - if the sfx are not possible then no effect */
- X useSfx = state;
- X}
- X
- X#if NeedFunctionPrototypes
- Xint getSpecialEffects(Display *display)
- X#else
- Xint getSpecialEffects(display)
- X Display *display;
- X#endif
- X{
- X /* Only shake around if the server has backing store on */
- X if (DoesBackingStore(XDefaultScreenOfDisplay(display)) != Always)
- X return -1;
- X
- X /* Return special effects state - on or off */
- X return useSfx;
- X}
- X
- X#if NeedFunctionPrototypes
- Xvoid changeSfxMode(int newMode)
- X#else
- Xvoid changeSfxMode(newMode)
- X int newMode;
- X#endif
- X{
- X oldModeSfx = modeSfx;
- X modeSfx = newMode;
- X}
- X
- X#if NeedFunctionPrototypes
- Xint currentSfxMode(void)
- X#else
- Xint currentSfxMode()
- X#endif
- X{
- X /* Return the current special effects mode */
- X return modeSfx;
- X}
- X
- X#if NeedFunctionPrototypes
- Xint oldSfxMode(void)
- X#else
- Xint oldSfxMode()
- X#endif
- X{
- X /* Return the previous special effects mode */
- X return oldModeSfx;
- X}
- X
- X#if NeedFunctionPrototypes
- Xstatic void resetEffect(Display *display)
- X#else
- Xstatic void resetEffect(display)
- X Display *display;
- X#endif
- X{
- X /* Just re-centre window and return */
- X modeSfx = SFX_NONE;
- X XMoveWindow(display, playWindow, 35, 60);
- X}
- X
- X#if NeedFunctionPrototypes
- Xint WindowShakeEffect(Display *display, Window window)
- X#else
- Xint WindowShakeEffect(display, window)
- X Display *display;
- X Window window;
- X#endif
- X{
- X static int x = 35;
- X static int y = 60;
- X int xi, yi;
- X
- X /* Does the user want special effects */
- X if (useSfx == False)
- X {
- X /* No - Just return out */
- X resetEffect(display);
- X return False;
- X }
- X
- X /* Only shake around if the server has backing store on */
- X if (DoesBackingStore(XDefaultScreenOfDisplay(display)) != Always)
- X {
- X resetEffect(display);
- X return False;
- X }
- X
- X if (frame >= sfxEndFrame)
- X {
- X resetEffect(display);
- X return False;
- X }
- X
- X if ((frame % SHAKE_DELAY) != 0) return True;
- X
- X XMoveWindow(display, window, x, y);
- X XFlush(display);
- X
- X xi = (rand() % 6) - 3;
- X yi = (rand() % 6) - 3;
- X x = xi + 35; y = yi + 60;
- X
- X return True;
- X}
- X
- X#if NeedFunctionPrototypes
- Xvoid SetSfxEndFrame(int endFrame)
- X#else
- Xvoid SetSfxEndFrame(endFrame)
- X int endFrame;
- X#endif
- X{
- X sfxEndFrame = endFrame;
- X}
- END_OF_FILE
- if test 2976 -ne `wc -c <'sfx.c'`; then
- echo shar: \"'sfx.c'\" unpacked with wrong size!
- fi
- # end of 'sfx.c'
- fi
- if test -f 'sounds/stamp.au.uue' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sounds/stamp.au.uue'\"
- else
- echo shar: Extracting \"'sounds/stamp.au.uue'\" \(12793 characters\)
- sed "s/^X//" >'sounds/stamp.au.uue' <<'END_OF_FILE'
- Xbegin 664 stamp.au
- XM+G-N9 "#_____ 0 'T ! #;-S__14XWQ<Y;,#/.
- XM6\4P_[?%OS<_V___,\[;Q3,[Q=O_+-N[__\SO[?_,#>_Q;\M,["S6S_;Q;].
- XM++^___]%N[N[,$6_SK=%3MNS,S=;6[=;3L[;3C?__[?%,/^S_SLW-]N_3EN_
- XM3C\S6[^S-RVWO[]%-[_;K5M;VSN_3KNPLS?;K=M;14ZFL_].OT[;O\6HMS!;
- XMVZW.1?^LH,6[/\6S_UM;M\Z[/\[.SMLMQ3,W,SLP144[3D[_)BT_VTY.-S>P
- XM/S,?1<6[Q2RW/RT_O]O;/T[%K3<S_T5.O[^WJ-LW+#._JL6PK<4H,$6WLT7%
- XM_UO_+"HSVS L/T5%.T4_NR@D-S D'S,PSC<B)"TS+"8F*C\?'RT[13 [_[O_
- XM-TX_/S WO_\H'S,[/S\W-S,S-Q\F+3LL.S\D*"0D'Q\?'Q\?'R ?'Q\@'Q\?
- XM'Q\?*"8L+" M(A\@+4X_SKM;Q?].N["MIK"JG[>?IK"@GY^XMJNPL*VPKJ2E
- XMKJJJN+VMM:^MKK^\M;_"PK;)R5W/5]W,PDPV0LP\,T6_24DZ3#U,,4)714))
- XM3&M=0NNZ3\7"R47%PLS)O;6XO,RZK[:ON+&JL[&VK+JUL*VHO*ZPML*LR;#_
- XM_UV_3SC_W<(\/44Q.BQ",2@H-2@E'Q\E)2DA'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\B("8B*2(E+3HX-C X/3IK5VM73[JQPKJPM:F_
- XMLY^?KJZHH)^DJ)^?I)^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?
- XMHY^?GY^?H)^BI:"CI*6JJ:VLJJ:\KJ^SO;#=7;S%_]=%0E<L+S@X+BTJ*BLB
- XM(",?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'R8B'RL?'R$D(C8P(RLP,#8P24]%
- XM0EW_PO_=S,RS7=VQK;6XLY^QLZ6GJ*NJK*2EJZ6DJ*NIH9^JJJ2EJJ*KKK"S
- XMI:JOLZVMKZZLKZO7O[^]N,+%MKC/R=W7R>M/UUU/R4],3$Q7W2\S,SHK*S4N
- XM)RHI)Q\?(B,A)B(B(A\?'R,@'Q\?'Q\?'Q\?'Q\C)1\?'RLB'R(G'Q\@)R@D
- XM+2PZ*B4K0C8Q/=<\23U7PCW_NL7KL,+KO*^OJ;VPJJBPL*BHI;.JK:"XKZVH
- XMJ*^OI:>OI:.LIZZLJ+.QHJB?IZNPJ+.JG["UJJJHNK^LIZRIK;&LO<S,JJZX
- XMN+:]O6O/O<*_N%?/3#]7SVO=W4D\.CA"SU=%:S9%,# \0BTX/#8I*BXQ*C,U
- XM,"LM*BDG*B8G+"LH+B4E*#$I*"<H(1\J*"0C*"PJ)"DI)2@G*BDI)2HI*B0E
- XM*C,G'RHN-2PE+"\V)2<P13HX0D(S,T(_-C@]5T])/]W,NMV_O;&ZL:ZNKJNJ
- XMJ*JMKJFAHY^DHJ"?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?
- XMGY^?GY^?GY^CI9^?GZ2BGY^CJ:JQL*J?HK&ZM;.N74S%S,EKUSHN/4__.#4M
- XM,2DK+"XD*"HD'R,A'R$?(BH?'Q\?'Q\?("$?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?(",?'Q\?'Q\?)20?'R @(!\K)A\D+1\B*"TS-3 L*"PU+R\S.C\V
- XM/38N+TPZZU<V0EU,->MKZSH]S]T\5[W/NDE/Z[U/O;JQW46]NL]=Z[VZMK/%
- XML+'/1:NSO^O%NKRXS[JSMK:ZK;BLJ;.OJZRLJK"QJJJGI:&?JI^CI:"DGZ6?
- XMGY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?I9^?GZ.AGY^?I*>?
- XMHZ>GGY^HJ*^BI;6SL:JQK:^QMMW)MKU724E/13\_14]K,3$Q,R0F.B\K*BD?
- XM'Q\E)1\?)B4?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\A(2@E)R@J+"@N73HU/4+/W?]KPK:]N*W/L*JSL:RGI*6KH9^?H)^?
- XMGY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?
- XMGY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?
- XMGY^?GY^?GZ&?H*BDHZ"LJZJIMLFUJ6M73.N]/3Q,3T(F*C8S)2DI(R,?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'R(G)2$B)24D
- XM*BXQ*RTJ*C$S-C$U0EU7_SC,Q;S/W<*ZM;"SK:^\LZBJI+"JIZ6JI*6EHJ*F
- XMJZ&AHZ:GHZ*BIJ2BH*6EHZ.DGY^@H**JHY^?GZ&?GZ.?GZ&EI*B?H:.EHZ&?
- XMHJ2KI:6@H:NBI*JJJJ*KL:VEJ;&PLZNUS+VPL<+%L;#=R;^]O,]7:[_=PM?_
- XMZ_]/UT(]2=WK_^OKZ\]K_]T_7>O7U\S=O;S"NKV\U[J]L;J_O;JNMK:]N+"Q
- XMO[:ZO;^_O;/"R47/N+K_.KJX3SQ%:U=%0C]%3#$Z134J/T\X*C$S*C P-3$K
- XM)R,H)RLE)2HP,28E'R4I-BPD)2$J+24K*RHQ*2DE(B<L*RTN*BHG+"HJ*"TQ
- XM*RXK*C8P+"LL-2XQ,S P-4],/S@V/#T\/45"14]):S8X25="5_\\3&M7:T]/
- XM73\\3U=)5_\_.#P]."\P-CI"-B\N-3$N*C,P*C$M,2\P+2TU+RPF*S Q-3\Z
- XM+C$],34N-D5)23,\13TX26M//#_KZTE=S]?_:T_7U\G"L<*_Q<F]O+RZN+RM
- XML:^SM:RJJK&OKJZNK*JIJZVNJK&ULZRKI:NVL+^VK[6SL+RXL[JVL;"ZK[6Z
- XMO<*]K*ZQMK.OM;"QKKRUK:VOO;VPL[6VL*VNJZRLK;"IHZ.PK*6?GZ2AI*6A
- XMGY^?GY^?GY^?GY^?GY^AHI^?GY^?GY^?GZ*FHJ>GJ*:GK+RXJK_)R;V_W5=7
- XM.#,V/"TS*RLP*B@I)R4?(!\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\@'R @(2,A'R(@'Q\?(R$I*"DH*B0D)RXN*RTF
- XM*B\K+# O,#TV,S,O/#A".CHX+S!%.C8]_UU".#U).$)/5T(P/$G_/$E%0CU=
- XMW<]/7<7"_VO_Z\]KO<*SL+"PKJNML:ZEJ;6KI:&?I)^?H)^?GY^?GY^?GY^?
- XMGY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^AGY^?HI^GI*JMK:^SL[B\K[6\
- XMN+_/U]=K3%U/W?]%/S@U,U<_/2XP+B\N*R4D(R8E)1\?(B0D(Q\?'Q\?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\C*2HG)2<J
- XM+RDJ+RLQ*BPM+2\U3U<].EW/_TGKW==K_[_/S\^PMKB\N+6NI:JGJJFII:*@
- XMIZ.?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?
- XMGY^?GY^DJJFFK[.UNKJ_MK.OS\QK75T_1<S=13U%.C@V/$(_-BXV3#$P,38Z
- XM-3,V.CQ%0CI)/SHP,S N,3,X,3$N*S$Q-2PJ+2PC)"@A'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM(!\?(2(M+3 M+SP_.#A"Z__7NK"SNJ^FJ:&AI)^?H9^?GY^?GY^?GY^?GY^?
- XMGY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GZ"D
- XMI:JLKK6\L[JZ5UT\0C8V/#HS,34M*RHH*BLE(!\?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'R D)20E*BLM+R\V/#Q,/44\/5W_R<6_
- XMO\*VK;"ZN*ZLMK6NJ:RJI:>OK:FFI:6?I*>IIZ2IJ:JIJJRLJZJLK*^NL+BZ
- XMO+W"S\G"W5U=74])/U=,/3@V.C4P+# X-3,Q,3 N,S O+2TK*B@J)R0G*"<F
- XM*"HJ)28D)R@C(R C'Q\A(R4D)2(C(RHJ+2HJ*"HJ,"PH*CH\.CPS0DE,24)K
- XM_\_=U[^_Q;6PJ[:]JZ:OL:JIJ:ZJJ*2BIJ&AH:.?GY^?I*&BI:.CI:&FIZ.D
- XMI:>HIZBHK:N\N+&UN,R_O;B_R<SK_]UK74DZ26M73^OK74E,3$QK3T),5S\V
- XM.CH]+S$\.CHZ-3,N,#H],24J+BXG(2XK)R4J)B4@)2HD)" ?(B,D(B4E)24G
- XM*"DA)BHL)B8E)BHK+C P+SPX-CH].CHZ/SP_3ST]26O=75?=R=W"Q;^\PLF\
- XMM;VUKJ^SMK"JK;.MJJRJJZJKJZRJI::EHY^AH:&DGY^?GY^@GY^?GY^?GY^?
- XMGY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GZ6?HJ"BHZ.DHZBGJ:JJK*JSMKVV
- XMO\6]O,G,:TQ,:T]/23Q)/2DJ+"XS+"HC)24D(R ?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'R,A)BTJ+BPO,# Z3TD]14]=7?__S\_)O+^_O;6VL[JUKK"SJZNFI*6E
- XMI:*IIY^?I:"?GY^BGY^?GZ"?GY^CGY^?GY^?GY^?GY^?GY^?H:&BH:BJJJ"A
- XMI:6EHZ.DIJ6HJ*:FI:FJK*JNK*FJJ:JJIJJSI:.JJZRKJZNHIZJLK:JJI::G
- XMI:6EJ*>JJJ.CGZ6EI:6EH9^HI:FGJ:JMJJ:HJJJOKZ^SK[&SPKBUPLS_Z\_=
- XM_TE,24Q75T4]-CP\.C$U,S8Z,#$K)RPS+"LJ)20F*"4E(",K)R(?(B@D'Q\B
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?(Q\D)24J)BDO,"PN,#@V
- XM-3Q"76M=W=W,PL*\N+&NK:RJL*^EIJ.CGY^?GY^?GY^?GY^?GY^?GY^?GY^?
- XMGY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?
- XMGY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?H*&CH:*BHZ6EIZFMJZFMM;VU
- XMM<+,S]U,24P\-CPU,#$Q+BHF)R<D)" ?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'R$B(B4G)24G*2HM+BPN.#HQ*S-"/SPX3$D\/6MK_UW_
- XMS\G7R<*]O+V\O[R]N+R\L[6VM;.PL;&OKJVKJ*>FJ:JHJ:>EIZ6AGZ6DH:.?
- XMGY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?I*B@H*6E
- XMIJ2GI:6EI["II*6ML*JMK["PK["UMK6ZO[S%O+R_S\S"U\_,R<_,Q<G7U]W7
- XMS]?_Z]UKS-W,W?_7Q<7,S\R]O<+/_\G%PL7)R<S/O\G%R;^]O<7/R<S,R<_7
- XMW=?K_\]KW5==24E,14(_/3\]-C,V,34O+2LI*2@D(R0E)2,B'R ?'Q\?(1\?
- XM'Q\?'Q\?("4@'Q\C(R,C)24E)RHJ*2@J+"HJ*BHK+BLO,# U-3,V/#@U.#\_
- XM0C]%3$D_14)"0C\]3$P]0DE/3%="3#\\23\\.#TX.CPV-C8X.#HZ.#4V/3\V
- XM.CH]/#,S.#@X/T)"/SI"13\]/T])14Q/3U=KZUU=76O/_U=7S__KU\G/S]?%
- XMO,+"R<*XO;V]O;_)PKB\Q<*ZL+6ZO;RUL;6VN+JZMKBZPLRXNL+%R<S,S-W7
- XMS\_=Q<G/Z^O/S,__Z^O)SUW_W=?__]WK:__7PLSK:]W%R=?/S\_,O;S%Q<FZ
- XMNK.QL[BNL+6OK*VKJ:FFIJ>DHI^?H**?GY^?GY^?GY^?GY^?GY^?GY^?GY^?
- XMGY^?GY^?GY^AHZ2DI*2DIZBIK*VPL:ZSNKBZO\G/Z\]=:UT]/#8U,S,O+2PK
- XM*"4C(B,B'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'R(A'Q\A(R(A)BDH)R@K+"PJ*2\S+BXQ,# P,#HX,S@Z
- XM.CHZ-C@V.CPX/#P]/#P\0D4Z/3U"24E)145,3$Q)3T_KZ^O7Z^O/O[_"R<+)
- XMO;RXM;&QL[.QN+:NIJ>MJZ>FIZFDHZ*DH)^?HJ.?GY^?GY^?GY^?GY^?GY^?
- XMGY^?GY^?GY^?GY^?GY^?GY^?HY^?HZ6JJJJKJJ^PL[6\PL7=Z^MK:UU%/3H\
- XM.#$O+BTJ*R<E(B(C'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\A'Q\?(B4E)B<H*BHJ+"XO,#\_
- XM0D57:__=W<S,Q<*XM;BVKZRMJJFGI:6@H:"?GY^?GY^?GY^?GY^?GY^?GY^?
- XMGY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?
- XMH:6EIJBKL*^PNL7=Z]=K5T4_/#HU+BPG)B8E(R ?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\@(!\?'R A'R A
- XM(R,B(2$A(!\?(2$?'R,D(R0B(R4E)24E(R,E)R4B)28F)RHJ*2@J+RTJ+"TN
- XM+B\M*R\M.#8Q,2\S.C8V.#H].#@\24E):_],3UWKU]W=Q<7%PL*VL[:PKJVM
- XMJJBJI:6EI:2AHZ"@GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?
- XMGY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^@GY^EI:.EJ*BGIZ^SL;&QNKR]O+W=
- XMU]W=:U=/3TD\/STV,S O,"XK*BHJ*2@H)R4E(R0D)20C)24C)2<C)"4F)24E
- XM*BHI*BHL*RLI+"TJ*R\Q+2LO,"\K*B\Q,"HL,3 N,#$O+BLJ+BTK+"PL*BHJ
- XM+"HG*"HJ*2HH)R8F*2<D)28G)B4G*2@G*"DI*"@L+2HJ+2LL*RPK+2\S,S,S
- XM-34U-C8X.#P_/SU"0D5,3#T\24Q)24E)0DE,3$5%3$]K3T]=5T]/3TQ,25?_
- XM3UU=5T]K7=W7Z]W/S]W=U]WKS\S)U\S,S,G%R<G%Q<F_Q<G"O;^_O;JZO+^Z
- XMNKJ\NKJZNKV\O+^_O+J]PKV\O,G)PKW"S\S)S,G,S,7"S\G"R<7,R<G)S,_K
- XM:\G,S]?_S\_/S\_7U\G/W=?=U\S,S\_7S\_)Q;_"O[_"O\*]O;RXMKJ\L[6Q
- XML*^PKJVMKZRKJZJGJ*BHI*2EHJ*@H*&CHZ.DH:*@H*&DHJ*AH*2EI:2HJJJF
- XMIZNKJJRPL[.OL;:XNKS%S.O75TE,3T(]/3HV,RPM,"HI)R<G)"0F)!\?("$?
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\@("4E)",G*RHK+C P,34Z.#@\14))3TG=S\_7
- XMS\F]O\*_N+BQKK"OL*ZLJJ:FJ::CHJ&CI*.?GY^@GY^?GY^?GY^?GY^?GY^?
- XMGY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?HJ&CH**FI:6FJJJHJJJM
- XMK:NOL+&PK[6SNKJZO+BVNKB]O;R_S,7%PK_"O\G7U\_)R=W_W<S/Z^M=_VM7
- XM5U=,3UU/14)%/ST_.C8X-C8S-3,O+"XL*RHI)RDH)",D(Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?
- XM'Q\?'Q\?(B(D*BLJ*BTZ/#I"3/__S\6_NK:LJZJJJ*.@H:"?GY^?GY^?GY^?
- XMGY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GY^?GZ&D
- XMIZBFJJNLK:^PM;BXQ<G)R=?=:_]K5TQ)/3P_.C@Q,3$P+BXM+"PN*RHJ*RHK
- XM*B8H*"4G*"HJ)28J)R8J*BLK+"HL*RPQ,2\Q,#8Z.#4Z/T)"14)"0D5,5UU,
- XM3UUK:UUK___KZVM75___76M=3$E,14)"/T)"13HZ-34U-C4P+3 N+2TJ*BPK
- XM*BDE)R<G)B4C(R4E)2(B)"4B(B(B(B,E)24C*"@G*"@J*B@I+BPK+2XP,"XP
- XM,S8S,SH_/#P]0C\\0DQ774]/___KW=W/S\_%PLG)PK:VO;V\MK6QKZVLK:JK
- XMK*RKJJFGI:6IJ*6FIJ:EI*2GI:2DHJ.CHZ6EI::EI*6CI:6GJ*FIJ*JJJJRK
- XMK:ZNKJZOKK&VMKBVMKJ_O[V_O\G"O\G)Q<+7Z__7U]?7W=W____K_UWKW>M/
- XM5_]K_UUK75=K76M75^O__U=75___5___:VO_:VM77?__:U=/5U=75UU)0DE,
- XM3TQ,3$Q)14)"/T)"244_/ST]/3T_/SP]/S8U-C8V-C4U-C4S-34S,S,S,2\N
- XM,#$O,2\O+S P,3$S,34U-C S-C@V-C8V-C@Z/#H_/4(_/SP\0DE%145%24E%
- XM24],3$Q,24Q)3%=,3$E,5U=7:VMK__]K_UU=5^O_75U=__]K________:VMK
- XM:___:UU/7?]K75UK_VM=75U=76O_:UU=_VM=75U=75=774Q)3$Q73TE/3T],
- XM3$]=74]73U=/3$],3$]/5UU=7?__7?]K____Z^O__^OKW>O=U\S,S\_)S-?7
- XMS+_"R<7"R<F_NK^_O;V_O[R\N+JZNK.SM;6UL[&QKZZPL["SL+&QL;"PKZ^O
- XMKZZNKJ^QL;"PM;6UM;6UMKJXN+BXNKR\O;_"Q<G)R<G7S^O=W>OK:UU=5TQ,
- XM3$E%14)"/#P\/#P\.#4S,# Q,# P+S N+RXP+RXN+RTL+2XP+BLK+2\N+2\Q
- XM+B\O+R\N+2TN+B\N+3$P+R\Q,#$Q,3,S,3$S,S,U-C@V-C@Z.#H]/3\]/3U"
- XM/3]%14E%24]/3$]775UK:VMK5___Z]W7U]?7R<7)Q;_"PL*_O[^\O;VZMKBX
- XMMKBXMKBXN+BXN+RSM;BXMKBXN+:VN+BZO+JZO;V_O;V_PK_"Q<G,R<S,S,_,
- XMU]W7S]?KW=W/U_]K____:VMK75=/5U=/3UUK3TE,3TQ)24E)3$5)24(_24E)
- XM245"14E)13]"14)"0D)%245"0D)"14)"0D)"0D)%0C]%24)%24)"0C\_0C\_
- XM0C]"/3T]0CT]/#P_/3HZ.CPZ.#H]/#PZ/#P_/S\_/#P_/SP_/T)"0C]%14))
- XM3$E,3$]73U==75=7:VO_:VO________K___=____Z___Z^OK___K_VMK____
- XM:____VO__VMK:_]K75UK:U=75VMK5U=775=/5U=775=75UU75U=K:VMK75UK
- XM:VM=________Z____]WK_^OKZ___Z]W__^OKW>O=U]W=U]W7U\_7U]?7S\S,
- XMS,S/S\S/S,S,R<S,S,_/S,S)Q<S,R<7,R<G)R<G,R<S)R<+)S,S,R<G)R<G)
- XMR<7)R<S,Q<7"R<G"Q<7)Q<+%Q<7"Q<7%O\+%PL7%Q<7%R<S/R<7/S\_/S-?7
- XMU^OKU^O___]K76M=74]/3$Q)24E%0C\_/#HZ.C8V-C4U-34U,S S,2\P,# O
- XM+R\O+R\N+B\P+BXO,#$N+BXQ,3 O+S$P,3$S,3,S,S,S,34U-C8V-38X.#8X
- XM-CP\/3P]/3T]/3\]/T5)24Q)3$]/5U==:VMK_____]W=W=W=U\_,S\7)R<7"
- XMQ<7%PK^_O[^\O+R\O+R\O[V\NKJZNKJZO+V\O;JXNKJ\O;RZO+^]O+R]O;R\
- XMO+V]O;^_O;V]O;V]O;V_O[V_O[^_O\+"PK^_Q<7%Q<G)R<7)S,G)S,_7S\_/
- XMU]?7U]?7U]W=W=WKZ^OKW>O___________]K____:VO___]K__]K:___:UU7
- XM75=75U=75U=/3TQ/5T]/24E)3$Q%14E"0C]"/ST_14(]/3H]/ST]/ST\/#H\
- XM/#H\/3P\/#HZ/#T]/#P\/3\_/3\_/S\_/3]"14)"0D5"145%24E,24E,3$Q,
- XM3T],3$Q,3T]/3T]75U=73U=775U775==:UU=75UK:VMK:VMK:VMK_UUK____
- XM:VO_:____VMK_________________^O____KZ^OKZ]WKZ]W=Z^O=U]?K_^O7
- XMZ^O=U]WKW=W7W=W=U]?=W=?=W=?7U]W=U]?7U]?7U]?7U\_7U]W7U\_7S]?7
- XMU\_/U]?/S,_/S\S/U\S,S\_,R<G,S\S,S,S,S,G,R<G%R<G)R<G)R<S,R<S,
- XMS,S,S,S/S,S/S\_/U]?7W=WKZ^OKZ^O_______]K75U=75=73T]/3$Q)24E%
- XM145%0C\_/S\_/3\]/S\]/#P\/3P\/#P\/3T\/3T]/ST]/3]"0C]"0D(_0D)"
- XM0D)%24E)24E)24Q/3TQ,5T]/3U=75U==75==76M=:VMK_UUK:VMK:_____]K
- XM____:VO_____________________________________________:VO_____
- XM__]K:VMK:VMK:VM=76MK:UU=:UU=5U==75UK75U75UU=:VMK:VO_:VMK____
- XM_______________KZ^OKZ]WKZ]W=W=W=U]?7U]?7U]?,S,S/S\G,S\_,R<S,
- XMR<G,S,S,S,G)R<S,R<G)S,S)Q<G)S,G)R<G,S,S,S,S,S,_/S\_/S\_7S]?7
- XMW=W=W=WKZ^OK____________:___:UU=75U=5U=75U=/5U=/3$Q,3$Q,3$Q,
- XM3$Q,24E)24E)14E%145%0D)%145"145%0D5%14)"0D5%14)%145%145%245)
- XM24E%14E)24E)24Q)24E,3$Q,3$Q,3$Q/5U=75U=75U==5U=775U=75U=76MK
- XM:VMK:VMK:VMK:____________________________^OK___KZ^OKZ^OKZ^OK
- XMZ^OKZ^O=W=W=W=W=W=W7W=W=U]W=W=?7W=W7U]?=W=?7U]?7U]?7U]?7S]?/
- XMS]?7U]?7S\_/U]?7U]?/U]?7U]?7U]?7W=?=W=W=W>OKW=WKZ^OKZ_______
- XM____________:UUK:UU=75U=75U75U=75U=75U=/3T]/3T]/3$Q,3$Q,3$Q,
- XM3$Q,3$],3$Q,3$Q,3$Q,3T],3$Q,3$]/3TQ,3T]/3T]75U=/5U=75U=75U==
- XM76MK76MK:VMK:VO_____________________________________________
- XM____________________________________________________________
- XM____________________________________________________________
- XM____________________________________________________________
- XM________________:___:VO__________VMK:___:VMK:VMK:VMK:VMK:VMK
- XM:VMK:VMK:VMK:VMK:VMK76MK:VM=:VMK:VMK:VMK:VMK:VMK:VMK:VMK:VMK
- XM:VMK_VO_:VO___]K____________________________________________
- XM____________________________________________________________
- XM_____________VMK__]K:VMK:VMK:VMK:VMK:VMK:VMK:VMK:VMK:VMK:VMK
- XM:VMK:VMK:VO_________________________________________________
- XM____________________________________________________________
- XM____________________________________________________________
- XM____________________________________________________________
- XM____________________________________________________________
- XH________________________________________________________
- X
- Xend
- END_OF_FILE
- if test 12793 -ne `wc -c <'sounds/stamp.au.uue'`; then
- echo shar: \"'sounds/stamp.au.uue'\" unpacked with wrong size!
- fi
- # end of 'sounds/stamp.au.uue'
- fi
- echo shar: End of archive 18 \(of 26\).
- cp /dev/null ark18isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 26 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- echo "merging split files..."
- cat blocks.c[12] > blocks.c
- rm blocks.c[12]
- echo "blocks.c done"
- cat bitmaps/earth.xpm.Z.u.[ab] > bitmaps/earth.xpm.Z.uue
- rm bitmaps/earth.xpm.Z.u.[ab]
- echo "bitmaps/earth.xpm.Z.uue done"
- else
- echo You still must unpack the following archives:
- echo " " ${MISSING}
- fi
- exit 0
- exit 0 # Just in case...
- --
- // chris@Sterling.COM | Send comp.sources.x submissions to:
- \X/ Amiga - The only way to fly! | sources-x@sterling.com
- "It's intuitively obvious to the |
- most casual observer..." | GCS d+/-- p+ c++ l+ m+ s++/+ g+ w+ t+ r+ x+
-