aboutsummaryrefslogtreecommitdiffstats
path: root/games/xbattle
diff options
context:
space:
mode:
authornemysis <nemysis@FreeBSD.org>2014-03-30 04:38:57 +0800
committernemysis <nemysis@FreeBSD.org>2014-03-30 04:38:57 +0800
commit896e3c47c7a9897d576962f0fccc4e08d8b9e547 (patch)
treeeafa73ee7f55de10ef0503f27e48041e86a21ab6 /games/xbattle
parent63d0ede19284f34498a9868a685bbe58a49d5bc5 (diff)
downloadfreebsd-ports-gnome-896e3c47c7a9897d576962f0fccc4e08d8b9e547.tar.gz
freebsd-ports-gnome-896e3c47c7a9897d576962f0fccc4e08d8b9e547.tar.zst
freebsd-ports-gnome-896e3c47c7a9897d576962f0fccc4e08d8b9e547.zip
- Bump PORTREVISION for dependency and pkg-plist change
- Change master sites, add icons - Take maintainership - Remove DEPRECATED, EXPIRATION_DATE - Add dependency for x11/xdialog - Add USE_CSTD=gnu89 - Support STAGEDIR - Remove tutorial* from DOCS, SH scripts which are used to learn how to use XBattle - Add Desktop entry file - Simplify installation handling - Fix MAN to install in man6 - Recreate patch with make makepatch, fix MAN to install in man6 - Add patches, use some Debian patches, fix bad C code and video (Pseudo Color), - Add files/xbattle-menu.in for Desktop with Xdialog - Change pkg-descr, add WWW - Change pkg-plist, remove DOCS
Diffstat (limited to 'games/xbattle')
-rw-r--r--games/xbattle/Makefile65
-rw-r--r--games/xbattle/distinfo2
-rw-r--r--games/xbattle/files/patch-Imakefile17
-rw-r--r--games/xbattle/files/patch-aa23
-rw-r--r--games/xbattle/files/patch-command.c8
-rw-r--r--games/xbattle/files/patch-draw.c17
-rw-r--r--games/xbattle/files/patch-edit.c8
-rw-r--r--games/xbattle/files/patch-error.c8
-rw-r--r--games/xbattle/files/patch-init.c9
-rw-r--r--games/xbattle/files/patch-main.c9
-rw-r--r--games/xbattle/files/patch-parse.c12
-rw-r--r--games/xbattle/files/patch-replay.c9
-rw-r--r--games/xbattle/files/patch-shape.c8
-rw-r--r--games/xbattle/files/patch-shape_octagon.c11
-rw-r--r--games/xbattle/files/patch-utils.c8
-rw-r--r--games/xbattle/files/patch-window.c77
-rw-r--r--games/xbattle/files/patch-xbattle.man1070
-rw-r--r--games/xbattle/files/xbattle-menu.in63
-rw-r--r--games/xbattle/pkg-descr44
-rw-r--r--games/xbattle/pkg-plist51
20 files changed, 1428 insertions, 91 deletions
diff --git a/games/xbattle/Makefile b/games/xbattle/Makefile
index d67698776788..47c4eaed9a0a 100644
--- a/games/xbattle/Makefile
+++ b/games/xbattle/Makefile
@@ -3,44 +3,55 @@
PORTNAME= xbattle
PORTVERSION= 5.4.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= games
-MASTER_SITES= ${MASTER_SITE_GENTOO}
-MASTER_SITE_SUBDIR= distfiles
+MASTER_SITES= GENTOO/distfiles \
+ SF/nemysisfreebsdp/${CATEGORIES}/${PORTNAME}/:icons
+DISTFILES= ${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} \
+ ${PORTNAME}_icons${EXTRACT_SUFX}:icons
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= nemysis@FreeBSD.org
COMMENT= Concurrent multi-player battle strategy game
-DEPRECATED= Unmaintained since 2001
-EXPIRATION_DATE= 2014-04-12
+RUN_DEPENDS= xdialog>0:${PORTSDIR}/x11/xdialog
+
USES= imake
USE_XORG= x11 xext
-MAN1= xbattle.1
-
+USE_CSTD= gnu89
CFLAGS+= -Wno-return-type
-NO_STAGE= yes
-
+PORTDOCS= README
OPTIONS_DEFINE= DOCS
-.include <bsd.port.options.mk>
+INSTALLS_ICONS= yes
+ICON_SIZES= 32x32 48x48 64x64 72x72 96x96 128x128
+
+SUB_FILES= ${PORTNAME}-menu
+
+DESKTOP_ENTRIES="XBattle" "" "${PORTNAME}" \
+ "${PORTNAME}-menu" "Game;ArcadeGame;" ""
post-install:
- $(MKDIR) $(PREFIX)/share/xbattle
- $(CP) -R $(WRKSRC)/xbos $(PREFIX)/share/xbattle/
- $(CP) -R $(WRKSRC)/xbts $(PREFIX)/share/xbattle/
- $(CP) -R $(WRKSRC)/xbas $(PREFIX)/share/xbattle/
- @${CHMOD} 755 ${PREFIX}/share/xbattle
- @${CHMOD} 755 ${PREFIX}/share/xbattle/xbas
- @${CHMOD} 644 ${PREFIX}/share/xbattle/xbas/*
- @${CHMOD} 755 ${PREFIX}/share/xbattle/xbos
- @${CHMOD} 644 ${PREFIX}/share/xbattle/xbos/*
- @${CHMOD} 755 ${PREFIX}/share/xbattle/xbts
- @${CHMOD} 644 ${PREFIX}/share/xbattle/xbts/*
-.if ${PORT_OPTIONS:MDOCS}
- @${MKDIR} ${DOCSDIR}
- @${INSTALL_DATA} ${WRKSRC}/tutorial* ${DOCSDIR}
- @${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
-.endif
+ ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME}-menu ${STAGEDIR}${PREFIX}/bin/
+.for d in xbas xbos xbts
+ @(cd ${WRKSRC} && ${COPYTREE_SHARE} ${d} ${STAGEDIR}${DATADIR})
+ @${CHMOD} 755 ${STAGEDIR}${DATADIR}/${d}
+ @${CHMOD} 644 ${STAGEDIR}${DATADIR}/${d}/*
+.endfor
+ @${CHMOD} 755 ${STAGEDIR}${DATADIR}
+.for f in tutorial1 tutorial2
+ ${INSTALL_SCRIPT} ${WRKSRC}/${f} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-${f}
+.endfor
+
+.for s in ${ICON_SIZES}
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}/apps/
+ ${INSTALL_DATA} ${WRKDIR}/${PORTNAME}_${s}.png \
+ ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}/apps/${PORTNAME}.png
+.endfor
+ ${LN} -sf ${PREFIX}/share/icons/hicolor/48x48/apps/${PORTNAME}.png \
+ ${STAGEDIR}${PREFIX}/share/pixmaps/
+
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>
diff --git a/games/xbattle/distinfo b/games/xbattle/distinfo
index 82a2a367b152..e3a84e7331e5 100644
--- a/games/xbattle/distinfo
+++ b/games/xbattle/distinfo
@@ -1,2 +1,4 @@
SHA256 (xbattle-5.4.1.tar.gz) = 9de38df361c87d0fdc65e13cf2fa3bb28dc22a8d04cc94f2f08e6cd9457ee180
SIZE (xbattle-5.4.1.tar.gz) = 128982
+SHA256 (xbattle_icons.tar.gz) = f3e8fca5a6eeaebcecec0019894fa2d80402d20a9eabd20c32bb58a1acadbf4f
+SIZE (xbattle_icons.tar.gz) = 22326
diff --git a/games/xbattle/files/patch-Imakefile b/games/xbattle/files/patch-Imakefile
new file mode 100644
index 000000000000..a2de84f7de1a
--- /dev/null
+++ b/games/xbattle/files/patch-Imakefile
@@ -0,0 +1,17 @@
+--- ./Imakefile.orig 1995-10-17 15:14:37.000000000 +0100
++++ ./Imakefile 2014-03-29 18:29:01.369960166 +0100
+@@ -6,10 +6,11 @@
+ CCOPTIONS = -Wf,-XNl4096
+ #endif
+ #endif
++MANSUFFIX =6
+
+- DEFINES = -DDEFAULT_XBO_DIR=\"/export/home/lesher/xbos\" \
+- -DDEFAULT_XBT_DIR=\"/export/home/lesher/xbts\" \
+- -DDEFAULT_XBA_DIR=\"/export/home/lesher/xbas\"
++ DEFINES = -DDEFAULT_XBO_DIR=\"$(PREFIX)/share/xbattle/xbos\" \
++ -DDEFAULT_XBT_DIR=\"$(PREFIX)/share/xbattle/xbts\" \
++ -DDEFAULT_XBA_DIR=\"$(PREFIX)/share/xbattle/xbas\"
+ LOCAL_LIBRARIES = $(XLIB)
+ SYS_LIBRARIES = -lm
+ SRCS = command.c \
diff --git a/games/xbattle/files/patch-aa b/games/xbattle/files/patch-aa
deleted file mode 100644
index ca814000e918..000000000000
--- a/games/xbattle/files/patch-aa
+++ /dev/null
@@ -1,23 +0,0 @@
-*** Imakefile.orig Tue Apr 29 16:11:52 1997
---- Imakefile Tue Apr 29 16:13:28 1997
-***************
-*** 7,15 ****
- #endif
- #endif
-
-! DEFINES = -DDEFAULT_XBO_DIR=\"/export/home/lesher/xbos\" \
-! -DDEFAULT_XBT_DIR=\"/export/home/lesher/xbts\" \
-! -DDEFAULT_XBA_DIR=\"/export/home/lesher/xbas\"
- LOCAL_LIBRARIES = $(XLIB)
- SYS_LIBRARIES = -lm
- SRCS = command.c \
---- 7,15 ----
- #endif
- #endif
-
-! DEFINES = -DDEFAULT_XBO_DIR=\"$(PREFIX)/share/xbattle/xbos\" \
-! -DDEFAULT_XBT_DIR=\"$(PREFIX)/share/xbattle/xbts\" \
-! -DDEFAULT_XBA_DIR=\"$(PREFIX)/share/xbattle/xbas\"
- LOCAL_LIBRARIES = $(XLIB)
- SYS_LIBRARIES = -lm
- SRCS = command.c \
diff --git a/games/xbattle/files/patch-command.c b/games/xbattle/files/patch-command.c
new file mode 100644
index 000000000000..24e01aa4e436
--- /dev/null
+++ b/games/xbattle/files/patch-command.c
@@ -0,0 +1,8 @@
+--- ./command.c.orig 1995-12-19 23:21:51.000000000 +0100
++++ ./command.c 2014-03-29 18:28:41.989953350 +0100
+@@ -1,4 +1,5 @@
+ #include <stdio.h>
++#include <string.h>
+
+ #include "constant.h"
+
diff --git a/games/xbattle/files/patch-draw.c b/games/xbattle/files/patch-draw.c
new file mode 100644
index 000000000000..9943a99b3169
--- /dev/null
+++ b/games/xbattle/files/patch-draw.c
@@ -0,0 +1,17 @@
+--- ./draw.c.orig 1995-12-19 23:21:51.000000000 +0100
++++ ./draw.c 2014-03-29 18:28:41.989953350 +0100
+@@ -1,4 +1,5 @@
+ #include <stdio.h>
++#include <string.h>
+
+ #include "constant.h"
+
+@@ -1267,7 +1268,7 @@
+ ******************************************************************************/
+
+ draw_timer (running_time, player)
+- unsigned long running_time;
++ unsigned int running_time;
+ int player;
+ {
+ char line[MAX_LINE];
diff --git a/games/xbattle/files/patch-edit.c b/games/xbattle/files/patch-edit.c
new file mode 100644
index 000000000000..23cf5930749a
--- /dev/null
+++ b/games/xbattle/files/patch-edit.c
@@ -0,0 +1,8 @@
+--- ./edit.c.orig 1995-12-19 23:21:51.000000000 +0100
++++ ./edit.c 2014-03-29 18:28:41.989953350 +0100
+@@ -1,4 +1,5 @@
+ #include <stdio.h>
++#include <stdlib.h>
+
+ #include "constant.h"
+
diff --git a/games/xbattle/files/patch-error.c b/games/xbattle/files/patch-error.c
new file mode 100644
index 000000000000..0decee5229e5
--- /dev/null
+++ b/games/xbattle/files/patch-error.c
@@ -0,0 +1,8 @@
+--- ./error.c.orig 1995-12-19 23:21:51.000000000 +0100
++++ ./error.c 2014-03-29 18:28:41.999944284 +0100
+@@ -1,4 +1,5 @@
+ #include <stdio.h>
++#include <stdlib.h>
+
+ #include "constant.h"
+
diff --git a/games/xbattle/files/patch-init.c b/games/xbattle/files/patch-init.c
new file mode 100644
index 000000000000..3f50b47f8c89
--- /dev/null
+++ b/games/xbattle/files/patch-init.c
@@ -0,0 +1,9 @@
+--- ./init.c.orig 1995-12-19 23:21:51.000000000 +0100
++++ ./init.c 2014-03-29 18:28:41.999944284 +0100
+@@ -1,5 +1,6 @@
+ #include <stdio.h>
+ #include <math.h>
++#include <stdlib.h>
+
+ #include "constant.h"
+
diff --git a/games/xbattle/files/patch-main.c b/games/xbattle/files/patch-main.c
new file mode 100644
index 000000000000..49e5cfa7efdb
--- /dev/null
+++ b/games/xbattle/files/patch-main.c
@@ -0,0 +1,9 @@
+--- ./main.c.orig 1995-12-19 23:21:51.000000000 +0100
++++ ./main.c 2014-03-29 18:28:41.999944284 +0100
+@@ -1,4 +1,6 @@
+ #include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
+
+ /**** x include files ****/
+ #include <X11/Xlib.h>
diff --git a/games/xbattle/files/patch-parse.c b/games/xbattle/files/patch-parse.c
new file mode 100644
index 000000000000..e2b33a8e7cd1
--- /dev/null
+++ b/games/xbattle/files/patch-parse.c
@@ -0,0 +1,12 @@
+--- ./parse.c.orig 1995-12-19 23:26:39.000000000 +0100
++++ ./parse.c 2014-03-29 18:28:41.999944284 +0100
+@@ -1486,8 +1486,7 @@
+ *filename;
+ {
+ int i;
+- char *suffix,
+- *strstr();
++ char *suffix;
+ FILE *fp;
+
+ strcpy (filename, &option[1]);
diff --git a/games/xbattle/files/patch-replay.c b/games/xbattle/files/patch-replay.c
new file mode 100644
index 000000000000..ea3605c196a9
--- /dev/null
+++ b/games/xbattle/files/patch-replay.c
@@ -0,0 +1,9 @@
+--- ./replay.c.orig 1995-12-19 23:21:51.000000000 +0100
++++ ./replay.c 2014-03-29 18:28:41.999944284 +0100
+@@ -1,4 +1,6 @@
+ #include <stdio.h>
++#include <string.h>
++#include <stdlib.h>
+
+ #include "constant.h"
+
diff --git a/games/xbattle/files/patch-shape.c b/games/xbattle/files/patch-shape.c
new file mode 100644
index 000000000000..d477c85ce6fe
--- /dev/null
+++ b/games/xbattle/files/patch-shape.c
@@ -0,0 +1,8 @@
+--- ./shape.c.orig 1995-12-19 23:21:51.000000000 +0100
++++ ./shape.c 2014-03-29 18:28:41.999944284 +0100
+@@ -1,4 +1,5 @@
+ #include <stdio.h>
++#include <stdlib.h>
+
+ #include "constant.h"
+
diff --git a/games/xbattle/files/patch-shape_octagon.c b/games/xbattle/files/patch-shape_octagon.c
new file mode 100644
index 000000000000..0ada0b786413
--- /dev/null
+++ b/games/xbattle/files/patch-shape_octagon.c
@@ -0,0 +1,11 @@
+--- ./shape_octagon.c.orig 1995-12-19 23:21:51.000000000 +0100
++++ ./shape_octagon.c 2014-03-29 18:28:42.009953797 +0100
+@@ -91,7 +91,7 @@
+
+ shape->direction_count = 8;
+ shape->direction_factor = 24/shape->direction_count;
+- shape->angle_offset = 67.5;
++ shape->angle_offset = 67;
+ shape->use_secondary = FALSE;
+
+ /** Define polygon points **/
diff --git a/games/xbattle/files/patch-utils.c b/games/xbattle/files/patch-utils.c
new file mode 100644
index 000000000000..c0ba03f1e110
--- /dev/null
+++ b/games/xbattle/files/patch-utils.c
@@ -0,0 +1,8 @@
+--- ./utils.c.orig 1995-12-19 23:21:51.000000000 +0100
++++ ./utils.c 2014-03-29 18:28:42.009953797 +0100
+@@ -1,4 +1,5 @@
+ #include <stdio.h>
++#include <string.h>
+
+ #include "constant.h"
+
diff --git a/games/xbattle/files/patch-window.c b/games/xbattle/files/patch-window.c
new file mode 100644
index 000000000000..45778bf04824
--- /dev/null
+++ b/games/xbattle/files/patch-window.c
@@ -0,0 +1,77 @@
+--- ./window.c.orig 1995-12-19 23:21:51.000000000 +0100
++++ ./window.c 2014-03-29 18:28:42.009953797 +0100
+@@ -1,4 +1,6 @@
+ #include <stdio.h>
++#include <string.h>
++#include <stdlib.h>
+
+ #include "constant.h"
+
+@@ -708,8 +710,7 @@
+ unsigned long valuemask;
+ XSetWindowAttributes attrib;
+ XVisualInfo vinfo;
+- long event_mask,
+- full_depth;
++ long event_mask;
+ Atom wm_delete_window;
+
+ /** Open display and screen **/
+@@ -742,36 +743,11 @@
+ /** Set bitplane depth to default **/
+
+ xwindow->depth = DefaultDepth (xwindow->display, xwindow->screen);
+- full_depth = xwindow->depth;
+
+ /** Get a visual **/
+
+ visual = DefaultVisual (xwindow->display, xwindow->screen);
+
+- /** Try to force the display to 8 planes **/
+-
+- if (xwindow->depth != 8)
+- {
+- if (XMatchVisualInfo
+- (xwindow->display, xwindow->screen, 8, PseudoColor, &vinfo))
+- {
+- visual = vinfo.visual;
+- xwindow->depth = 8;
+- }
+- }
+-
+- /** If couldn't find an 8 bit visual, try a 16 bit visual **/
+-
+- if (xwindow->depth != 8)
+- {
+- if (XMatchVisualInfo
+- (xwindow->display, xwindow->screen, 16, PseudoColor, &vinfo))
+- {
+- visual = vinfo.visual;
+- xwindow->depth = 16;
+- }
+- }
+-
+ /** If have less than 8 planes, just use a single plane **/
+
+ if (xwindow->depth < 8)
+@@ -790,19 +766,8 @@
+ #else
+ /** Allocate existing colormap **/
+
+- if (full_depth > 8)
++ if (xwindow->depth > 8)
+ {
+- /** XBattle won't work for 24 bit displays with no optional **/
+- /** visuals with 8 or 16 bits. This may be the case on some PCs. **/
+- /** In these cases, it may be possible to reconfigure the display **/
+- /** to 8 or 16 bits. **/
+-
+- if (xwindow->depth > 16)
+- {
+- throw_warning ("No PseudoColor visual available\n%s",
+- " Try changing display to <= 16 bits");
+- throw_error ("Unable to continue without colormap", NULL);
+- }
+
+ /** If display is 24 bit, have to create a dedicated colormap **/
+
diff --git a/games/xbattle/files/patch-xbattle.man b/games/xbattle/files/patch-xbattle.man
new file mode 100644
index 000000000000..713dc41741d3
--- /dev/null
+++ b/games/xbattle/files/patch-xbattle.man
@@ -0,0 +1,1070 @@
+--- ./xbattle.man.orig 1995-12-19 23:58:48.000000000 +0100
++++ ./xbattle.man 2014-03-29 18:28:42.009953797 +0100
+@@ -2,12 +2,12 @@
+ .SH NAME
+ xbattle \- a multi-user battle strategy game
+ .SH SYNOPSIS
+- xbattle [-<color> <display>...] [-<option> <argument>...]
+-.SH
++ xbattle [\-<color> <display>...] [\-<option> <argument>...]
++.SH DESCRIPTION
+
+ Assign a team color and display to each player, and any number of
+ options with argument where required. <color> can be a monochrome
+-tone, -black -white -dark -light, or a color, -red -green -blue ;
++tone, \-black \-white \-dark \-light, or a color, \-red \-green \-blue ;
+ <display> is the name of the x display for each player. Command line
+ arguments can be supplied in any order. For a quick introduction, go
+ straight to the EXAMPLES section below. Also, see the tutorials
+@@ -17,96 +17,95 @@
+ .SH OPTIONS
+ .nf
+
+-...........................................................|
+ USAGE: xbattle <args>
+- -<c1> <str> color to display name <str>
+- -<c1>_<c2> <str> colors to display name <str>
+- -area troops proportional to area
+- -attack allow use of attack key
+- -armies <int> number of ordered armies
+- -basemap use map scheme, bases visible
+- -bases <int> number of ordered bases
+- -board <int> size of board (in cells, x=y)
+- -boardx <int> width of board (in cells)
+- -boardy <int> height of board (in cells)
+- -border <int> border around board
+- -bound allow drag-bounded vector sets
+- -build <int> build cities with <int> segments
+- -build_cost <int> cost to build city segment
+- -build_limit <int> limit cities each side can build
+- -color <spec> set RGB values for color <str>
+- -color_inverse <spec> set color <s1> inverse to <s2>
+- -decay <int> make troops slowly die off
+- -diamond use diamond tiling
+- -dig [int] [int] step terrain lowering
+- -dig_cost <int> cost of each dig step
+- -digin <int> provide entrenchment
+- -disrupt attacks break supply lines
+- -draw <int> specify a troop drawing method
+- -dump <file> dump configuration to <file>
+- -edit [file] interactively edit xbattle board
+- -erode make unused paths erode
+- -erode_thresh <int> threshold for erosion
+- -farms <int> troops slowly grow
+- -fight <int> intensity of fighting
+- -fill [int] [int] step terrain raising
+- -fill_cost <int> cost of each fill step
+- -forest <int> density of forest
+- -forest_color <spec> RGB values for forest level
+- -forest_tones <int> number of forest levels
+- -grid show grid
+- -guns <int> range of artillery
+- -guns_cost <int> cost of each artillery shell
+- -guns_damage <int> damage done by artillery shell
+- -help print argument list
+- -hex use hexagonal tiling
+- -hidden invisible enemy vectors
+- -hills <int> slope of hills
+- -hill_color <spec> RGB values for hill level <int>
+- -hill_tones <int> number of allowable hill levels
+- -horizon [int] can't see enemy past [int] cells
+- -load [file] load board from [file]
+- -localmap mapping with invisible terrain
+- -manage managed control of commands
+- -manpos manual positioning of board
+- -map use basic map scheme
+- -march <int> number of delays between marches
+- -maxval <int> maximum cell troop capacity
+- -militia <int> randomly distributed troops
+- -move <int> speed of troop flow
+- -nospigot [int] cease attack if outnumbered
+- -octagon use octagonal/square tiling
+- -options <file> read xbattle options from <file>
+- -opt_file.xbo shorthand -options opt_file.xbo
+- -overwrite just use terrain from load file
+- -para <int> range of paratroopers
+- -para_cost <int> cost of each paratrooper
+- -para_damage <int> invading strength of paratrooper
+- -peaks <int> number of terrain peaks
+- -peak_bias <float> peak distribution bias (0.0-2.0)
+- -rbases <int> number of distributed bases
+- -rbase_range <int> distance of rbase from enemy
+- -repeat repeat of last mouse command
+- -replay [file] replay stored game from [file]
+- -reserve allow reserve of troops
+- -scuttle [int] enable city scuttling
+- -scuttle_cost <int> cost of scuttle
+- -sea <int> pervasiveness (+ levels) of sea
+- -sea_block use block-fills, not hue-fills
+- -sea_color <spec> RGB values for sea level <int>
+- -sea_tones <int> number of allowable sea levels
+- -sea_value <float> darkness of seas for b/w games
+- -seed <int> random number generator seed
+- -speed <int> speed of updates
+- -square <int> side length of cell
+- -stipple <spec> set stipple (b/w) pattern
+- -store [file] store game for later replay
+- -towns <int> density of distributed towns
+- -triangle use triangular tiling
+- -trough_bias <float> trough setting bias (0.0-2.0)
+- -xpos <int> x position of board on display
+- -ypos <int> y position of board on display
+- -wrap wrapping around edges of board
++ \-<c1> <str> color to display name <str>
++ \-<c1>_<c2> <str> colors to display name <str>
++ \-area troops proportional to area
++ \-attack allow use of attack key
++ \-armies <int> number of ordered armies
++ \-basemap use map scheme, bases visible
++ \-bases <int> number of ordered bases
++ \-board <int> size of board (in cells, x=y)
++ \-boardx <int> width of board (in cells)
++ \-boardy <int> height of board (in cells)
++ \-border <int> border around board
++ \-bound allow drag-bounded vector sets
++ \-build <int> build cities with <int> segments
++ \-build_cost <int> cost to build city segment
++ \-build_limit <int> limit cities each side can build
++ \-color <spec> set RGB values for color <str>
++ \-color_inverse <spec> set color <s1> inverse to <s2>
++ \-decay <int> make troops slowly die off
++ \-diamond use diamond tiling
++ \-dig [int] [int] step terrain lowering
++ \-dig_cost <int> cost of each dig step
++ \-digin <int> provide entrenchment
++ \-disrupt attacks break supply lines
++ \-draw <int> specify a troop drawing method
++ \-dump <file> dump configuration to <file>
++ \-edit [file] interactively edit xbattle board
++ \-erode make unused paths erode
++ \-erode_thresh <int> threshold for erosion
++ \-farms <int> troops slowly grow
++ \-fight <int> intensity of fighting
++ \-fill [int] [int] step terrain raising
++ \-fill_cost <int> cost of each fill step
++ \-forest <int> density of forest
++ \-forest_color <spec> RGB values for forest level
++ \-forest_tones <int> number of forest levels
++ \-grid show grid
++ \-guns <int> range of artillery
++ \-guns_cost <int> cost of each artillery shell
++ \-guns_damage <int> damage done by artillery shell
++ \-help print argument list
++ \-hex use hexagonal tiling
++ \-hidden invisible enemy vectors
++ \-hills <int> slope of hills
++ \-hill_color <spec> RGB values for hill level <int>
++ \-hill_tones <int> number of allowable hill levels
++ \-horizon [int] can't see enemy past [int] cells
++ \-load [file] load board from [file]
++ \-localmap mapping with invisible terrain
++ \-manage managed control of commands
++ \-manpos manual positioning of board
++ \-map use basic map scheme
++ \-march <int> number of delays between marches
++ \-maxval <int> maximum cell troop capacity
++ \-militia <int> randomly distributed troops
++ \-move <int> speed of troop flow
++ \-nospigot [int] cease attack if outnumbered
++ \-octagon use octagonal/square tiling
++ \-options <file> read xbattle options from <file>
++ \-opt_file.xbo shorthand -options opt_file.xbo
++ \-overwrite just use terrain from load file
++ \-para <int> range of paratroopers
++ \-para_cost <int> cost of each paratrooper
++ \-para_damage <int> invading strength of paratrooper
++ \-peaks <int> number of terrain peaks
++ \-peak_bias <float> peak distribution bias (0.0-2.0)
++ \-rbases <int> number of distributed bases
++ \-rbase_range <int> distance of rbase from enemy
++ \-repeat repeat of last mouse command
++ \-replay [file] replay stored game from [file]
++ \-reserve allow reserve of troops
++ \-scuttle [int] enable city scuttling
++ \-scuttle_cost <int> cost of scuttle
++ \-sea <int> pervasiveness (+ levels) of sea
++ \-sea_block use block-fills, not hue-fills
++ \-sea_color <spec> RGB values for sea level <int>
++ \-sea_tones <int> number of allowable sea levels
++ \-sea_value <float> darkness of seas for b/w games
++ \-seed <int> random number generator seed
++ \-speed <int> speed of updates
++ \-square <int> side length of cell
++ \-stipple <spec> set stipple (b/w) pattern
++ \-store [file] store game for later replay
++ \-towns <int> density of distributed towns
++ \-triangle use triangular tiling
++ \-trough_bias <float> trough setting bias (0.0-2.0)
++ \-xpos <int> x position of board on display
++ \-ypos <int> y position of board on display
++ \-wrap wrapping around edges of board
+
+ .fi
+ .SH RUN-TIME COMMAND SUMMARY
+@@ -114,29 +113,29 @@
+ .SH COMMANDS IN GAMEBOARD
+ LFT MOUSE: toggle command vector
+ MID MOUSE: clear and set new command vector
+- RGT MOUSE: repeat previous command (-repeat)
+- SHIFT-LFT MOUSE: march (-march) fork move (else)
+- SHIFT-MID MOUSE: force march (-march) fork move (else)
+- SHIFT-RGT MOUSE: paratroops (-para)
+- CTRL-RGT MOUSE: artillery (-guns)
++ RGT MOUSE: repeat previous command (\-repeat)
++ SHIFT-LFT MOUSE: march (\-march) fork move (else)
++ SHIFT-MID MOUSE: force march (\-march) fork move (else)
++ SHIFT-RGT MOUSE: paratroops (\-para)
++ CTRL-RGT MOUSE: artillery (\-guns)
+ CRTL-'s': pause game
+ CRTL-'q': resume game
+ CRTL-'p': save game state to map file
+- 'a': attack enemy square (-attack)
+- 'b': build base (-build)
+- 'B': build full base (-build & -manage)
+- 's': scuttle base (-scuttle)
+- 'f': fill terrain (-fill)
+- 'F': fill full terrain (-fill & -manage)
+- 'd': dig terrain (-dig)
+- 'D': dig full terrain (-dig & -manage)
++ 'a': attack enemy square (\-attack)
++ 'b': build base (\-build)
++ 'B': build full base (\-build & \-manage)
++ 's': scuttle base (\-scuttle)
++ 'f': fill terrain (\-fill)
++ 'F': fill full terrain (\-fill & \-manage)
++ 'd': dig terrain (\-dig)
++ 'D': dig full terrain (\-dig & \-manage)
+ 'p': paratroops (-para)
+- 'P': paratroops - on (-para & -manage)
+- 'g': artillery (-guns)
+- 'G': artillery - on (-guns & -manage)
++ 'P': paratroops \- on (\-para & \-manage)
++ 'g': artillery (\-guns)
++ 'G': artillery \- on (\-guns & \-manage)
+ 'z': cancel all movement
+- 'c': cancel managed operation (-manage)
+- '0'-'9': reserve (-reserve)
++ 'c': cancel managed operation (\-manage)
++ '0'-'9': reserve (\-reserve)
+
+ .SH COMMANDS IN TEXT AREA
+ CONTROL-c: quit the game
+@@ -169,17 +168,17 @@
+ without waiting for turns.
+
+ .SH TEAM SIDES AND PLAYERS
+- -<color>, -color, -color_inverse, -stipple
++ \-<color>, \-color, \-color_inverse, \-stipple
+
+ The game is started from one display, and each player must play from a
+ separate display, players being assigned to a color team by the
+-command line option "-<color> <display>". The parameter <color>
++command line option "\-<color> <display>". The parameter <color>
+ determines the color of the troops of that team, which can be either a
+ monochrome tone like black, white, dark, light, or a true color like
+ red, green, blue, although the true colors will appear on a monochrome
+ monitor as either black or white with an identifying character in each
+ troop marker which is the first letter of the color name. For
+-instance, the team color "-red" would appear on a monochrome monitor
++instance, the team color "\-red" would appear on a monochrome monitor
+ as black with a letter "R" in the middle of each troop marker. The
+ legal team color names can be selected from any color defined in the
+ file /usr/lib/X11/rgb.txt which includes such bizarre entries as
+@@ -187,11 +186,11 @@
+ "red", "green", "blue" and "black" and "white" etc. Alternatively,
+ colors can be defined individually in the default file (.xbattle),
+ an option file (see OPTIONS section below), or in the command
+-line itself using the "-color <str> <r> <g> <b>" option. With this
++line itself using the "\-color <str> <r> <g> <b>" option. With this
+ option, the color is given by <str>, and the red green and blue
+ components by <r>, <g>, and <b> respectively, in the range (0-255). A
+ black and white pattern can be assigned to correspond to color name
+-<str> via the "-stipple <str> 8 x <hex>" option, where the binary
++<str> via the "\-stipple <str> 8 x <hex>" option, where the binary
+ breakdown of each of eight hex numbers (in form like "0xa4") specifies
+ one of the eight rows of the pattern.
+
+@@ -200,7 +199,7 @@
+ bitmap textures on monochrome monitors, allowing monochrome players to
+ have six distinguishable team colors. A number of people can be
+ assigned to the same team by repeating the color for different
+-displays, for example "-red display1 -red display2", and each member
++displays, for example "\-red display1 \-red display2", and each member
+ of the team will be able to command any troops of that team. The
+ <display> argument designates the name of the display on which the
+ team of that color is playing, so each player must be given a color
+@@ -215,7 +214,7 @@
+ which means the display from which the program is started. When
+ playing between color and monochrome displays the colors can be
+ specified more exactly by concatenating a color name with a monochrome
+-name, for example "-red_white" (color first), which would display that
++name, for example "\-red_white" (color first), which would display that
+ team as red on color monitors and white on monochrome monitors. All
+ command line flags and arguments for the game can be given in any
+ order as long as the argument directly follows its flag, and most
+@@ -225,7 +224,7 @@
+ experienced player (see BIASED GAMES below).
+
+ .SH OPTIONS
+- -options
++ \-options
+
+ A large number of command line options are available to define the parameters
+ of the game. In essence, xbattle is many thousands of games rolled
+@@ -237,8 +236,8 @@
+ each option (plus argument, where applicable) is placed on a separate
+ line. So, for example, the game...
+
+- xbattle -black me -white cnsxk:0.0 -armies 4 -farms 5
+- -attack
++ xbattle \-black me \-white cnsxk:0.0 \-armies 4 -farms 5
++ \-attack
+
+ could also be played with the command...
+
+@@ -246,13 +245,13 @@
+
+ or alternatively with the shorthand version...
+
+- xbattle -black me -white cnsxk:0.0 -myoptions.xbo
++ xbattle \-black me \-white cnsxk:0.0 \-myoptions.xbo
+
+ where the file myoptions.xbo consists of the lines...
+
+- -armies 4
+- -farms 5
+- -attack
++ \-armies 4
++ \-farms 5
++ \-attack
+
+ If the specified options file cannot be found in the current directory,
+ xbattle will search the default xbo directory DEFAULT_XBO_DIR, which
+@@ -270,35 +269,35 @@
+ resolved in favor of the options file.
+
+ .SH TROOPS
+- -bases, -rbases, -rbase_range, -armies, -militia
++ \-bases, \-rbases, \-rbase_range, \-armies, \-militia
+
+ Initial troop allocation is controlled by several command options,
+-including -bases <n>, -rbases <n>, -armies <n> and -militia <n>.
++including \-bases <n>, \-rbases <n>, \-armies <n> and \-militia <n>.
+ Armies and militia are troops on the gameboard, whereas bases which
+ are indicated by circles on the gameboard, provide a steady supply of
+-troops. The -bases option allocates <n> bases to each team,
+-symmetrically arranged on the game board, whereas -rbases <n> arranges
+-them randomly (which works well with the -horizon option). The
++troops. The \-bases option allocates <n> bases to each team,
++symmetrically arranged on the game board, whereas \-rbases <n> arranges
++them randomly (which works well with the \-horizon option). The
+ minimum distance between enemy bases (in cells) can optionally be set
+ using the -rbase_range <n> command. Note that large values of <n> may
+ not allow any valid rbase allocation, in which case xbattle will exit
+ with an error message. The
+--armies option allocates <n> armies (full troop cells) symmetrically
++\-armies option allocates <n> armies (full troop cells) symmetrically
+ arrayed, whereas -militia <n> scatters militia of random strengths to
+ random locations, with a probabilistic density of <n>. At least one
+ of these four options is required to provide initial troops for the
+ game, and they may be used in arbitrary combinations.
+
+ .SH RESUPPLY
+- -towns, -farms, -decay, -erode, -erode_thresh
++ \-towns, \-farms, \-decay, \-erode, \-erode_thresh
+
+-The bases created by the -bases or -rbases produce a steady supply of
++The bases created by the -bases or \-rbases produce a steady supply of
+ fresh troops. The bases can be occupied by an opposing team, with the
+ troops produced by such bases are always the color of the occupying
+ force. The capture of all bases thus becomes the strategic objective
+ of the game. This arrangement simulates desert warfare, as long and
+ tenuous supply lines develop between the base and the battle areas.
+-Another form of resupply is provided by the command option "-towns
++Another form of resupply is provided by the command option "\-towns
+ <n>". This produces a number of smaller unoccupied supply sources
+ scattered randomly over the game board at a density determined by the
+ argument <n>, and with random rates of troop production, indicated by
+@@ -306,14 +305,14 @@
+ a team to begin producing troops. This option simulates yet a larger
+ scale of operation as the combatants battle to occupy the towns. A
+ more distributed form of resupply is evoked by the command option
+-"-farms <n>" whereby every cell of the game board will produce
++"\-farms <n>" whereby every cell of the game board will produce
+ troops as soon as it is occupied, at a rate proportional to the
+ argument <n>, and the strategic objective becomes the occupation of
+ the largest areas of the gameboard. This option simulates a yet
+ larger scale of operation and requires complex management of resources
+ to concentrate the distributed resources and deliver them to the
+ battle front. In large scale scenarios additional realism may be
+-added by using the "-decay <n>" option whereby the troop strength in all
++added by using the "\-decay <n>" option whereby the troop strength in all
+ troop cells decays constantly in proportion to the value of the
+ decay argument. This reflects the fact that armies constantly consume
+ resources even while they are idle, and an army without constant
+@@ -323,18 +322,18 @@
+ this number includes the troops that make up the supply line, the
+ fighting power of an army diminishes with the length of the supply
+ line. The default decay value is zero, i.e. no decay. All the
+-resupply options can be used in any combination. The "-erode <n>"
++resupply options can be used in any combination. The "\-erode <n>"
+ command doesn't affect resuply, per se, but it does effect the movement
+ vectors through which troops flow by causing them to erode away as
+ they grow older. All movement vectors in a cell will be unset at a
+ random time not to be less than <n> update cycles, with probability of
+-erosion for each subsequent cycle determined by the "-erode_thresh <m>"
++erosion for each subsequent cycle determined by the "\-erode_thresh <m>"
+ argument, where <m> is the percentage chance of erosion.
+
+ .SH ENHANCED MOVEMENT COMMANDS
+- -repeat, -bound, -attack, -march, -reserve
++ \-repeat, \-bound, \-attack, \-march, \-reserve
+
+-With the option "-repeat" you can repeat the last command using the
++With the option "\-repeat" you can repeat the last command using the
+ right mouse. If for example your last command to a cell consisted
+ of a "move up" command by clicking near the top edge of the cell,
+ you can now command other cells to also move up by clicking in those
+@@ -343,7 +342,7 @@
+ right mouse anywhere in that cell, which saves time. This command
+ is supported in biased games - i.e. it can be set for one team but not
+ another. Commands can be made to apply to more than one cell with
+-the option "-bound". This is achieved by defining a bounding rectangle
++the option "\-bound". This is achieved by defining a bounding rectangle
+ within which the command is valid. For instance, to command a block
+ of cells to all move up simultaneously, you place your mouse near
+ the top edge of a cell (may be unoccupied, or enemy occupied) and
+@@ -351,11 +350,11 @@
+ to another game cell where you release the button. The start and
+ end cells of the mouse drag define the opposite corners of a
+ rectangle within which all the game cells occupied by your troops
+-receive the command "go up". The "-attack" option makes quick,
++receive the command "go up". The "\-attack" option makes quick,
+ multiple front attacks possible. By issuing an "a" command in an
+ enemy cell, all adjacent friendly troops will automatically alter their
+ movement vectors so as to attack the enemy cell, and only that cell.
+-The "-reserve" option allows a player to define a level of reserves
++The "\-reserve" option allows a player to define a level of reserves
+ to remain in the cell despite any movement vectors.
+ For instance a reserve level of 5 would ensure that the
+ cell will maintain a reserve of 50% capacity, and movement out of
+@@ -367,7 +366,7 @@
+ for 10% reserves, "2"for 20% reserves, and so forth up to "9" for 90%
+ reserves.
+
+-With the option "-march <n>", troops may
++With the option "\-march <n>", troops may
+ be commanded to march in a particular direction and to continue in
+ that direction without further commands. March commands are activated
+ with shift left or shift middle mouse button. For example, if you
+@@ -380,7 +379,7 @@
+ traveling much faster than manually commanded troops, the march
+ argument <n> defines the number of game update cycles that the troops
+ must wait in each new cell before marching on to the next cell, so
+-that "-march 1" will result in a fast march, whereas "-march 10" will
++that "\-march 1" will result in a fast march, whereas "\-march 10" will
+ be slow. The "march command" is indicated on the game board by a
+ double command vector (looks like an "=" sign) in the appropriate
+ direction, and the march command is always passed on to the head of
+@@ -407,8 +406,8 @@
+ that sets them.
+
+ .SH GAME PLAY
+- -fight, -speed, -move, -seed,
+- -digin, -nospigot, -disrupt, -maxval
++ \-fight, \-speed, \-move, \-seed,
++ \-digin, \-nospigot, \-disrupt, \-maxval
+
+ Whenever troops of different colors occupy the same game cell, a
+ battle ensues, indicated by concentric markers of the two colors, and
+@@ -416,19 +415,19 @@
+ incur losses according to a random nonlinear function that
+ disproportionately favors the more numerous troops. The steepness of
+ the nonlinearity, i.e. the advantage given to the more numerous side,
+-is controlled by the -fight parameter. A small value will produce
++is controlled by the \-fight parameter. A small value will produce
+ lengthy drawn out battles which favor a defensive strategy, whereas a
+ large value produces quick decisive battles where the random element
+ is more significant, favoring an offensive strategy even against
+ superior odds. In the absence of the -fight option, the default value
+-of 5 is used. The -fight parameter is also automatically modulated by
+-the game speed parameter (-speed) in order to slow down battles in
++of 5 is used. The \-fight parameter is also automatically modulated by
++the game speed parameter (\-speed) in order to slow down battles in
+ fast games and vice versa. Since only 1/3 of the troops can enter a
+-cell in each update cycle (with the default -move 5), attackers of a
++cell in each update cycle (with the default \-move 5), attackers of a
+ full cell are always outnumbered initially, unless a coordinated
+-attack is launched from three sides simultaneously. The -move
++attack is launched from three sides simultaneously. The \-move
+ argument thus has a significant influence on the efficacy of an
+-attack. The -disrupt option dictates that when a game cell comes
++attack. The \-disrupt option dictates that when a game cell comes
+ under attack, all its command vectors are immediately canceled,
+ breaking supply lines which must be repaired by hand after the attack.
+ In other words, there can be no movement under fire, and even small
+@@ -443,7 +442,7 @@
+ renew the command vector in order to press home the attack under
+ opposition. This simulates the tactical situation where a commander
+ must personally intervene to ensure the maximal effort is applied at
+-the most critical points of the battle. The "-seed <n>" option
++the most critical points of the battle. The "\-seed <n>" option
+ simply sets the seed of the random number generator to <n>, which is
+ useful for recreating scenarios. By default the random number
+ generator is seeded with a combination of the system time and process
+@@ -453,8 +452,8 @@
+ to adjacent cells indicated by the command vectors. The default
+ fraction is 1/3, so that in each successive cycle, 1/3 of the
+ remaining troops move out of the cell until it is empty. That
+-fraction is adjusted with the -move argument, 1 for less movement, and
+-10 for more movement. The option -digin <n> simulates the time
++fraction is adjusted with the \-move argument, 1 for less movement, and
++10 for more movement. The option \-digin <n> simulates the time
+ and effort
+ required for troops to dig in and build fortifications. This is
+ achieved by reducing the rate of flow of troops into a cell as it
+@@ -462,10 +461,10 @@
+ the men must dig in and settle down to accommodate the last arrivals.
+ The argument <n> modulates the strength of this effect, from 1 to
+ 10 for small to large. The maximum number of troops which can occupy
+-a single cell is set via -maxval <n>. Note that for octagonal tiling
++a single cell is set via \-maxval <n>. Note that for octagonal tiling
+ only, the some cells (the square ones) will have different maxvals.
+
+-The -nospigot [n] option causes troops to automatically cease attacks
++The \-nospigot [n] option causes troops to automatically cease attacks
+ when they are highly outnumbered, preventing the "spigoting" (perhaps
+ "siphoning" would be more appropriate) which can empty whole supply lines
+ into needless slaughter. Neighboring supply lines are shut off whenever
+@@ -473,46 +472,46 @@
+ to the nospigot command.
+
+ .SH BOARD CONFIGURATION
+- -cell, -board, -boardx, -boardy, -border, -manpos,
+- -xpos, -ypos, -area, -wrap, -grid
++ \-cell, \-board, \-boardx, \-boardy, \-border, \-manpos,
++ \-xpos, \-ypos, \-area, \-wrap, \-grid
+
+ The dimensions of the game board can be tailored via the
+--boardx <n> and -boardy <n> options which set the horizontal and
+-vertical board dimensions, in terms of cells. The -board <n> option
++\-boardx <n> and -boardy <n> options which set the horizontal and
++vertical board dimensions, in terms of cells. The \-board <n> option
+ creates a square board. The dimension of each cell, in pixels, is
+-set by the -cell <n> option. The xbattle window border can be set
++set by the \-cell <n> option. The xbattle window border can be set
+ with -border <n>, while the initial x and y position of the game
+-board can be set with -xpos <n> and -ypos <n> respectively. The
++board can be set with \-xpos <n> and \-ypos <n> respectively. The
+ -manpos option allows each player to position his or her window
+ interactively (does not work with all window managers). A grid
+-indicating the borders of each cell is established via the -grid
++indicating the borders of each cell is established via the \-grid
+ command (the default), and can be eliminated via the negative
+-command -no_grid. Game play wraps around the edged of the board
+-if the -wrap option is invoked, although certain tiling schemes
++command \-no_grid. Game play wraps around the edged of the board
++if the \-wrap option is invoked, although certain tiling schemes
+ require even or odd board dimensions for wrap to work properly
+ in both the horizontal and vertical directions. Troop markers are
+ scaled by area (proportional to number), rather than diameter, if
+-the -area option is used.
++the \-area option is used.
+
+ .SH TILING METHODS
+- -diamond, -square, -hex, -octagon, -triangle
++ \-diamond, \-square, \-hex, \-octagon, \-triangle
+
+ A number of different tiling methods are available in xbattle, each of
+ which employs cells of a different shape. Square cells in a rectangular
+-grid are used for the -square option (the default). Hexagonal cells
+-are used with the -hex option. The -diamond option results in a square
++grid are used for the \-square option (the default). Hexagonal cells
++are used with the \-hex option. The \-diamond option results in a square
+ tiling, tilted by 45 degrees. A tiling consisting of two orientations
+-of equilateral triangles is invoked with the -triangle option. The
+--octagon option results in a tiling consisting of a combination of
++of equilateral triangles is invoked with the \-triangle option. The
++\-octagon option results in a tiling consisting of a combination of
+ regular octagons and small squares. Since different cell shapes have
+ different neighborhoods, troop movement in the different tilings can
+ have a very different feel, and may take some getting used to.
+
+ .SH DRAWING METHODS
+- -draw
++ \-draw
+
+ The method of drawing and erasing troops and terrain is defined via the
+--draw <n> option, where the argument indicates one of five distinct techniques,
++\-draw <n> option, where the argument indicates one of five distinct techniques,
+ of varying speed and flicker. They are:
+ Method 0: Erase the cell by drawing a circle the color of
+ the terrain, then redraw the cell contents. This is the method employed
+@@ -547,32 +546,32 @@
+ before the cell redraw.
+
+ .SH GUNS AND PARATROOPS
+- -guns, -guns_damage, -guns_cost,
+- -para, -para_damage, -para_cost,
+- -manage
++ \-guns, \-guns_damage, \-guns_cost,
++ \-para, \-para_damage, \-para_cost,
++ \-manage
+
+-The command option -guns <n> enables the key 'g' to be used to control
++The command option \-guns <n> enables the key 'g' to be used to control
+ artillery, which can be shot from any occupied game cell. The range
+ and direction of the shot are determined by the position of the cursor
+ in the game cell relative to the center of the cell --- near center
+ for short range and near the edge for
+ long range, as modulated by the argument <n>. Every shell costs a
+ number of troops from the source cell equal to the argument of
+--guns_cost <n> (default: 2), and destroys a number of troops at
+-the destination cell equal to the argument of -guns_damage <n> (default: 1).
++\-guns_cost <n> (default: 2), and destroys a number of troops at
++the destination cell equal to the argument of \-guns_damage <n> (default: 1).
+ The fall of shot is indicated by the brief appearance of a
+ little dot of the attacker's color.
+-With the -horizon option the fall of shot may not be
++With the \-horizon option the fall of shot may not be
+ visible for long range shots, although invisible enemy troops will be
+ destroyed where the shell falls. Artillery can damage both friend and
+ foe, so it must be used with caution. Paratroops are enabled by the
+-option -para <n>, and are launched similarly to artillery using the
++option \-para <n>, and are launched similarly to artillery using the
+ 'p' key. The cost of dropping a number of troops equal to the argument
+-of -para_damage <n> (default: 1) at the destination cell is
+-equal to the argument of -para_cost <n> (default: 3).
++of \-para_damage <n> (default: 1) at the destination cell is
++equal to the argument of \-para_cost <n> (default: 3).
+ The drop zone is indicated by the brief appearance of a parachute
+ symbol. When used with the
+--manage option, artillery and paratroops can be deployed continuously
++\-manage option, artillery and paratroops can be deployed continuously
+ with the 'G' and 'P' keys instead of the 'g' and 'p' keys. This will
+ initiate a continuous barrage that will only stop when the source
+ cell is exhausted, but will recommence when it is resupplied. The
+@@ -581,23 +580,23 @@
+ giving the source cell a movement command.
+
+ .SH TERRAIN
+- -hills, -hill_tones, -hill_color,
+- -peaks, -peak_bias, -trough_bias,
+- -forest, -forest_tones, -forest_color,
+- -sea, -sea_block, -sea_tones, -sea_color, -sea_value
++ \-hills, \-hill_tones, \-hill_color,
++ \-peaks, \-peak_bias, \-trough_bias,
++ \-forest, \-forest_tones, \-forest_color,
++ \-sea, \-sea_block, \-sea_tones, \-sea_color, \-sea_value
+
+-The command option -hills <n> initializes random hills which restrict
++The command option \-hills <n> initializes random hills which restrict
+ movement when going from low to high elevation, and enhance movement
+ from high to low, but do not affect movement on the level. The
+ elevation is indicated by the shade of gray, light for high and dark
+ for low on monochrome, and brownish for high and greenish for low on
+ color displays. The argument controls the amount of energy gained and
+ lost on hills, i.e. the steepness. Hills provide a tactical advantage
+-when attacking downhill. With very steep hills (-hills 9) movement
++when attacking downhill. With very steep hills (\-hills 9) movement
+ from very low to very high elevation (a cliff) is virtually
+ impossible. The number of discrete elevation levels is set via the
+--hill_tones <n> option. On color monitors, the hill hues can be
+-tailored via the -hill_color <n> <red> <green> <blue>, where <n> specifies
++\-hill_tones <n> option. On color monitors, the hill hues can be
++tailored via the \-hill_color <n> <red> <green> <blue>, where <n> specifies
+ the elevation index (from 0 to hill_tones-1) to be changed to the
+ RGB triplet. The color of unspecified elevation indices are linearly
+ interpolated based on specified indices.
+@@ -611,10 +610,10 @@
+ cell, so that troops deployed within a forest but at the boundary
+ have a tactical advantage over those deployed outside the boundary.
+ As for hills, the number of distinct forest densities is specified via
+-the -forest_tones <n> option, with colors being specified by
+-the -forest_color <n> <red> <green> <blue> option.
++the \-forest_tones <n> option, with colors being specified by
++the \-forest_color <n> <red> <green> <blue> option.
+
+-The command option -sea <n> generates randomly distributed bodies of
++The command option \-sea <n> generates randomly distributed bodies of
+ water, whose prevalence is determined by the argument <n>. Such
+ bodies of water cannot be crossed by infantry. A small value creates
+ scattered ponds and lakes, which influences the tactical deployment of
+@@ -623,17 +622,17 @@
+ taken by paratroops. On monochrome monitors water appears dark
+ mottled grey, and on color monitors it appears as various shades of blue.
+ Like hills, seas have elevation (depths), the number of which is controlled
+-via the -sea_tones <n> option, with colors determined by the
+--sea_color <n> <red> <green> <blue> option. Besides looking nice, sea
+-depths are useful when playing with the -dig and -fill options (see the
++via the \-sea_tones <n> option, with colors determined by the
++\-sea_color <n> <red> <green> <blue> option. Besides looking nice, sea
++depths are useful when playing with the \-dig and \-fill options (see the
+ TERRAIN MODIFICATIONS section). On monochrome monitors, the option
+--sea_value <float> determines the blackness of the shallowest sea, expressed
++\-sea_value <float> determines the blackness of the shallowest sea, expressed
+ as a fraction. For backwards compatibility, sea depths can also be indicated
+-by the size of the sea marker if the -sea_block option is invoked.
++by the size of the sea marker if the \-sea_block option is invoked.
+
+ Hills (and forest and seas) are created by a complex terrain generation
+ algorithm which bases elevations (or densities, in the case of forests)
+-on a number of fixed points, as specified by the -peaks <n> option.
++on a number of fixed points, as specified by the \-peaks <n> option.
+ Based on these <n> points with randomly determined position and elevation,
+ the elevation of the rest of the game cells is determined via a
+ non-linear interpolation process. The -peak_bias <float> option determines
+@@ -641,32 +640,32 @@
+ yields generally low-elevation terrain, with spire-like mountains, while
+ 2.0 yields generally high-elevation terrain, with deep ravines. The
+ default value of 1.0 results in pleasantly contoured terrain. Similarly,
+-the -trough_bias <float> option controls the distribution of sea depths.
++the \-trough_bias <float> option controls the distribution of sea depths.
+
+ .SH TERRAIN MODIFICATION
+- -dig, -dig_cost,
+- -fill, -fill_cost,
+- -build, -build_cost, -build_limit,
+- -scuttle, -scuttle_cost,
+- -manage
++ \-dig, \-dig_cost,
++ \-fill, \-fill_cost,
++ \-build, \-build_cost, \-build_limit,
++ \-scuttle, \-scuttle_cost,
++ \-manage
+
+-The command options -dig [n] and -fill [n] allow run time modification of the
++The command options \-dig [n] and \-fill [n] allow run time modification of the
+ terrain by digging hills and seas down to lower elevation or filling them up to
+ higher elevation. This allows the construction and breaching of
+ defensive fortifications. The cost of these operations (in troops)
+-is determined by the -dig_cost <n> and -fill_cost <n> options.
++is determined by the \-dig_cost <n> and \-fill_cost <n> options.
+ The operations are accomplished by positioning the mouse on the friendly
+ cell and striking the "d" key (for dig) or the "f" key (for fill). With the
+--sea option, -dig <n> and -fill <n> can be supplied with an
+-argument which specifies the number of sea depths (see also -sea_tones).
++\-sea option, \-dig <n> and \-fill <n> can be supplied with an
++argument which specifies the number of sea depths (see also \-sea_tones).
+ Since it is impossible to occupy a sea cell to fill it, filling seas
+ is accomplished by setting the command vector as if to move into the sea,
+ and then pressing "f". Likewise for digging a sea deeper. For all other
+ fill and dig operations the troop cell may not have any command vectors set.
+
+-The -build <n> and -scuttle [n] options allow the building and
++The \-build <n> and \-scuttle [n] options allow the building and
+ destruction of bases (or towns). The costs of these operations (in
+-troops) are determined by -build_cost <n> and -scuttle_cost <n>.
++troops) are determined by \-build_cost <n> and \-scuttle_cost <n>.
+ When the mouse is positioned on a friendly
+ cell and the "b" key is pressed, the troops are exchanged for a 1/<n>
+ fraction of a base, displayed as an arc segment. Thus <n> building
+@@ -679,15 +678,15 @@
+ of troops expended, where a scuttle unit is defined by the argument of the
+ scuttle option (default: 5). Usually,
+ several keystrokes are required to complete the destruction. When
+-used in conjunction with the -build option, instead of reducing the
++used in conjunction with the \-build option, instead of reducing the
+ size of the base, each scuttle operation removes a section (arc
+-segment) of the base, at a troop cost indicated by the -scuttle_cost
++segment) of the base, at a troop cost indicated by the \-scuttle_cost
+ <n> option. A base will not produce troops if even a
+ single segment is missing, although of course it is less expensive to
+ repair (with "b" build) a base with fewer segments missing.
+
+-As with -guns and -para, the -dig, -fill, and -build options (but not
+-the -scuttle option) can be "managed" with the -manage option, which
++As with -guns and \-para, the \-dig, \-fill, and \-build options (but not
++the \-scuttle option) can be "managed" with the \-manage option, which
+ allows a player to issue a single command to initiate a sequence of
+ repeated dig, fill, or build operations using the keys 'D', 'F',
+ and 'B' respectively. The managed operation will continue until the
+@@ -697,50 +696,50 @@
+ key, or by issuing a movement command to the cell.
+
+ .SH VISIBILITY
+- -horizon, -hidden, -map, -basemap, -localmap
++ \-horizon, \-hidden, \-map, \-basemap, \-localmap
+
+-The command option -horizon [n] restricts the view of enemy troop
++The command option \-horizon [n] restricts the view of enemy troop
+ deployment to within <n> cells of any friendly troops. Horizon can
+ be called with no argument, in which case the default <n> = 2 is used.
+ Intelligence of more remote regions can be gathered by use of
+-paratroops. The command option -hidden (no arguments) makes the
++paratroops. The command option \-hidden (no arguments) makes the
+ command vectors of the enemy invisible at any range. The command
+-option -map is similar to -horizon except that it restricts your view
++option \-map is similar to -horizon except that it restricts your view
+ of geographical objects as well as enemy troops, although it will
+ "remember" any terrain that you have seen once, as if you had mapped
+-that information. The -basemap option maps bases and towns as it does
++that information. The \-basemap option maps bases and towns as it does
+ the terrain --- once you see them, they're remembered.
+-The option -localmap maps only the local area around your troops,
++The option \-localmap maps only the local area around your troops,
+ and features disappear as you move away again.
+
+ .SH STORE AND REPLAY
+- -store, -replay
++ \-store, \-replay
+
+-The -store <file> option allows you to store enough information
++The \-store <file> option allows you to store enough information
+ about the visual progress of the game to reconstruct it later with
+--replay <file> option. When -replay is used, all other command options
+-are ignored except the -<color> <display> options, which can be used to
++\-replay <file> option. When \-replay is used, all other command options
++are ignored except the \-<color> <display> options, which can be used to
+ send the replay to other displays. When doing so, only the <display> portion
+ of the option is used, the <color> is ignored. So, if you play a game
+ with many command line parameters and several displays with the
+-argument -store <file>, after the game you can repeat the same command
+-line but just change -store to -replay, and the game will be replayed
++argument \-store <file>, after the game you can repeat the same command
++line but just change \-store to \-replay, and the game will be replayed
+ on the displays of all the original combatants. When xbattle is
+-called with the -replay option alone, the default display will be
++called with the \-replay option alone, the default display will be
+ "me". If store or replay are called without a file name, the default
+ name "xbattle.xba" will be used. In the replay, the view restrictions
+-of the -horizon option are deactivated, i.e. all enemy troops are
++of the \-horizon option are deactivated, i.e. all enemy troops are
+ visible. The replay action can be paused or resumed by typing any
+ key, and can be interrupted with either control-c or control-q.
+
+ .SH GAME STATE SAVING, LOADING, AND EDITING
+- -load, -dump, -overwrite, -edit
++ \-load, \-dump, \-overwrite, \-edit
+
+ The game state can be saved at any point during the game with the
+ control-p key. This creates a file called "xbattle.xbt", or the name
+-given with the argument -dump <filename>, which represents the state
++given with the argument \-dump <filename>, which represents the state
+ of the game board at the time of saving. Future games can be started
+-from the saved game state with the command option "-load <file>" where
++from the saved game state with the command option "\-load <file>" where
+ <file> is optional if the file name is "xbattle.xbt".
+ If the specified load file cannot be found in the current directory,
+ xbattle will search the default xbt directory DEFAULT_XBT_DIR, which
+@@ -748,22 +747,22 @@
+ Note that most
+ game parameters ARE NOT STORED. Only terrain features (forest, hills,
+ seas, towns etc.) and troop deployment. This means that if you were
+-playing with -farms, -decay, and -guns then you will have to type them
++playing with \-farms, \-decay, and \-guns then you will have to type them
+ in if you want them for the new game. The terrain and boardsize of
+ the saved map file will override all terrain and boardsize arguments
+ when loaded. Troop and town/base producing options (such as -militia,
+--towns, and -rbases) will add new features on top of the loaded game
+-state. If the -overwrite option is issued, only the terrain and
++\-towns, and \-rbases) will add new features on top of the loaded game
++state. If the \-overwrite option is issued, only the terrain and
+ cities from the loaded game will be used --- no troops will appear.
+ This is useful for repeating games with interesting terrains with
+ different troop configurations.
+
+-Game boards can be created or modified with the -edit
+-function, which is called with the command option "-edit <file>" where
++Game boards can be created or modified with the \-edit
++function, which is called with the command option "\-edit <file>" where
+ <file> is optional if the file name is "xbattle.xbt". With this
+ option, no game is played, but instead, the mouse and key commands
+ control the features of the map to be edited. To edit an existing
+-file, use "-edit <file>" and type "l" when the editor comes up. This
++file, use "\-edit <file>" and type "l" when the editor comes up. This
+ will load the file named in the edit argument. To save that file,
+ type "d" and the file will be saved to the same file name. No
+ provision is made for saving to a different file name. When using the
+@@ -771,7 +770,7 @@
+ color of players to be used, and the sea, forest or hills options if
+ they will be required. For example, to create a map called
+ "mymap.xbt" with three color teams and seas, could use the command
+-"xbattle -edit mymap.xbt -sea 7 -white me -black you -dark you". Note
++"xbattle \-edit mymap.xbt -sea 7 \-white me \-black you \-dark you". Note
+ the use of the special display "you", which is a dummy display name
+ used as a place holder for the black and dark colors. The interactive
+ commands are as follows:
+@@ -797,9 +796,9 @@
+ l: load board with name <filename>
+ q: quit
+
+-With the -edit option, the -overwrite option has a slightly different
++With the \-edit option, the \-overwrite option has a slightly different
+ function. Rather than suppress the display of troops, as it does when
+-combined with -load option, the -overwrite option causes default terrain
++combined with \-load option, the \-overwrite option causes default terrain
+ to be generated for editing. Note that boards created with during
+ the edit process are stored in reduced format, whereas boards saved
+ during game play are stored in standard format, which includes more
+@@ -816,7 +815,7 @@
+ middle mouse clears existing vectors and sets a new vector (An
+ alternative command system is available, see COMPILATION OPTIONS
+ below). The right mouse is used to repeat the last used command (with
+--repeat option). The keyboard is interpreted differently depending on
++\-repeat option). The keyboard is interpreted differently depending on
+ whether the mouse is positioned on the gameboard or on the text area
+ below. On the gameboard, the the keys control-s and control-q pause
+ and resume the game respectively. The 'z' key cancels all command
+@@ -825,8 +824,8 @@
+ file (see Saving Game State commands below). There are also a variety
+ of keyboard commands available with different options, to control
+ special functions on the gameboard. These keystrokes are described in
+-detail with the description of the appropriate options (see -guns,
+--para, -build, -scuttle, -fill, -dig, -reserve). In the text area
++detail with the description of the appropriate options (see \-guns,
++\-para, \-build, \-scuttle, \-fill, \-dig, \-reserve). In the text area
+ below the keyboard, the keys control-c and control-q both exit the
+ player from the game, although the game continues among the remaining
+ players until they also quit, and the key control-w also exits the
+@@ -843,29 +842,29 @@
+
+ The game can be biased to favor a less experienced player, or for any
+ other reason, in the following way. In the normal syntax, the command
+-line argument "-<color>" is immediately followed by the "<display>"
+-argument, for example "-black me". It is possible to define command
++line argument "\-<color>" is immediately followed by the "<display>"
++argument, for example "\-black me". It is possible to define command
+ line options that are specific to only one display with the syntax
+-"-<color> { <options> } <display>" where <options> refers to a list of
++"\-<color> { <options> } <display>" where <options> refers to a list of
+ command line options as before, but is included in a set of braces
+ between the team color and the display (note the spaces on either side
+ of the braces). For example,
+
+- xbattle -black { -fight 10 } me -white { -fight 5 } cnsxk
++ xbattle \-black { \-fight 10 } me \-white { \-fight 5 } cnsxk
+
+ where black (on display "me") has the advantage of greater firepower
+ than white (on display "cnsxk"). Not all options can be biased,
+ specifically options that control the global behavior of the game, such
+-as -speed, -hex, and -board. Note also that if you are using player
++as \-speed, \-hex, and \-board. Note also that if you are using player
+ specific and global options, the global options MUST be listed first,
+ otherwise they will overwrite the play specific options. For example,
+
+- xbattle -black { -fight 10 } me -white cnsxk -fight 5
++ xbattle \-black { \-fight 10 } me \-white cnsxk \-fight 5
+
+ will result in a fight 5 for both players. In order to achieve the
+ desired result, the command line must be...
+
+- xbattle -fight 5 -black { -fight 10 } me -white cnsxk
++ xbattle \-fight 5 \-black { \-fight 10 } me \-white cnsxk
+
+ where the local option overwrites only the black team's fight value.
+
+@@ -883,7 +882,7 @@
+ "cnsxk:0.0". The troops will be rapidly exhausted in this small
+ skirmish.
+
+- xbattle -black me -white cnsxk:0.0 -armies 4
++ xbattle \-black me \-white cnsxk:0.0 \-armies 4
+
+ The next example adds bases, which will produce a much prolonged
+ conflict involving long supply lines between the front and the bases,
+@@ -892,7 +891,7 @@
+ example black is playing on the display cnsxk:0.0, and white is on the
+ system console. Note that the extension ":0.0" can be omitted.
+
+- xbattle -black cnsxk -white unix -armies 4 -bases 2
++ xbattle \-black cnsxk \-white unix \-armies 4 \-bases 2
+
+ The next example is a game with militia scattered around initially,
+ that have to race to occupy the towns and link up with their
+@@ -901,8 +900,8 @@
+ this example black is playing on cnsxk:0.0 while white is playing on
+ the system console of the remote machine thalamus.bu.edu.
+
+- xbattle -black cnsxk -white thalamus.bu.edu -towns 2
+- -militia 2 -hills 7
++ xbattle \-black cnsxk \-white thalamus.bu.edu \-towns 2
++ \-militia 2 \-hills 7
+
+ Here is a favorite around B.U. where the land is broken up by many
+ bodies of water creating isolated islands, and view of the enemy is
+@@ -913,28 +912,28 @@
+ In this example the color display will show cyan and red teams, while
+ the monochrome monitor will show white and black teams respectively.
+ The decay option prevents huge armies from building up at the end of
+-the game, and the -store option is used to store this game to the file
++the game, and the \-store option is used to store this game to the file
+ "xbattle.xba".
+
+- xbattle -cyan_white thalamus:0.0 -red_black cnsxk
+- -rbases 5 -sea 8 -guns 4 -para 4 -horizon 2
+- -decay 3 -store xbattle.xba
++ xbattle \-cyan_white thalamus:0.0 \-red_black cnsxk
++ \-rbases 5 \-sea 8 \-guns 4 \-para 4 \-horizon 2
++ \-decay 3 \-store xbattle.xba
+
+ Now, the previous stored game is replayed to the original displays by
+-repeating the original command line except that -store is changed to
+--replay. This is convenient if you have command line editing
++repeating the original command line except that \-store is changed to
++\-replay. This is convenient if you have command line editing
+ facilities.
+
+- xbattle -cyan_white thalamus:0.0 -red_black cnsxk
+- -rbases 5 -sea 8 -guns 4 -para 4 -horizon
+- -replay xbattle.xba
++ xbattle \-cyan_white thalamus:0.0 \-red_black cnsxk
++ \-rbases 5 \-sea 8 \-guns 4 \-para 4 \-horizon
++ \-replay xbattle.xba
+
+-With -replay, all arguments are actually ignored except the displays,
++With \-replay, all arguments are actually ignored except the displays,
+ so you could achieve exactly the same result with the simpler command
+
+- xbattle -black thalamus:0.0 -black cnsxk -replay
++ xbattle \-black thalamus:0.0 \-black cnsxk \-replay
+
+-where the -black argument flags the subsequent argument as a
++where the \-black argument flags the subsequent argument as a
+ displayname, but is otherwise ignored, i.e. any color name would
+ suffice. The filename for -replay is omitted, so that the default
+ file name "xbattle.xba" is used.
+@@ -943,13 +942,13 @@
+ to set up a game including, decay, seas, farms, militia, and many
+ other options.
+
+- xbattle -black me -white thalamus -options xbos/tribal.xbo
++ xbattle \-black me \-white thalamus \-options xbos/tribal.xbo
+
+ Options files can also be read in individually for the two players, as
+ in the following example...
+
+- xbattle -options game.xbo -black me
+- -white { -options xbos/weak.xbo } thalamus
++ xbattle \-options game.xbo \-black me
++ \-white { -options xbos/weak.xbo } thalamus
+
+ This results in a biased game where both black and white receive the
+ options defined in game.xbo, and white receives some specific
+@@ -991,7 +990,7 @@
+ positioned cluster of big towns. Eliminate all enemy troops from your
+ rear, and advance outwards, preferably from a corner, with a well
+ supplied front. Travel in convoy for speed and efficiency in safe
+-regions, especially if you are playing with -decay, but fan out near
++regions, especially if you are playing with \-decay, but fan out near
+ the enemy to provide alternate routes to a broad front (click on the
+ corner to open two command vectors simultaneously). Avoid head-on
+ assaults on the enemy, but rather dig in and wait for him to attack
+@@ -1004,7 +1003,7 @@
+ reserves. If however you are fighting a delaying action, or
+ retreating under fire then you should attack strong enemy cells with
+ your weak ones on a broad front to conserve resources. This is
+-particularly effective with the -disrupt option. Always try to attack
++particularly effective with the \-disrupt option. Always try to attack
+ a cell from two or more sides, and build up sufficient strength
+ before launching an attack on a strong cell. Always consider the
+ "manufacturing capacity" of the enemy, i.e. the number and size of
+@@ -1016,7 +1015,7 @@
+ connections, going in loops or in both directions, or by establishing
+ dead-end branches along the supply line to accumulate local reserves.
+ You should always have a few strong reserves near your base when
+-playing with -horizon or -para, to ensure against surprise attacks.
++playing with \-horizon or \-para, to ensure against surprise attacks.
+ When playing with horizon and paratroops use the paratroops to gather
+ intelligence from beyond the
+ horizon. When playing with paratroops or artillery, you can create a
diff --git a/games/xbattle/files/xbattle-menu.in b/games/xbattle/files/xbattle-menu.in
new file mode 100644
index 000000000000..cf21473013d1
--- /dev/null
+++ b/games/xbattle/files/xbattle-menu.in
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+# /usr/local/share/doc/xdialog/samples/radiolist
+
+DIALOG=Xdialog
+
+size="0x0"
+
+$DIALOG --backtitle "This is the \"XBattle\"" \
+ --title "RADIOLIST BOX" \
+ -geometry X0xY0+X0+Y0 \
+ --no-tags \
+ --radiolist "Which XBattle configuration wish you to use?" 0 0 0 \
+ "Default" "Default" off \
+ "Atlas" "Atlas, standard atlas terrain/color scheme" off \
+ "Demo" "Demo, demo which includes ALL options" off \
+ "Desert" "Desert, mountainous desert terrain/color scheme" off \
+ "Io" "Io-like terrain/color scheme" off \
+ "Skirmish" "Skirmish, intrigue, espionage, plotting" off \
+ "Space" "Space-like terrain/color scheme" off \
+ "Tribal" "Tribal, mad scramble, every man for himself" ON \
+ "Tropical" "Tropical islands terrain/color scheme" off \
+ "Tropical2" "Tropical2 islands terrain/color scheme" off \
+ "Tundra" "Tundra-like terrain/color scheme" off \
+ 2>/tmp/checklist.tmp.$$
+
+retval=$?
+choice=`cat /tmp/checklist.tmp.$$`
+rm -f /tmp/checklist.tmp.$$
+
+case $retval in
+ 0)
+ echo "'$choice' chosen.";;
+ 1)
+ echo "Cancel pressed.";;
+ 255)
+ echo "Box closed.";;
+esac
+
+if [ "$choice" = "Default" ]; then
+ xbattle -black me -board 5 -cell 64 -manpos -armies 1
+elif [ "$choice" = "Atlas" ]; then
+ xbattle -black me -white :0 -options %%DATADIR%%/xbos/atlas.xbo
+elif [ "$choice" = "Demo" ]; then
+ xbattle -black me -white :0 -options %%DATADIR%%/xbos/demo.xbo
+elif [ "$choice" = "Desert" ]; then
+ xbattle -black me -white :0 -options %%DATADIR%%/xbos/desert.xbo
+elif [ "$choice" = "Io" ]; then
+ xbattle -black me -white :0 -options %%DATADIR%%/xbos/io.xbo
+elif [ "$choice" = "Skirmish" ]; then
+ xbattle -black me -white :0 -options %%DATADIR%%/xbos/skirmish.xbo
+elif [ "$choice" = "Space" ]; then
+ xbattle -black me -white :0 -options %%DATADIR%%/xbos/space.xbo
+elif [ "$choice" = "Tribal" ]; then
+ xbattle -black me -white :0 -options %%DATADIR%%/xbos/tribal.xbo
+elif [ "$choice" = "Tropical" ]; then
+ xbattle -black me -white :0 -options %%DATADIR%%/xbos/tropical.xbo
+elif [ "$choice" = "Tropical2" ]; then
+ xbattle -black me -white :0 -options %%DATADIR%%/xbos/tropical2.xbo
+elif [ "$choice" = "Tundra" ]; then
+ xbattle -black me -white :0 -options %%DATADIR%%/xbos/tundra.xbo
+fi
+
diff --git a/games/xbattle/pkg-descr b/games/xbattle/pkg-descr
index b0113f23dff2..9aad7eee53f5 100644
--- a/games/xbattle/pkg-descr
+++ b/games/xbattle/pkg-descr
@@ -1,19 +1,25 @@
- This is xbattle by Greg Lesher, based on the original by Steve Lehar
-released in 1991, and including enhancements, modifications, and bug fixes by
-contributers from all over the world.
- It is a concurrent multi-player game which combines elements of strategy
-with arcade-like action to capture a wide range of military scenarios. The game
-is based on X Windows. Opponents play from separate displays, with commands
-being executed concurrently--the players do not take "turns", but rather they
-all issue their commands simultaneously. There can be any number of players,
-with each player assigned to a specific team, indicated by marker colors. The
-game board is a matrix of cells (square, hexes, etc.) that can be occupied by
-colored troops, with the goal of the game being to eliminate the enemy from the
-board by attacking cells occupied by enemy troops. A wide variety of command
-line options (and previously configured game files) provide an abundance of
-different scenarios and gaming environments.
- If you have never used xbattle before, read the introduction on the
-xbattle Web site. To get the feel of the game, you can run the "tutorial1" and
-"tutorial2" scripts supplied with the game. These start a series of small
-example games that you can play around with to learn the various options
-available with the game.
+This is XBattle by Greg Lesher, based on the original by teve Lehar released
+in 1991, and including certain enhancements, modifications, and bug fixes
+suggested by a number of contributers from all over the world.
+
+XBattle is a concurrent multi-player game which combines elements of strategy
+with arcade-like action to capture a wide range of military scenarios.
+The game is based on X Windows, which you must have installed to run xbattle.
+Opponents play from separate displays, with commands being executed concurrently
+-- the players do not take "turns", but rather they all issue their commands
+simultaneously. There can be any number of players, with each player assigned
+to a specific team, indicated by marker colors. The game board is a matrix
+of cells (square, hexes, etc.) that can be occupied by colored troops,
+with the goal of the game being to eliminate the enemy from the board by
+attacking cells occupied by enemy troops. A wide variety of command line options
+(and previously configured game files) provide an abundance of different
+scenarios and gaming environments.
+
+If you have never used xbattle before, read the introduction on the xbattle Web
+site. To get the feel of the game, you can run the "tutorial1" and "tutorial2"
+scripts supplied with the game. These start a series of small example games that
+you can play around with to learn the various options available with the game.
+
+Wikipedia Xbattle
+
+WWW: https://web.archive.org/web/20011128105604/http://cns-web.bu.edu/pub/xpip/html/xbattle.html
diff --git a/games/xbattle/pkg-plist b/games/xbattle/pkg-plist
index 75d9fd3e6c7c..47ded3729929 100644
--- a/games/xbattle/pkg-plist
+++ b/games/xbattle/pkg-plist
@@ -1,23 +1,30 @@
bin/xbattle
-share/xbattle/xbas/simple.xba
-share/xbattle/xbos/atlas.xbo
-share/xbattle/xbos/default.xbo
-share/xbattle/xbos/demo.xbo
-share/xbattle/xbos/desert.xbo
-share/xbattle/xbos/io.xbo
-share/xbattle/xbos/skirmish.xbo
-share/xbattle/xbos/space.xbo
-share/xbattle/xbos/tribal.xbo
-share/xbattle/xbos/tropical.xbo
-share/xbattle/xbos/tropical2.xbo
-share/xbattle/xbos/tundra.xbo
-share/xbattle/xbts/castle.xbt
-share/xbattle/xbts/natural.xbt
-%%PORTDOCS%%share/doc/xbattle/README
-%%PORTDOCS%%share/doc/xbattle/tutorial1
-%%PORTDOCS%%share/doc/xbattle/tutorial2
-%%PORTDOCS%%@dirrm share/doc/xbattle
-@dirrm share/xbattle/xbas
-@dirrm share/xbattle/xbos
-@dirrm share/xbattle/xbts
-@dirrm share/xbattle
+bin/xbattle-menu
+bin/xbattle-tutorial1
+bin/xbattle-tutorial2
+man/man6/xbattle.6.gz
+share/icons/hicolor/128x128/apps/xbattle.png
+share/icons/hicolor/32x32/apps/xbattle.png
+share/icons/hicolor/48x48/apps/xbattle.png
+share/icons/hicolor/64x64/apps/xbattle.png
+share/icons/hicolor/72x72/apps/xbattle.png
+share/icons/hicolor/96x96/apps/xbattle.png
+share/pixmaps/xbattle.png
+%%DATADIR%%/xbas/simple.xba
+%%DATADIR%%/xbos/atlas.xbo
+%%DATADIR%%/xbos/default.xbo
+%%DATADIR%%/xbos/demo.xbo
+%%DATADIR%%/xbos/desert.xbo
+%%DATADIR%%/xbos/io.xbo
+%%DATADIR%%/xbos/skirmish.xbo
+%%DATADIR%%/xbos/space.xbo
+%%DATADIR%%/xbos/tribal.xbo
+%%DATADIR%%/xbos/tropical.xbo
+%%DATADIR%%/xbos/tropical2.xbo
+%%DATADIR%%/xbos/tundra.xbo
+%%DATADIR%%/xbts/castle.xbt
+%%DATADIR%%/xbts/natural.xbt
+@dirrm %%DATADIR%%/xbts
+@dirrm %%DATADIR%%/xbos
+@dirrm %%DATADIR%%/xbas
+@dirrm %%DATADIR%%