	X-BASED DINO
	=============	Dino X widgets, V4.10


    It has been tested on the following platforms:

	Sun4, SPARC		SunOS 4.1.3	X11R4
	Sun4, SPARC		Solaris 2.3	X11R5
	PC, 486 (*)		Linux 1.0.9	X11R5

    *	Keypad 5 key may not work, in which case, try it with the
	Num-Lock on.

    If yours is not in this list, please let me know -- thanks. The
    most updated source could be found on ftp.x.org under
    /contrib/games/puzzles.

HOW TO BUILD?

    It should be easy. Edit the Imakefile (or Makefile.std, see below)
    for appropriate settings of variable SCOREFILE, RANDOM, then do:
	xmkmf
	make
	xdino

    If that does not work then:
	mv Imakefile Imakefile.r5
	sed 's/^XCOMM/\/\*\*\/#/' > Imakefile < Imakefile.r5
	xmkmf
	make
	xdino

    Note: if you don't have 'xmkmf' or the "Makefile" it generates
    doesn't work well, edit Makefile.std for appropriate settings for
    XINCLUDEPATH and XLIBPATH, then try:
	make -f Makefile.std

    You should have Dino.ad copied to $(HOME)/Dino or 
    /usr/lib/X11/app-defaults/Dino to run, especially if the background
    is similar to one of the faces. Edit this file for your preferences.
    You might want to move xdino into /usr/bin/X11 (or wherever your
    X binaries are).
    You might also want to move xdino.man to /usr/man/man6/xdino.6

ANYTHING SPECIAL IN USING?

    Click on the left mouse button to move CCW (3d only).
    Click on the middle mouse button toggle the practice mode. (This is
      good for learning moves).  Also 'P' or 'p' does the same thing.
      One must double click on the middle mouse button if the puzzle is
      being worked on.
    Click on the right mouse button if you want to randomize the cube.
      Also 'R' or 'r' does the same thing.  One must double click on
      the right mouse button if the puzzle is being worked on.
    'S' or 's' to auto-solve.  Unfortunately, its unimplemented.
    'U' or 'u' to undo last move.
    'E' or 'e' to enter saved puzzle.
    'W' or 'w' to write or save a puzzle.
    'Q', 'q', or Control-C to kill program.

    Key pad is defined for 2d dino as:
    7   8   9
        ^
    3 <   > 6
        v
    1   2   3

    The key pad along with the use of the mouse will allow you to move
    i.e.,
    KP_7=>TopLeft  	KP_8=>Top       KP_9=>TopRight
    KP_3=>Left                          KP_6=>Right		
    KP_1=>BottomLeft    KP_2=>Bottom    KP_3=>BottomRight
    Note: Top, Left, Right, and Bottom only work when the control key
    is pressed.

    Key pad for 3d dino, use your intuition (is this a cop out or what?).
    The key pad is defined differently depending on which side of the cube
    your mouse is pointing at.

    The shift keys will allow one to move the center of the cube.  The
    2 opposite corners do not move.

    The control key allows you to move the whole cube at once without
    being entered as a move.  Hold down the control key while using the
    left mouse button or the keypad.
 
    Try resizing the cube. Notice the puzzle resizes to take advantage
    of the "room" available.

    The title is in the following format:
	xdino{2|3}d: (<Number of moves>/\
		{<Record number of moves>|NEVER|PRACTICE}) - <Comment>
    {2|3}: current dimensional view
    {<Record...}: puzzle is either in practice mode or record mode
       In record mode, if there is no record of the current puzzle, it
       displays "NEVER".

    If you were looking for a auto-solver, sorry.  If you know of one
    let me know.

    Also a tesseract (4D cube) would be nice. (Does such an analog exist
    for 4d?)

    Personally, I have solved it using this program.  Unlike other puzzles,
    I did not include orient lines on the faces to make it harder.  On this
    puzzle, it does not make much difference since there are only 2
    different solutions, one that is the relection of the other.  The
    physical puzzle is very hard to obtain at this time.  I do not have a
    one myself.  One version is called Dinosaur Rubik's Cube because it has
    colored dinosaurs on it.

    Refer to the man page for detailed command line options.

    If you want further information on puzzles, I'll be glad :-) to send
    it to you.

SAVE FORMAT

    The format is not standard.  The reason is that this is simple to
    produce.  The format will probably change to become more readable.
    Consider the 2d cross representation:

    practice: 0 false, 1 true
    moves: 0-MAXINT

    starting position:
      0       R     where the starting unrandomized faces would be,
    1 2 3   Y W G   each face has 4 corners
      4       O     if orient mode, orientation number follows face number
      5       B       0 up, 1 right, 2 down, and 3 left.

    This is then followed by the moves
    move #: face corner direction control
      each turn is with respect to a corner on a face.  The corners
      start at the upper right and work clockwise.
    Direction is represented as 0 upper right, 1 lower right, 2 lower
      left, 3 upper left, 5 clockwise, 7 counterclockwise, 8 up, 9 right,
      10 down, and 11 left.
    Style is represented as 0 or 1, 1 if the center of the cube is moved,
      and 0 if just a corner is rotated.
    Control is represented as 0 or 1, 1 if the whole cube is moved at once
      (here i and j do not matter), 0 if not.  The xdino record keeper
      does not count a control move as a move, but here we do.

    Caution: the program may crash on corrupted input.

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
    have the resources to duplicate the them.

	David Albert Bagley,	bagleyd@source.asset.com

HISTORY

   [May 16, 95]	V4.10: Xt version.
