
XLogical

XLogical is a puzzle game based on an Amiga game developed by Rainbow
Arts called Logical.  We enjoyed playing it so much back in its day
that we decided it would be a fun project to recreate it for Linux - our
new OS of choice.

We originally started with GTK for the rendering system, but eventually
decided that SDL was more apropriate for what we were trying to accomplish
( after attempting to make GTK work like SDL for awhile ).  So, while 
not without its grief, this project was a good one.  We hope you enjoy
the game!

Please submit bug reports and or feedback to xlogical@changeling.dynip.com

For more instructions/documentation, please visit the website at

http://changeling.dynip.com/xlogical

Please see the LICENSE and COPYING files for copyright information

================================================================================

----------------------------------
NOTE for Win32 Binary Distribution
----------------------------------

For convenience sake, the Windows binary distribution of Xlogical includes all
the necessary SDL DLLs required to run Xlogical.  This does not mean that the
SDL libraries are part of the Xlogical project.  The DLLs included were not
modified in any way by the Xlogical development team. They were obtained from
the SDL web site and compiled with no source code changes.  You are not limited
to using the supplied DLLs in any way.  In fact it is a good idea to keep up to
date with the latest releases of the SDL libraries from the SDL web site at:

http://www.libsdl.org

The following SDL libraries are included in the Win32 Xlogical binary
distribution:

SDL-1.2.2
SDL_image-1.1.0
SDL_mixer-1.1.0

You can obtain regular updates to these libraries from the SDL web site.

================================================================================

----------------------------------------------
Building Xlogical from tarball source in Linux
----------------------------------------------

You will need the following installed in order to build xlogical from tar ball
source distribution:

1. g++ compiler
2. automake
3. SDL and SDL-devel
4. SDL_mixer and SDL_mixer-devel
5. SDL_image and SDL_image-devel

Here are the build steps:

1. Run "./autogen.sh" in the top level source directory.
2. Optionally run "./configure" with a custom --prefix command line option if 
   you want xlogical installed in a non-standard location.
3. Type "make" to build everything.
4. Type "make install" to install all necessary files.  This might have to be
   done by root depending on the location you are installing into.

If you want to uninstall, you can type "make uninstall" in the source tree to
remove all files associated with xlogical.

================================================================================

------------------------------------------
Building Xlogical from source RPM in Linux
------------------------------------------

You will need all of the software mentioned above before you get started.

Here are the quick and dirty steps to building the source.  Consult your
favorite RPM documentation for more information:

1. 'rpm -i xlogical-1.0-x.src.rpm'
2. Type 'cd /usr/src/RPM/SPECS'. This is where the RPM specs are installed in
Mandrake... this may differ with other distributions.
3. Type 'rpm -ba xlogical-1.0.spec' to create the binary RPM for your system.
   When the build is complete, the RPM should exist in one of the
   subdirectories in /usr/src/RPM/RPMS depending on your CPU architecture.

================================================================================

----------------------------------------
Building Xlogical from source in Windows
----------------------------------------

Building Xlogical from source in Windows is not for the faint of heart.  If
you are not familiar with Microsoft Visual C++ and compiling in Windows, I would
suggest you stick with the binary distribution.  Having said that, I will try
to give a brief overview of the steps involved.  NOTE: These instructions are
for building using MS Visual C++... I don't have any other compilers for
Windows so this is all I can write about.

Before you start, make sure you have the following installed:

1. Microsoft Visual C++ 6.0 or better.  I would recommend grabbing service
   pack 5.  Xlogical makes heavy use of the C++ Standard Template Library
   (STL) and the vanilla install of Visual C++ had problems compiling some of
   the source files.
2. SDL library.  I built SDL-1.2.2 from source using Visual C++ as well.
3. SDL_image library.  I built SDL_image-1.1.0 from source using Visual C++.

   NOTE: Included in the SDL_image distribution are 3 extra DLLs other than
   the SDL_image.dll file.  You must make sure that you install jpeg.dll,
   libpng1.dll, and zlib.dll along with SDL_image.dll.

4. SDL_mixer library. I built SDL_mixer-1.1.0 from source using Visual C++.

Here are the build steps involved:

1. Untar the source distribution into a directory.
2. In the top level xlogical directory, you will find a VisualC.zip file. Unzip
   this file into the top level xlogical directory.
3. In the VisualC directory, there is a file called XLogical.dsw which is the
   XLogical Visual C++ workspace file.  Double click on this file to fire up
   Visual Studio.
4. Click on the compile button to build all the files and link the executable.
   The executable will be created in the top level xlogical directory.
5. Click on the run button to launch xlogical directly from Visual Studio.

Depending on where you put the supporting SDL libraries, you may need to
update the location of the SDL.lib, SDL_image.lib, and SDL_mixer.lib files in
the xlogical project.  Otherwise you might run into link errors.  Also, the
SDL DLLs should either be in the c:\windows\system directory or in the same
directory as the xlogical executable or else xlogical might not run.

I'm sure I haven't covered everything here but I hope it at least gets you
started in the right direction.

