
This document describes the installation of Slash'EM with a Qt interface.
It is a straight conversion of Warwick Allison's Qt interface for NetHack.
This is version 1.0.1 of the Qt interface which compiles with version 1.44
of Qt. It does not work with Qt version 2.x, earlier versions are untested.

To use this code, define QT_GRAPHICS in include/config.h.  (You can comment
out TTY_GRAPHICS or change DEFAULT_WINDOW_SYS if you want to, but there's
little reason to do so.  The Qt version almost requires a config file
for full effect, so you can just as well set windowtype there; also, you
or someone else might just possibly be stuck in a situation where you can't
use an X version -- over a non-blindingly-fast modem, say.)  You may also
want to define GRAPHIC_TOMBSTONE.

In src/Makefile, add $(WINQTSRC), $(WINQTOBJ), and $(WINQTLIB) to WINSRC,
WINOBJ, and WINLIB respectively. Similarly, in ./Makefile, add $(VARQTND)
to VARDATND, and run "make all" from the top level directory. This will
give you an executable supporting both Qt and tty windowing.

It is possible to create a Slash'EM executable which supports both the X11
and Qt windowing ports (and tty as well, if you want). To do this, change
the definitions of WINSRC, WINOBJ, WINLIB, and VARDATND to include both
the X11 and the Qt variables. Then remove tile.o from the definition of
WINQTOBJ to prevent a duplication since WINX11OBJ also includes it.

If you have NAS (Network Audio System) and you want user defined sounds
then define USER_SOUNDS in include/config.h and add $(WINQTASRC),
$(WINQTAOBJ), and $(WINQTALIB) to WINQTSRC, WINQTOBJ, and WINQTLIB
respectively. Note that this is untested.

As part of your Qt installation, you should have an environment variable
QTDIR defined which src/Makefile uses to find the Qt libraries and support
files. If you don't have such a variable defined, then you can define
QTDIR in src/Makefile to the appropriate place. You can also change the
definitions of QTLIBDIR etc. if your installation is particularly unusual.

You might also have to correct the definition of CXXFLAGS (these are for
the C++ compiler). In particular, the use of USER_SOUNDS requires that
the X11 include directory is specified correctly.

The Qt port has support for three variables which can be specified in your
~/.slashemrc file (or equivalent if you don't run UNIX). These are:

	qt_tilewidth	The width of each tile in pixels
	qt_tileheight	The height of each tile in pixels
	qt_fontsize	The font size. One of huge, large, medium or small.
			These can be abreviated to h, l, m or s.

If these are not specified, suitable default values are selected.

One final note. Despite the continued existence of KDE switches in
include/config.h and src/Makefile, there is no KDE support code present in
the current Qt interface. It may be resurrected at some point in the future.

J. Ali Harlow, ali@avrc.city.ac.uk
