  X-BASED RUBIK'S CUBE(tm)
  ==================== Magic cube X widgets, V7.1.5

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

  It has been tested on the following platforms:
    Sun Ultra 5     SunOS 5.9
    PC  Pentium 4   Linux 2.4.18
    PC  Pentium 4   Windows XP Cygwin
    PC  Pentium 4   Windows XP Mingw
    PC  Pentium 2   Windows 2000 Mingw
    IBM PowerPC     AIX 4.3.3.0

  Previous versions tested on:
    Sun Ultra       SunOS 5.6-5.8
    Sun SPARC       SunOS 5.5.1 (X11R5 & X11R6)
    Sun SPARC       SunOS 4.1.3
    PC  Pentium     Linux 2.0.9
    PC  486         Linux 1.2.13
    DEC VAX & ALPHA VMS 6.1
    IBM PowerPC     AIX 4.3.1.0
    HP  898         HP-UX 10.20
    HP  3xx & 700   HP-UX 9.01
    PC  486         Windows 3.1  Borland C++ 3.1
    PC  486         Windows 3.1  Microsoft C++ 1.51
    PC  486         Windows 95   Precompiled on 3.1

  If you have to do any editing to get this to work, please mail me
  the changes.

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, LOGPATH, and LOGFILE.

    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):
      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

  Windows users only:
    Then run "wrubik".  Your on your own on installing the wrubik.ini
    file and rubik.scores file.

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

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

    There are a few install options using configure.
    make install:
      Normal installation usually in /usr/local.  The problem is that the
      file rubik.scores should be writable by the application but not
      users.  It will try to fallback to reading and writing in the current
      directory.  (rubik.log is a temporary log file to keep track of
      moves, here the current directory is the default with /usr/tmp as the
      fallback).
    make install-games:
      This will install the puzzle like the BSD games.  This configuration
      is for the most part hard coded and will ignore most prefix settings.
      The difference here is that it runs setgid.  This then has some
      "medium" security risks.

    The following installation options are used after you used one of the
    above installs.
    make install-png:
      This is used to install the "*.rubik.png" images for use with menus
      in Gnome and KDE.
    make install-xpm:
      This is used to install the "rubik.?.xpm" images for use with menus
      in CDE using system files (name changes from ".xpm" to ".pm" when
      installing).  The xpm images are the same the png images except the
      small image is 24x24 instead of 22x22.
    make install-xpm-home:
      This is used to install the images for use with menus in CDE using
      from your home directory.  I have this set up using the desktop and
      menus.  There are probably many ways but I have it set up using
      $HOME/.dt/types/dtfile.dt, $HOME/.dt/types/dtwm.fp, and $HOME/.dt/dtwmrc
      These files can be copied and changed from /usr/dt.

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

  The auto-solver here only works for 2x2x2 and 3x3x3 (orient lines off).
  One of the problems in auto-solvers the generally do not work for
  different number of cuts.  If you know of one let me know.

  Also a tesseract (4D cube) would be nice. (I heard a 3^N cube has been
  built in software and solved!)

  Personally, I have solved 1-3 using this program, 2-5 using the
  physical cubes, and 6 to my knowledge have never been done (be the
  first on your block).

  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.

SOLVING THE CENTER CUBES (orientation mode)
  1.  The top and front centers are upside down
      (Middle move up, top turned 180,
      Middle move down, top turned 180) x 3
  2.  The top is down, front is correct
      (Top 90, Front 180) x 30
  3.  Top 3 oclock, Front 9 oclock
      (Front ccw, top 90 cw) x 63
  4.  Top 3 oclock, Front 3 oclock
      (Front cw, top 90 cw) x 105

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.

  Much left to do for GL including:
    Mouse interface.
    Junk the sudo 3d interface when GL is done.

