diff options
Diffstat (limited to 'games/xspacewarp')
-rw-r--r-- | games/xspacewarp/XSpacewarp | 267 | ||||
-rw-r--r-- | games/xspacewarp/doinst.sh | 15 | ||||
-rw-r--r-- | games/xspacewarp/xspacewarp.SlackBuild | 24 | ||||
-rw-r--r-- | games/xspacewarp/xspacewarp.info | 6 | ||||
-rw-r--r-- | games/xspacewarp/xspacewarp.man | 35 |
5 files changed, 335 insertions, 12 deletions
diff --git a/games/xspacewarp/XSpacewarp b/games/xspacewarp/XSpacewarp new file mode 100644 index 0000000000..15960e6a1e --- /dev/null +++ b/games/xspacewarp/XSpacewarp @@ -0,0 +1,267 @@ +! app-defaults for xspacewarp 1.2 (12/22/95) + +! whether to use mouse pointer inside xspacewarp window +*nomouse: true + +! number rows of 9x15 blocks in a sector of the universe +*rows: 26 + +! number columns of 9x15 blocks in a sector of the universe +*columns: 79 + +! The following resources refer to the number of bases, jovians, +! stars and blackholes in the universe. "min" values correspond +! to the lowest skill level of the game and "max" values +! correspond to the highest skill level. Values for the other +! skill levels are interpolated linearly between the "min" value +! and the "max" value. Populations are chosen randomly in the +! range: (average) +/- (variation). + +! Limits for the average population and the variation in +! population for bases. The actual average and variation used +! is interpolated linearly from these limits as a function of +! the skill level. + +*minAverageBasePop: 18 +*maxAverageBasePop: 18 +*minVariationBasePop: 3 +*maxVariationBasePop: 3 + +! Limits for the average population and the variation in +! population for jovians. + +*minAverageJovianPop: 10 +*maxAverageJovianPop: 73 +*minVariationJovianPop: 3 +*maxVariationJovianPop: 3 + +! Limits for the average population and the variation in +! population for stars. + +*minAverageStarPop: 75 +*maxAverageStarPop: 75 +*minVariationStarPop: 5 +*maxVariationStarPop: 5 + +! Limits for the average population and the variation in +! population for blackholes. + +*minAverageBlackholePop: 5 +*maxAverageBlackholePop: 5 +*minVariationBlackholePop: 4 +*maxVariationBlackholePop: 4 + +! color for text and graphical borders +*foreground: white + +! background color for everything +*background: black + +! visual representation of the endever (icon must have exactly 3 characters) +*endeverColor: white +*endeverIcon: >-0 + +! visual representation of the jovians (icon must have exactly 3 characters) +*jovianColor: white +*jovianIcon: <*> + +! visual representation of the bases (icon must have exactly 3 characters) +*baseColor: white +*baseIcon: +0+ + +! visual representation of the stars (icon must have exactly 1 character) +*starColor: white +*starIcon: . + +! visual representation of the blackholes (icon must have exactly 1 character) +*blackholeColor: black +*blackholeIcon: \040 + +! faser color +*faserColor: white + +! torpedo color +*torpedoColor: white + +! Fasers are drawn as dashed lines. The dash list describes the +! dash pattern of the line. A list such as "3 2 4" (elements of +! the list are separated by \040, the octal code for a space +! character) will make a dash pattern that has the first 3 +! pixels of the line lit, the next 2 pixels dark and the next 4 +! pixels lit. This pattern is repeated through the dashed +! line. The dash offset is the pixel in the dash list at which +! to begin the pattern. Eg, offset=3 in the example above would +! mean starting the dashed line with 2 lit pixels followed by 4 +! unlit pixels and then 3 lit pixels, etc. +*faserDashList: 4\0404 +*faserDashOffset: 0 + +! Thickness of faser in pixels +*faserWidth: 9 + +! millisec time determines speed of ion thrusters +*endeverThrustSpeed: 100 + +! millisec interval for ship (base, jovian, endever) re-energizing +*shipEnergizeSpeed: 3000 + +! millisec interval between jovian actions +*jovianActionSpeed: 100 + +! millisec interval for faser movement +*faserSpeed: 15 + +! millisec interval for torpedo movement +*torpedoSpeed: 30 + +! dimensions of torpedo (in pixels) +*torpedoLength: 6 +*torpedoWidth: 9 + +! millisec interval for rate of explosion growth +*explosionSpeed: 20 + +*explosionColor: white + +! radius to use for most ship explosions +*explosionRadiusSmall: 35 + +! radius to use for endever self-destruct explosion +*explosionRadiusBig: 200 + +! endever self-destruct code +*selfDestructCode: 123 + +! endever default faser/torpedo angle (radians). type float. +*defaultFiringAngle: 0.0 + +! starting number of torpedoes for endever +*maxTorpedoes: 10 + +*maxJoviansPerSector: 3 +*maxStarsPerSector: 5 + +! probability a sector is masked (percent) +*maskProbability: 5 + +! When the Endever leaps into a new sector, it gets placed at a +! random location inside that sector. The euclidean distance +! (in pixels) from this location to the jovians inside the +! sector is at least this value. + +*minJovianDistance: 150 + +! min percent energy needed for endever fasers to work +*endeverMinFaserEnergy: 10 + +! min percent energy for endever warpdrive to work +*endeverMinWarpEnergy: 20 + +! min percent energy for endever ion thrusters to work +*endeverMinThrustEnergy: 10 + +! min percent energy needed for jovian fasers to work +*jovianMinFaserEnergy: 10 + +! min percent energy for jovian warpdrive to work +*jovianMinWarpEnergy: 20 + +! min percent energy for ion thrusters to work +*jovianMinThrustEnergy: 10 + + +! Now some "artificial intelligence" parameters for controlling +! jovian behavior. + +! If the percent energy levels (ie, percent of maximum energy) +! of the thrusters, warpdrive, fasers and shields of a jovian +! drop to levels less than the respective "retreat" energies +! given below, then the jovian will exit the battle scene with +! probability (given as a percent) +! jovianRetreatProbability. jovianRetreatSpeed (type float) is +! the average rate (movements/sec) at which the jovian retreats +! toward the sector edge. Thus if jovianRetreatSpeed is 1.4, +! then a fleeing jovian will make a movement toward the edge of +! the sector, on average, once every 1.4 seconds. And if the +! jovian happens to already be on the edge of the sector, then +! the jovian will leap to a different sector (if its warpdrive +! energy is adequate) after a pause of 1.4 seconds on average. + +*jovianThrustRetreatEnergy: 30 +*jovianWarpRetreatEnergy: 40 +*jovianFaserRetreatEnergy: 30 +*jovianShieldRetreatEnergy: 40 +*jovianRetreatProbability: 50 +*jovianRetreatSpeed: 1.0 + + +! If the endever or a base being raided is in the same sector as +! a jovian, then the jovian moves or shoots (on average) every +! jovianMaxFightFrequency seconds in the highest skill level of +! the game and every jovianMinFightFrequency seconds in lowest +! skill level. Fight frequencies for the other skill levels are +! interpolated linearly between jovianMinFightFrequency and +! jovianMaxFightFrequency. These resources are type "float". + +*jovianMaxFightFrequency: 1.5 +*jovianMinFightFrequency: 3.5 + +! When a sector contains a base and a jovian, but not the +! endever, then there is a possibility of an attack or "raid" on +! the base. These resources are the average time in seconds +! before some jovian somewhere in the universe launches a raid +! on a base. jovianMaxRaidFrequency is for the highest skill +! level, jovianMinRaidFrequency is for the lowest skill +! level. Values for other skill levels are interpolated linearly +! between these extremes. These resources are type "float". + +*jovianMaxRaidFrequency: 40.0 +*jovianMinRaidFrequency: 400.0 + +! If a jovian is in a sector containing neither a base nor the +! endever, then there is a possibility of the jovian leaping to +! a different sector. These resources are the average number of +! seconds until some jovian somewhere in the universe leaps to a +! sector containing a base or the +! endever. jovianMaxLeapFrequency is for the highest skill level +! and jovianMinLeapFrequency is for the lowest skill +! level. Values for the other skill levels are interpolated in +! between these extremes. These resources are type "float". + +*jovianMaxLeapFrequency: 40.0 +*jovianMinLeapFrequency: 400.0 + +! key bindings for the endever + +*widget.translations: #replace \n\ + <Expose>: expose() \n\ + <Key>KP_Up: move(up) \n\ + <Key>KP_Down: move(down) \n\ + <Key>KP_Left: move(left) \n\ + <Key>KP_Right: move(right) \n\ + <Key>Up: move(up) \n\ + <Key>Down: move(down) \n\ + <Key>Left: move(left) \n\ + <Key>Right: move(right) \n\ + <Key>space: mission(start) sector() \n\ + <Key>1: input() scanner() \n\ + <Key>2: input() summary() \n\ + <Key>3: input() leap() \n\ + <Key>4: input() shields() \n\ + <Key>5: input() fasers() \n\ + <Key>6: input() torpedoes() \n\ + <Key>7: input() selfdestruct() \n\ + <Key>8: input() \n\ + <Key>9: input() \n\ + <Key>0: input() \n\ + <Key>-: input() \n\ + <Key>Return: endinput() \n\ + <Key>BackSpace: backspace() \n\ + <Key>n: orientation(next) replay(no) \n\ + <Key>o: mission(orient) \n\ + <Key>p: orientation(prev) pause() \n\ + <Key>q: orientation(quit) \n\ + <Key>y: replay(yes) + +! end app-defaults + diff --git a/games/xspacewarp/doinst.sh b/games/xspacewarp/doinst.sh index 5fb28930db..1015d8fd4d 100644 --- a/games/xspacewarp/doinst.sh +++ b/games/xspacewarp/doinst.sh @@ -1,3 +1,18 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +config etc/X11/app-defaults/XSpacewarp.new + if [ -x /usr/bin/update-desktop-database ]; then /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 fi diff --git a/games/xspacewarp/xspacewarp.SlackBuild b/games/xspacewarp/xspacewarp.SlackBuild index fbabd9b526..537c948b0e 100644 --- a/games/xspacewarp/xspacewarp.SlackBuild +++ b/games/xspacewarp/xspacewarp.SlackBuild @@ -4,21 +4,21 @@ # Time Trek - like game for X Window System # Written by Niels Horn <niels.horn@gmail.com> -# Revision date: 2010/06/01 +# Revision date: 2010/09/11 + +# man-page and app-defaults files by Luis Henrique <lmello.009@gmail.com> PRGNAM=xspacewarp VERSION=${VERSION:-1.2b} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} SRCVERSION=$(echo $VERSION | cut -b -3) -# Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i486 ;; arm*) ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: *) ARCH=$( uname -m ) ;; esac fi @@ -69,6 +69,18 @@ make install BINDIR=/usr/games DESTDIR=$PKG find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true +mkdir -p $PKG/usr/share/{applications,pixmaps} +cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop +cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png + +# Install X app-defaults +mkdir -p $PKG/etc/X11/app-defaults +cat $CWD/XSpacewarp > $PKG/etc/X11/app-defaults/XSpacewarp.new + +# Put man-page in package +mkdir -p $PKG/usr/man/man6 +cat $CWD/xspacewarp.man | gzip -9 > $PKG/usr/man/man6/xspacewarp.6.gz + mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a \ CHANGES INSTALL \ @@ -76,10 +88,6 @@ cp -a \ cat $CWD/xspacewarp-1.2.README > $PKG/usr/doc/$PRGNAM-$VERSION/README cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild -mkdir -p $PKG/usr/share/{applications,pixmaps} -cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop -cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png - mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh diff --git a/games/xspacewarp/xspacewarp.info b/games/xspacewarp/xspacewarp.info index 49c0d09ec9..ace901c662 100644 --- a/games/xspacewarp/xspacewarp.info +++ b/games/xspacewarp/xspacewarp.info @@ -1,10 +1,8 @@ PRGNAM="xspacewarp" VERSION="1.2b" HOMEPAGE="http://ftp.x.org/contrib/games/xspacewarp-1.2.README" -DOWNLOAD="http://ftp.x.org/contrib/games/xspacewarp-1.2.tar.gz \ - http://ftp.x.org/contrib/games/xspacewarp-1.2.README" -MD5SUM="54aa93eb6fd3d7fa396fc47ddf3ffd15 \ - 2ada097ae26285e710f2e4976744e7cf" +DOWNLOAD="http://ftp.x.org/contrib/games/xspacewarp-1.2.tar.gz" +MD5SUM="54aa93eb6fd3d7fa396fc47ddf3ffd15" DOWNLOAD_x86_64="" MD5SUM_x86_64="" MAINTAINER="Niels Horn" diff --git a/games/xspacewarp/xspacewarp.man b/games/xspacewarp/xspacewarp.man new file mode 100644 index 0000000000..f2ed190759 --- /dev/null +++ b/games/xspacewarp/xspacewarp.man @@ -0,0 +1,35 @@ +.TH XSPACEWARP 6 "July 26, 2010" +.SH NAME +xspacewarp -\ Time Trek like game for X Window System +.SH SYNOPSIS +.B xspacewarp +[ +.I X options +] +.SH DESCRIPTION +In \fBxspacewarp\fP the player maneuvers a Federation spaceship, +called the Endever, through 81 sectors of space trying to +destroy an Armada of enemy Jovian ships before they destroy the +all the Federation bases. To accompish this task, the Endever +has fasers, ion thrust engines, warpdrive for jumping between +sectors, a limited number of photon torpedoes, and a finite +store of energy which gets depleted during battles and must be +replenished by docking with the bases. The game has no time +limit and has a choice of 10 skill levels. +.P +Ported to X from a game originally written for the TRS-80 in 1977. +.SH OPTIONS +.B xspacewarp +only takes default \fIX options\fR, see X(7) for more details. +.SH FILES +You can modify pratically every single variable of the game by +making a copy of \fI/etc/X11/app-defaults/XSpacewarp\fR into your +home directory and tweaking it accordingly. +.SH SEE ALSO +X(7) +.SH CREDITS +Joshua Lavinsky - original TRS-80 program (1977) +.br +Greg Walker - X11 port (12/22/95) +.br +Niels Horn - adaptation for modern gcc compilers (05/14/10) |