  X-BASED TETRIS
  ============== Tetris X Widget, V7.2.4

Primary site: ftp://ftp.tux.org/pub/tux/bagleyd/altris
Secondary site: ftp://ibiblio.org/pub/Linux/games/arcade/tetris
Web page: http://www.tux.org/~bagleyd/altris.html
Maintainer: David A. Bagley <bagleyd@tux.org>

  It has been tested on the following platforms:
    Sun Ultra 5     SunOS 5.8
    PC  Pentium 4   Linux 2.4.18
    PC  Pentium 4   Windows XP Cygwin
    PC  Pentium 4   Windows XP Mingw

WHY ANOTHER?

    Because "different is good"...

    Because this one is simple, easy to build, and portable --
    actually the blocks are round-cornered and bigger, more
    comfortable for your eyes.  Also it is a widget, so it can be
    easily duplicated or dropped in other programs.

    Different kinds of polyominoes than Q. Alex Zhao's tetris, which
    this program is patterned after.  That original tetris can be found
    ftp.x.org under /contrib/games .

HOW TO BUILD?

  An ANSI C compiler is required for build.

  To build, it should be easy. There are 4 types.  You may want to set some
    parameters like SCOREPATH, SCOREFILE.

    configure:
      Use "configure -help" to see what options you can set using configure
      or parameters in Makefile.in .

      configure ; make

    imake:
      Sometimes this is not setup correctly by the distributor ... i.e. not
      my fault.  You may want to set parameters in Imakefile .
      If you have Xpm you may want to do this quick edit in the Imakefile:
        Uncomment line "#define XpmLibrary".
      If you have Motif you may want to do this quick edit in the Imakefile:
        Uncomment line "#define XmLibrary".

      xmkmf ; make

    make.com (VMS users only):
      Follow vms/README.vms .
      You may want to set parameters in make.com .

      @make

    win/Makefile (Mingw users only):
      You may want to set parameters in Makefile (like
      COPT=-02 -mno-cygwin).

      cd win
      make

      Then run "wtetris".  Your on your own on installing the wtetris.ini
      file and tetris.scores file.

  X users only:
    Then just run "tetris".  If you do a "make install" "SCOREPATH" must
    be set correctly.

    You should copy Tetris.ad to $(HOME)/Tetris or use "make install" to
    copy it to something like /usr/lib/X11/app-defaults/Tetris.  Edit
    this file for your preferences.


  make install:
    Normal installation usually in /usr/local.  The problem is that the
    file tetris.scores should be writable by the application but not
    users.

  Try resizing the game. Notice the puzzle resizes to take advantage of
  the "room" available.

  "Tetris" is the game.  It only lists the top 15 players at the
  end, each player may have at most 3 scores.  With the option
  "-scores", "tetris" will list all the scores.


ANYTHING SPECIAL IN PLAYING?

  Use 'j' to move left; 'l' to move right; 'k' to rotate; 'i' to
  reflect.  Left-handed people may want to use 's', 'f', 'd', 'e'
  respectively.  Use the space bar to drop a block quickly.  Do you
  want to try the arrow keys or keypad?

  As usual, '+' speeds up the game.  To avoid cheating "-" is
  disabled from slowing down the game.  Note: that you do not need to
  press the SHIFT key -- '=' also works.  The 'b' key can be used to
  toggle "beep" and 'n' toggles "show next".  '>' will increase and
  '<' will decrease the number of squares in a polyomino.  Again, you
  do not need to press the SHIFT key -- '.' and ',' also work.  (Since
  it would lead to cheating, the number of squares can not be decreased
  from 3).  If available for the current number of squares, the 'g' key
  toggles the "diagonal" mode, and the 'm' key toggles the "mixed" mode.
  Note: to keep the level of play similar, the ability to reflect
  polyominoes, and later the ability to rotate polyominoes, may get
  turned off when the number of squares in a polyomino is decreased.

  If you press 'p' or "ESC", the game will be paused, and the window
  will be iconified -- just in case your boss suddenly appears at your
  door.  ;o) When the tetris window loses its focus, it also goes to
  "paused" mode except it doesn't iconify itself.

  Refer to the man page for detailed command line options.

ADDITIONAL INFO

  One can change the number of squares in each polyomino from
  2-6.  7 or more squares in a polyomino leads to a hole that is
  impossible to fill on one shot, so it is a good place to stop (and
  1 is too trivial).
      +++
      + +
      ++

  There is a diagonal mode as well. Here we have diagonal and regular
  pieces.  One can change the number of squares in each polyomino
  from 2-3. If one has 4 this again leads to a hole.
       +
      + +
       +

  A mixed mode allows polyominoes of less size than a maximum
  determined by the chosen number of squares.

  A bonus mode puts a greater size polyomino on any automatic level
  change or if playinng fast.  (-n must be 2-5 for regular and 2 for
  diagonal).

  To make these games interesting and "do-able" the ability to
  rotate gets turned off if it is easier than the normal 4 square
  tetris piece (or 4 square polyomino). An added ability "reflect"
  (right-left -> left-right) allows one to attempt the 5 square and
  6 square tetris pieces. An input file of all the pieces gets read,
  with all the various mappings. This is further explained in the
  comment section of that file, "polyomino.h".

  The reflection keys are 'i', 'e', and '/' on the keypad. '>'
  increase increase and the number of squares in a polyomino (a '<'
  key may lead to cheating). 'g' toggles the diagonal mode, 'm'
  toggles the mixed mode, and 'o' toggles the bonus.

  polyominoes are read from "polyomino.h". In that file I "try" to
  explain the format.

  The input file "polyomino.h" can be reused for my "alwelltris"
  game.  I originally wrote "xvtetris" and "xvwelltris" in XView,
  which Sun is dropping. Also, I have a "altertris" (triangular)
  and a "alhextris".  In both of these the pieces come down
  diagonally and bounce of the walls and other pieces. They also
  have associated files called "polyiamond.h" and "polyhex.h".  I
  would like to write a 3d version of tetris using GL some day,
  the "polycube.h" file associated with that could fill volumes
  for all of the possibilities.