HISTORY

  [Oct 05, 2005]  V7.1.5:
    scoreFile and userName fixes
    -version added
    -score added  
    Common option help for X and X-Motif 
  [May 31, 2005]  V7.1.4:
    Separated out compatible components.
  [Feb 8, 2005]  V7.1.3:
    Mouse wheel for Windows now works.
  [Nov 21, 2004]  V7.1.2:
    Small changes synchronizing with Java code.
    Thanks to Debian maintainer Florian Ernst <florian@uni-hd.de> for
      non-motif fix.
  [Aug 23, 2004]  V7.1:
    Thanks to Debian maintainer Florian Ernst <florian@uni-hd.de> for
      fixing a compilation problem with X and without Motif.
    Added font option.
  [Dec 15, 2003]  V7.0.1:
    The Hide functionality of the Escape key now iconifies or drops in
      task bar.
    Integrated winpuz6.5 (Windows 3.1/95) into X source tree.
    Todo windows version:
      Interrupt on auto-solve not ported.
  [Oct 26, 2003]  V5.7.4:
    Mouse wheel scrolling added.
    Key press can now interrupt auto-solve too.
  [Sep 28, 2003]  V5.7.3:
    Moving whole cube fixed.
    Delay fix and fast if random or retrieving a move... undo a little
      faster than normal.
    Added way of orienting the faces.
    Now can see twisting for GL.
    Control movement fix for rectangular arrangements. 
    lxmxn and GL working where l, m, n could be = 1.
    Colors for GL now set from resources.
  [Aug 27, 2003]  V5.7.2:
    Beginings of a GL interface.  Code taken from xlock is by
      Marcelo F. Vianna <mfvianna@centroin.com.br>.
    png for Gnome and KDE menus and xpm for CDE menus.
    install-games configure option and added other installation options.
    Added xpm for icon.
    Help kicked over.
  [Aug 03, 2003]  V5.7.1:
    Auto-solve for 3x3x3 orient mode
  [Jul 07, 2003]  V5.7:
    Thanks to my daughter for banging on the keys:
      Resetting key sliders and toggles should reset display message.
    Scramble had a good chance of not being scrambled.
    Interrupt on auto-solve stolen out of X puzzle by Don Bennett, HP Labs
    Test for cheating from get and auto-solve.
    Popup for auto-solve if outside solve parameters
    Clear now checks if you really want to randomize the puzzle using
      left mouse button, 'r' will not query
    'Esc' will hide the puzzle (actually osfCancel did the trick)
    Help & About expanded and pop-ups added
    Took out bitmaps since it takes too much room
  [Mar 21, 2003]  V5.6.2:
    Installation fixes for Motif and X versions.
  [Nov 06, 2002]  V5.6.1:
    VMS Motif fix and minor changes
  [Sep 06, 2002]  V5.6:
    configure if around 2nd AC_CHECK_FUNC
    removed Sun CC (char *) warnings
    removed hard coding of program name
    Cygwin changes ./, -lSM -lICE
    record store fix
    x and xm files combined using HAVE_MOTIF
    port back from Java (on the Java side I got some help from
        Sarat Chandran <saratcmahadevan@yahoo.com>)
      use -1 for NEVER instead of 32767
      handle nobody = (null)
      .data->.dat for consistency
      background/foreground set by default
      frame color change on enter/leave
      allow more arrow keys (osf)
      menu
      divide by zero faceSize
      handleSolved cases
  [Sep 01, 2001]  V5.5.4: g++ 3.0 warnings removed.
  [Mar 27, 2001]  V5.5.3: Infinite loop fix for ARM thanks to Matej Vela
    <mvela@public.srce.hr>.
  [Nov 14, 1999]  Not released: LxMxN code resynced with Windows version.
  [Aug 11, 1999]  V5.5.2: Fixed runtime library problems when using configure.
  [Jun 20, 1999]  V5.5: Added -rv, fixed flashing on mono, and added LxMxN
    stuff.
  [Jan 01, 1997]  V5.4: Username, concurrency check, configure, man page
    updates.
  [Aug 08, 1996]  V5.3.2: Fixed drag and drop bug.
  [Apr 11, 1996]  V5.3.1: Even sized cubes had errors since 5.2.
  [Apr 08, 1996]  V5.3: Minor changes.
  [Jan 31, 1996]  V5.2: Puzzle can now moved by a more intuitive drag and
    drop approach.  Pieces will invert, when selected.
    Now using dynamic allocation, so there is no maximum size.
  [Dec 15, 1995]  V5.1: Minor updates, RNG for 32/64 bit, border color
    to make faces look more realistic.
  [Oct 06, 1995]  V5.0: Xt/Motif, your choice.
  [May 16, 1995]  V4.10: Warnings removed from Sun's cc and lint and now
    include a random number generator.
  [Mar 13, 1995]  V4.9: Removed lint warnings and added a VMS make.com .
  [Nov 11, 1994]  V4.8: Conservative guess for random number generator.
  [Oct 11, 1994]  V4.7: Bug fix for save with undos.
  [Sep 28, 1994]  V4.6: Now allows undos, saves, and recalls.
  [Aug 08, 1994]  V4.5: Auto-solves from practice mode.
  [Jun 23, 1994]  V4.4: Auto-solves up to 3x3x3 courtesy of
    Michael B. Martin <martinm@sps1.phys.vt.edu>.
  [Jun 15, 1994]  V4.3: Mistakenly used a Boolean variable in an array.
  [Jun 02, 1994]  V4.2: Minor changes, R6.
  [May 31, 1994]  V4.1: Minor changes, record sometimes displayed "32767"
    instead of "NONE".
  [May 10, 1994]  V4.0: Xt version.
    I got some good ideas from oclock.
  [May 20, 1993]  V3.0: Motif version.
    I got some good ideas from Douglas A. Young's
    book: "The X Window System Programming and Applications
    with Xt OSF/Motif Edition", particularly his dial widget.
    I got some good ideas on presentation from Q. Zhao's
    tetris.
  [Jan 16, 1992]  V2.0: XView version.
  [Jan 16, 1991]  V1.0: SunView version.
