 _____________________________________________________________________________
/                                                                             \
|   Lix                                Release notes for Linux/Unix machines  |
\_____________________________________________________________________________/



If you've downloaded a binary package from the Lix website, read the first
chapter of this file. If you've obtained the Lix source and wish to build the
game yourself, read the remaining chapters.



USING THE BINARY PACKAGE
------------------------

If you've downloaded a binary release from the Lix website, run the game
like this:

    ./bin/lix

This should use the shared libraries in ./bin/lib. 32-bit Linux systems
won't get sound as far as I know, on 64-bit systems the sound works.



NECESSARY LIBRARIES TO BUILD THE GAME
-------------------------------------

Lix uses these libraries:

    Allegro 4.2 or 4.4 - graphics/game routines library
    enet 1.3.x         - networking library using UDP

You want developer libs for these. Allegro 4.x should be easily installable
via your favorite package manager. Alternatively, get its source from this
site, but make sure you get version 4.2 or 4.4; do not get 5.0.x:

    http://www.allegro.cc/files/?v=4.4

enet can be obtained from this site:

    http://enet.bespin.org

Read their documentation about how to install them. If you get stuck, feel
free to ask me for help, I've gone through the install process several times.
See readme.txt about how to contact me.

You should build Allegro dynamically (shared libraries). Otherwise, you might
get problems with the sound -- no sound will play in the game when you use
static linking. I haven't found out the reason for this yet, even proper
installation of/environment variables for the Allegro sound modules (extra
shared libs that never get built statically) doesn't solve this.

If you nonetheless want to build Allegro statically, instead of "cmake .."
use one of these:

    cmake -DSHARED=0 -DSTATIC=1 ..                     (for Allegro 4.2)
    cmake -DSHARED=off                                 (for Allegro 4.4)

Enet works nicely no matter whether built statically or dynamically.
If you want enet to be built statically, use these ./configure options:

    ./configure --enable-static=yes --enable-shared=no

If you have root access to your machine, you can install the libraries on
your system via make install. If you put them somewhere else, you will have
to edit the Lix makefile later.



BUILDING LIX
------------

If you did not install the libraries to /usr/somewhere:

    You have to tweak the Lix makefile.
    In this case, alter the definition of the variable CXXFLAGS to:

        CXXFLAGS := -s -O2 -I/path/to/allegroincludes -I/path/to/enetincludes

    Furthermore, alter the lines containing the linker arguments:

        LDALLEG := -L/path/to/alleg-main-lib
        LDENET  := -L/path/to/enetlibs

Finally, whether or not you've tweaked the Makefile, invoke make from the Lix
root dir. It should build two binaries, ./bin/lix and ./bin/lixd. The first
binary is the game executable. If you have installed Allegro into your system,
then you can run it directly. Otherwise, you should provide it with the
necessary shared libraries in its subdirectories ./bin/lib, see the
downloadable Lix binary archives for what to put in there. (You could also
edit the Makefile linker settings to have the game search for the Allegro
libraries somewhere else during runtime.)

I didn't intend the game to be installed further in any way. All files reside
in a single directory somewhere under the user's home directory. Uninstall
the game by deleting that directory. Fitting the game into the regular unix
filesystem hierarchy standard is a long-term goal, this would allow
distribution e.g. via Linux package managers.

lixd is a standalone server daemon, it doesn't depend on any working directory.
Run it without command line arguments to get invocation info. You also don't
need a shellscript wrapper.

If you get problems, feel free to contact me. :-) See readme.txt for details.