FOUND A BUG?

  Send bugs reports and fixes to the author. For bugs, please include
  as much information as to their location as possible, since I may not
  be able to duplicate the them.

HISTORY

  [Dec 12, 2006]  V7.2.4:
    Now use http://netpbm.sourceforge.net to generate images from xpm.
  [Nov 23, 2006]  V7.2.3:
    Fixed level and fill bounding problems.
  [Jul 21, 2006]  V7.2.2:
    Fixed assorted memory leaks and uninitialized memory access reads.
  [May 05, 2006]  V7.2.1:
    Fixed slider goof.
    Added pause key '|'.
    MS Window fix: fixed Plain Piece toggle
  [Apr 01, 2006]  V7.2:
    Made usage string compatible with versions of Motif and screen.
    More defensive code in case getlogin fails.
  [Nov 01, 2005]  V7.1.6:
    Level 20 slowdown fix
    MS Window fixes:
      show next in wrong window!
      plainpiece should redraw all
      fill 0-10 invisible
      changing columns on the fly
  [Oct 05, 2005]  V7.1.5:
    scoreFile and userName fixes
    scores fix
  [Sep 22, 2005]  V7.1.4: Xt/Motif/Windows version
    Much code rewritten.
    -version added
    Common option help for X and X-Motif
    pieceColor changed to borderColor, -frame added
    Top line cleared in checkLines
  [Dec 05, 2002]  V1.4:
    ANSI-C (also C++).  K&R C support dropped.  If you have trouble with
      this get gcc from prep.ai.mit.edu (also can unprotoize).  VMS stuff
      ported also but not tested.
    configure can now be used to build.
    Various bugs removed, noticed when ported to Java:
    Prefill bug
    3d upside-down
    Remove nonexistant data file from compilation
    Flash bug
    Fill lines slowed down (but fast if q pressed)
    Esc key to hide, Control-C to quit
  [May 24, 2001]  V1.3.2:
    VMS port thanks to Patrick Moreau CENA/Athis-Mons - FRANCE
      <pmoreau@cena.dgac.fr> or <moreau_p@decus.fr>
    Originally ported for altris-1.2.0 for OpenVMS in January 1995,
      now merged in distribution.  Updated and tested by Patrick Moreau.
  [Mar 23, 2001]  V1.3.1:
    Inefficiencies removed in bitmap allocation
      problem fixed with help from Tom Schmidt <tschmidt@micron.com>
      using the xlock version.
    Adopted more of Q. Alex Zhao's bonus code.  Bonus mode is now only
      available if you play fast or when the level changes automatically
      (-bonus no longer works).
    Prefill bug introduced in V1.3.0 fixed.
    Zhao's bonus acts strange at level 0, fixed.
  [Feb 28, 2001]  V1.3.0:
    Updated to match Q. Alex Zhao's tetris.3.2.1 from tetris.3.1.2.
    FocusOut problem on Sun with arrow keys fixed.
    Mapped more KP keys.
    Changed how scores are added up.
    Changed how diagonal mode is handled.
    Polyomino now in an include file instead of a data file. This
      makes it easier to install.
    Yet another new mail account.
    New icon generated with a lot of help from Stephen
      Montgomery-Smith's polyomino program available at
      http://www.math.missouri.edu/~stephen .
    The new icon is 2 sets of tetrominoes in a square where the 8
      holes are the most symmetric solution to the 8 queens problem.
    Lifted code from xlock's polyominoes for variable size pieces
      Copyright (c) 2000 by Stephen Montgomery-Smith
      <stephen@math.missouri.edu>.  Though the program keeps the
      pieces from resizing, the pieces are prettier, also the show
      next piece is a little smaller now.
  [Dec 28, 1995]  V1.2.0:
    Random generator fixed for 64 bit machines.
    Minor patches.
    New mail account.
  [Jun 21, 1995]  V1.1.0:
    The different altris games will now have consistent numbers
      for major releases.
    tetris -fg white -bg black, should now work on monochrome monitors.
    Now provide a random number generator.
    Took out unbundled Sun cc and lint warnings.
    Format to data file changed.
  Earlier versions were based on Q. Alex Zhao's Tetris V3.1.1 and my own
     xvtetris.
