BUILDING AND INSTALLING XCONQ 0. A package with an already-built version may be available for your system. If you have one, follow that package's instructions for installation. You install a Linux RPM with "rpm -i", while for Windows and Mac it suffices to unpack the .zip or .hqx files and run the programs from wherever you unpack them. The following instructions are for people building and installing Xconq starting from source code. 1. Decide what the kind of system you want to build for. For Mac, read INSTALL-mac. For Unix and Windows 95/98/NT, keep reading here. 2. Provide the required supporting software. The Unix/Windows graphical interface is based on tcl/tk 8.x, so both the tcl and tk libraries must be already built and available. Many recent systems, such as Linux, have tcl/tk preinstalled, and you can just use those. If you don't have tcl/tk installed, and don't have permissions to install it in a standard place, build them with --prefix set to a place that you can write to, and install there. Then use the Xconq configure options --with-tclconfig and --with-tkconfig to point to the location of the tclConfig.sh and tkConfig.sh scripts, which are installed in the lib dir (/usr/lib by default). On Unix, you must have an ANSI/ISO C compiler, such as GCC. On Windows, you must use Cygnus' GNU-based Cygwin system to build. tcl/tk is not preinstalled on Windows (that'll be the day...), and the standard 8.0 version is not Cygwin-compatible, so you should use the modified tcl/tk package that is available with Xconq. To do this, get the package and unpack it in the main Xconq directory; you should get directories "tcl" and "tk" that are siblings of "kernel", "win", etc. Then cd into tcl and (using bash, of course) do "./configure" then "make", cd over into tk and do the same there. If both of those go well, then you're ready to configure and build Xconq proper. 3. Type "./configure". If you want to be able to read XPM (X PixMap) files, and the XPM library is available on your system, add the argument "--with-xpm" to your configure command. (This is mainly of interest to people designing new games and using X paint programs.) If you want to install into different place, such as /usr/games, add the argument "--prefix=/usr/games". This will put executables into /usr/games/bin, and game library files into /usr/games/share/xconq. The default is to install everything under /usr/local; executables in /usr/local/bin, library files in /usr/local/share/xconq. In either case, scorefiles will end up in /var/lib/xconq/scores. To change this, configure with --enable-alternate-scoresdir=. 4. Type "make". If you need to specify special compilation flags, set the variable CFLAGS on the make command line. If you need special linktime flags, such as a path to library directories, use LDFLAGS. If you want to install, but don't have root, set the prefix and scoresdir to be places you can write into, and on the make command line, set the variables GAMEUID and GAMEGRP to your own uid and group. 5. If you want test things out before installing, just cd to "x11" (or "win" if on Windows) and say "./xconq". You will need to add an argument like "-L ../lib" if you want to get the game libraries in this distribution; otherwise Xconq will load whatever games have been installed already, or fail if no game library has been installed previously. 6. If you want to install Xconq in your system, type "make install". The default installation is into /usr/local/bin for xconq and design tools, and into /usr/local/share/xconq for the game modules and support files. If you want to put the executables into the traditional /usr/games instead of /usr/local/bin, add "bindir=/usr/games" to the make install command. If you need to install X application defaults somewhere other than /usr/lib/X11/app-defaults, add "appdefaultsdir=" to the make install command. If you do not have a program or script "install" on your path, you can use the "install.sh" in this directory by adding "INSTALL=install.sh" to the "make install", or you can even use "cp" by saying "INSTALL=cp INSTALL_DATA=cp". 7. The man pages just tell how to start up the programs; the full Xconq manual has complete details on everything. A lot of behavior can be figured out by experimentation and by using the extensive online help; you can always get to it by typing '?'. All of the manuals are written in ``Texinfo'', which is based on TeX but is like HTML in many ways. Texinfo files are readable text files themselves, and there are tools to translate them into various viewing formats. The standard distribution comes with preformatted documentation in the form of HTML files, which you can look at using your favorite Web browser. You can also print them out using the browser. These files are to be found in the directory doc-html. The next easiest option is to look at the ``info'' files, ideally with Emacs so as to get the hypertext abilities, but any other text viewer will do. To make a nicely printed manual from the sources, you will need a version of TeX. TeX is widely available. Under Unix or Windows with cygwin, you can make DVI files by going to the doc subdir and saying "make dvi", then using dvi2ps or similar tool to send to the printer. 8. If installed in a public place on a multi-user system, announce availability. The library file "news.txt" provides a convenient place to put in any notes about changes, new games/scenarios, and so forth. Congratulations! You're ready to go forth and conquer! VARIATIONS The curses interface is still available, if you're nostalgic for the old days of text console games. Do "make all-cconq" and "make install-cconq" to get it. GUIDE TO SUBDIRECTORIES: "lib" contains the game designs and image families. "doc" contains Xconq manuals and supporting documentation, mostly in Texinfo form. "images" contains pictures in standard image formats (GIF, etc). "kernel" contains the source code for the kernel, which is the part of Xconq shared by all interfaces. "bitmaps" contains bitmaps used by some interfaces. "mac" contains the source code specific to the Mac interface. "tcltk" contains the portable source code specific to the tcl/tk interface. "x11" contains the source code specific to the X11 interface. "win" contains the source code specific to the Windows interface. "curses" contains the source code specific to the curses interface. "SelFile" contains a file selection dialog for X11 programs. "Ad2C" contains a tool to generate fallback resources for X11 programs. "misc" contains scripts that do a partial conversions of 5.x period and other files to 7.x game designs. "test" includes scripts and game modules oriented towards testing. The test scripts should be run after hacking on anything in the "kernel" directory (this is important). "tcl" and "tk", if present, contain copies of the tcl and tk packages. "libcurses", if present, contains a copy of a DOS & Mac implementation of curses. The directories "lib-mac", if present, contains optional library files for the Mac version.