				      PIPE
				an X/Motif game

				 Michael Muller
				  Version 2.2

    You have unbundled the sources for pipe.

    Included in this tar file with the sources are a makefile to build 
    pipe and the vax-ultrix executables.

    The executables assume that the .uid, help, and high score files 
    are in your present working directory.  To enable pipe to be run 
    from a different directory, edit the makefile and re-compile.

    Disclaimer: This was my first program using X *or* Motif *or* 
    an event-driven toolkit *or* C.  I learned a lot, but I now know 
    that I did many things the hard way.  I've since gone back and fixed 
    some of these oddities, but some are so entangled in the code 
    that I don't have the time or patience to work them out.  For 
    exmaple, I used global variables instead of passing values to 
    callbacks.  This can be avoided, but it's a lot of work because 
    Motif callbacks take only one parameter.

    Files in this save set:

      Makefile         -- The makefile to build pipe.
      README           -- This file.
      pipe.c           -- The C source.
      pipe_widgets.uil -- The UIL containing the window, menus, etc...
      pipe_icons.uil   -- The UIL containing pictures of pipes.
      pipe_help        -- How to play.  Available on-line or "more" it.
      pipe             -- The game compiled.
      pipe_widgets.uid -- The window, menus, etc., compiled.
      pipe_icons.uid   -- The pictures of pipes, compiled.

    This code has been tested and should work on ULTRIX, VMS, color, and 
    black & white systems.  Please report any problems.

    Feel free to reuse, distribute (as long as you don't profit), 
    or enhance this program.  Tell me if you do!

    History:
    01-Oct-1990	    Creation
    18-Jun-1991	    Version 1.0 (first stable version)
    08-Jul-1991	    Version 2.0 (major enhancements)
    19-Jul-1991	    Version 2.1 (bug fixes)
    08-Feb-1992     Version 2.2 (small clean-ups for CD distribution)

    Done since V1.0:
	o Reservoirs.
	o Bonus pipes.
        o Varying board width and height.
	o Fast flow.
	o Add a fluid flow countdown to the status panel.
	o Created a speedometer for the fluid.
	o Enable starting from a certain level.
	o Implement abort game.
	o On-line help.
	o High Scores maintained.
	o Weight the likelihood of each pipe appearing for each level.
	o Clear the preview window before each game.
        o The screen no longer flashes when the drawing area is [de]sensitized.
        o RNG without modulus (doesn't seem to help, but thanks to Dave Miller)
	o Change "bummer." to "psyche!" for level over.
	o Add application icon (thanks to Dick Schoeller).
	o You no longer lose your head start if you pause before flow begins.
	o Unix-compatible (thanks to Paul Douglas).
	o Stripes now visible in B&W
	o B&W pixels returned correctly (thanks to JP Tessier)
	o A number of unix bugs fixed (thanks to Marc Evans)
	o Level increments *after* Psyche! is pressed.
	o Tiles can't be placed out of bounds.
        o One UIL file for icons -- b&w uses same as color!

    XUI window manager incompatibilties:
        o The playingArea displays wherever it feels like. (XUI only)
	o The pause menu option doesn't iconize. (XUI only)

    Bugs:
	o The preview window is wider than the tiles. (used to be XUI only)

    Things to do/suggestions:
	o Make fast flow flow faster (calling w/out timeouts doesn't work).
	o Implement wrap-around edges in certain places for some levels.
	o What about the bonus Tetris-like level?  (LucasFilms did it...)
	o Create application resources for use with resource file
	o Finish pipe ("drain")
	o Two flows
	o T pipes
	o Customization (preferences)
	o Level info read from file for customization
	o Make erasing quicker on the starting levels
	o Allow customization of pipe colors
