Previous Contents

3. Customizing the Client

The client can be customized in many ways to reflect your tastes for its user interface. The game system, rules, units, and such are not controlled by the client and are beyond customization at the client level; they are defined by the server. But many issues dealing with graphics features can be changed.

3.1 Alternate Graphics Tilesets

The graphics used for Freeciv are defined in XPM (X Pixmap) files in the distribution; there are separate files for terrain squares, units, roads, the small symbols used on various windows, and the spaceship elements. The default tilesets are a set of 45x45 tiles by Ralf Engels. Other tilesets exist which are different both in style and in size; many people prefer using 30x30 tiles to fit more of the map on the screen (17 across and 11 high).

The Freeciv distribution comes with one alternate tileset, a 30x30 tileset, which was the standard tileset in Freeciv 1.7.2. By default, it is stored in the directory /usr/local/share/freeciv/classic, so you may use it with the -tiles classic option added to your invocation of the client. Additional popular tilesets have been contributed to the Freeciv effort, and can be found in ftp.freeciv.org/pub/freeciv/contrib/tiles. You would typically download and unpack them into a new directory in /usr/local/share/freeciv for general use.

3.2 X Resources and Command Options

A great many features of the Xaw client are defined as X resources, and as such may be set by you; this is not presently the case with the Gtk client. Typically, you would add such definitions to your .Xdefaults file, or whatever file you use to customize your X environment. All Xaw client Freeciv resources start with the name Freeciv, so to change your customary player name (as shown in the table below), you would add

Freeciv*player: Honorius
to your file of X settings.

All Xaw client command line options are available with either one or two hyphens before the name (that is, -name and --name yield the same effect). The Gtk client requires two hyphens. All but two of the command line options are also X resources (for the Xaw client only). The two exceptions are -help (which lists the command line options) and -version (which displays the Freeciv client version).
X Resource Command line Results
log -log Defines the name of a log file to be produced as the client operates. The amount of information logged is controlled by the debug resource.
name -name The player name you wish to use; this is copied into the Connect Window for you.
server -server The Internet address (e.g., 11.22.33.44) or name (e.g., myhost.mynet.net) at which the Freeciv server is to be found; this is copied into the Connect Window.
port -port The port number on the server system at which the Freeciv server is to be found; this is copied into the Connect Window.
debug -debug Sets the level of debugging information logged, a number from 0 to 2. Zero logs fatal errors; 1 additionally logs warning errors; 2 additionally logs normal debugging messages.
tileset Provides the directory name of an alternate tileset to be used for graphics. This should be a name relative to the base of the Freeciv data area, by default /usr/local/share/freeciv.

Those are the X resources which a typical user might wish to modify. The Xaw client, however, uses the X resource system to control vast amounts of the user interface's presentation, such as the color of every field, the ways in which the fields of a window are linked together, and the words on each button. You can find the default settings for all of these resources in the file /usr/local/share/freeciv/Freeciv. If you wished to, for instance, you could change the "Turn Done" button with the line

Freeciv*turndonebutton.label: Next Turn
in your X resources file.

3.3 Files and Environment Variables

The client depends on certain files to initialize itself. The standard distribution places these files in /usr/local/share/freeciv, and the code is compiled to use that directory. The files used from the Freeciv directory are:

Freeciv
The default X resources for Xaw client
helpdata.txt
The database of help data used for the Help menu.
default
The directory containing the graphics files required:
tiles.xpm
the map terrain tiles
units.xpm
the unit symbols
roads.xpm
roads of various sorts
small.xpm
small graphics for various windows
space.xpm
spaceship components
treaty.xpm
treaty agreement graphics

The environment variable FREECIV_DATADIR, if specified, gives the full path of an alternate directory.

The environment variable HOME is used to find the user's home directory. The file .civclientrc is ready from and written to in that directory.


Previous Contents