--- battleball-2.0.orig/bb/gob.C +++ battleball-2.0/bb/gob.C @@ -114,7 +114,8 @@ void gob::Draw(bbGfxTarget& gt, tmtrx& worldToView, int viewNum, const pt3d& eyePos, const ulong colors[]) { - while (views.size() <=viewNum) +// using cast to ensure that results are comparable -- cw + while (static_cast(views.size()) <= static_cast(viewNum)) views.push_back(view()); views[viewNum].Update(Shape(),WorldPos()*worldToView); gt.SetForeground(gt.Colors()[Color()]); --- battleball-2.0.orig/bb/gob.h +++ battleball-2.0/bb/gob.h @@ -8,13 +8,14 @@ #define BBGOB_h -#include -#include +#include +#include #include "view.h" #include "bb.h" #include "bbgfxtarget.h" +using namespace std; // Notes: // gob is an abbreviation for Game OBject --- battleball-2.0.orig/bb/bbgfxtarget.C +++ battleball-2.0/bb/bbgfxtarget.C @@ -3,11 +3,12 @@ // it under the terms of the GNU General Public License v2 or later. -#include // to get strlen -#include +#include // to get strlen +#include #include // to get XEvent, XFontStruct #include "bbgfxtarget.h" +using namespace std; #define DEFAULTWINWIDTH 512 #define DEFAULTWINHEIGHT (256+6*14+2) --- battleball-2.0.orig/bb/main.C +++ battleball-2.0/bb/main.C @@ -617,7 +617,7 @@ // Free things when a game round ends void battleBall::FreeRound(gobList& gobs) { - gobList::iterator gi; +// gobList::iterator gi; // free the gobs which were created during the play of this round // (i.e. _don't_ free gobs which were created by InitScenery() ) @@ -813,7 +813,9 @@ /*=========================================================================*/ // A long and complicated main() function! +int main (int argc, char *argv[]) { battleBall bb(argc,argv); bb.Play(); + return 0; } --- battleball-2.0.orig/bb/player.C +++ battleball-2.0/bb/player.C @@ -4,17 +4,18 @@ #include // to get tolower() -#include // to get strncpy() -#include // to get INT_MAX, LONG_MAX +#include // to get strncpy() +#include // to get INT_MAX, LONG_MAX #include // to get XK_* -#include // ugh, this baby's big +#include // ugh, this baby's big #include "player.h" +using namespace std; #ifdef __GNUC__ -char __stl_temp_buffer[__stl_buffer_size]; +char __stl_temp_buffer[16384]; //__stl_buffer_size does not exist in egcs. #else -#include "tempbuf.cpp" // quasi-hack necessary to use STL's stable_sort() +#include "../stl/tempbuf.cpp" // quasi-hack necessary to use STL's stable_sort() #endif @@ -179,7 +180,7 @@ vector refs; for_(gi,gobs) refs.push_back(gobRef(*gi,(**gi).DistFromViewer(eyePos))); - ::stable_sort(refs.begin(),refs.end()); + stable_sort(refs.begin(),refs.end()); // now insert gob parts into the list, in correct drawing order gobList allGobs; @@ -263,7 +264,7 @@ void player::HandleKeyPress(KeySym k, bool pressed, gobList& gobs, tranGob* bbTrain) { - gobList::iterator gi; +// gobList::iterator gi; switch(k) { case XK_a: // toggle player/autonomous pilot if (pressed and autoPilotAllowed) { --- battleball-2.0.orig/bsp/bsp.C +++ battleball-2.0/bsp/bsp.C @@ -1262,7 +1262,7 @@ printf("bad_neg_parent "); for (i=0; inumpolys; i++) - printf("%ld ", (t->polys[i]->material_index) % 100000); + printf("%ld ", (t->polys[i]->material_index) % 100000L); if (t->positive) if (t->negative) --- battleball-2.0.orig/bsp/polygon.h +++ battleball-2.0/bsp/polygon.h @@ -21,7 +21,7 @@ int numverts; Vec3f verts[MAXPOLYVERT]; Vec3f plane_normal; - int material_index; + size_t material_index; int facesForward; // true: faces same dir as BSP node's plane faces } Polygon3f; --- battleball-2.0.orig/lib3d/bsppanel3d.C +++ battleball-2.0/lib3d/bsppanel3d.C @@ -3,10 +3,10 @@ // it under the terms of the GNU General Public License v2 or later. -#include +#include #include "bsppanel3d.h" - +using namespace std; /***************************************************************************/ bspPanel3d::bspPanel3d(const Polygon3f& poly, fastPts& pts, @@ -42,7 +42,7 @@ } pt3d2Vec3f(normal,poly.plane_normal); - poly.material_index= (int) this; + poly.material_index= (size_t) this; return poly; } --- battleball-2.0.orig/lib3d/bspregion3d.C +++ battleball-2.0/lib3d/bspregion3d.C @@ -97,7 +97,7 @@ xpanel3d& panel= * (xpanel3d *) poly->material_index; poly->material_index= - (int) & *treePanels.insert(treePanels.end(),xpanel3d(*poly,pts,panel)); + (size_t) & *treePanels.insert(treePanels.end(),xpanel3d(*poly,pts,panel)); } MakeBspTreePanels(bspt->negative); MakeBspTreePanels(bspt->positive); --- battleball-2.0.orig/lib3d/fastpts.h +++ battleball-2.0/lib3d/fastpts.h @@ -7,12 +7,13 @@ #define FASTPTS_h -#include +#include #include "general.h" #include "table.h" #include "xform.h" #include "dimentable.h" +using namespace std; /*=========================================================================*/ struct pt3dPtr { @@ -70,7 +71,7 @@ int Num() const {return pts.Num();} pnt *Array() const {return pts.Array();} pnt& operator[](int i) const {return pts[i];} - table& table() {return pts;} + pntTable& getTable() {return pts;} }; #ifdef FASTPTS_TEMPLATE --- battleball-2.0.orig/lib3d/general.C +++ battleball-2.0/lib3d/general.C @@ -25,9 +25,10 @@ void SleepFor(int val) { struct timeval tv2; + fd_set * const no_fd = 0; tv2.tv_sec=0; tv2.tv_usec=val; - select(0,NULL,NULL,NULL,&tv2); + select(0,no_fd,no_fd,no_fd,&tv2); } //char *str_dup(char *s) --- battleball-2.0.orig/lib3d/general.h +++ battleball-2.0/lib3d/general.h @@ -25,14 +25,21 @@ typedef unsigned int uint; typedef unsigned long ulong; +// versions of g++ before 3.0 did not support these standard aliases. +// version 3.0 refuses to redefine them. +#ifdef __GNUC__ +#if __GNUC__ < 3 #define and && #define or || #define not ! +#endif +#endif #define forii(limit) for (int i= 0; i +#include #include "gfxtarget.h" +using namespace std; /************************************************************************/ // In: dispName = name of X display to open --- battleball-2.0.orig/lib3d/dimension.C +++ battleball-2.0/lib3d/dimension.C @@ -3,10 +3,10 @@ // it under the terms of the GNU General Public License v2 or later. -#include +#include #include "dimension.h" - +using namespace std; /************************************************************************/ ostream& operator<<(ostream& out, const dimension& d) { --- battleball-2.0.orig/lib3d/pt3d.h +++ battleball-2.0/lib3d/pt3d.h @@ -7,11 +7,12 @@ #define PT3D_h -#include +#include #include "general.h" #include "pt2d.h" #include "ang3d.h" +using namespace std; /*=========================================================================*/ struct pt3d : pt2d { --- battleball-2.0.orig/lib3d/ang3d.h +++ battleball-2.0/lib3d/ang3d.h @@ -7,10 +7,11 @@ #define ANG3D_h -#include +#include #include "general.h" #include "ang2d.h" +using namespace std; struct ang3d { ang2d xy, // angle in XY plane --- battleball-2.0.orig/lib3d/dimentable.C +++ battleball-2.0/lib3d/dimentable.C @@ -10,9 +10,9 @@ /*=========================================================================*/ dimension *dimenTable::Add(coord value, dimenTable& symmDims) { dimenList::iterator dim; - dimension *symmDim= NULL, - *halfDim= NULL, - *qrtrDim= NULL; + dimension *symmDim= NULL; +// dimension *halfDim= NULL; +// dimension *qrtrDim= NULL; for(dim= dimens.begin(); dim != dimens.end(); dim++) { if ((*dim).value== value) --- battleball-2.0.orig/lib3d/dimentable.h +++ battleball-2.0/lib3d/dimentable.h @@ -7,9 +7,10 @@ #define DIMENTABLE_h -#include // STL +#include // STL #include "dimension.h" +using namespace std; /*=========================================================================*/ struct dimenTable { --- battleball-2.0.orig/lib3d/region3d.C +++ battleball-2.0/lib3d/region3d.C @@ -44,7 +44,7 @@ if (wantEdges) for(p= otherPanels.begin(); p != otherPanels.end(); p++) edges.AddPanel(*p); - box.MakeBoundingBox(pts.table(),farthestDist); + box.MakeBoundingBox(pts.getTable(),farthestDist); } @@ -83,7 +83,7 @@ int region3d::Add(const xpanel3d& p) { if (p.ptNums.Num() >0) { edges.AddPanel(p); - box.MakeBoundingBox(pts.table(), farthestDist); + box.MakeBoundingBox(pts.getTable(), farthestDist); return panels.Add(p); } else @@ -123,7 +123,7 @@ //panels[panels.Num()-1].normal *= normalDir; edges.AddPanel(panels[panels.Num()-1]); } - box.MakeBoundingBox(pts.table(),farthestDist); + box.MakeBoundingBox(pts.getTable(),farthestDist); } --- battleball-2.0.orig/lib3d/region3d.h +++ battleball-2.0/lib3d/region3d.h @@ -7,8 +7,8 @@ #define REGION3D_h -#include -#include // STL +#include +#include // STL #include "general.h" #include "xform.h" #include "region2d.h" @@ -18,6 +18,7 @@ #include "edgetable.h" #include "xpanel3d.h" +using namespace std; extern const pt3d::coord COORD_MAX; --- battleball-2.0.orig/lib3d/rect3d.h +++ battleball-2.0/lib3d/rect3d.h @@ -11,7 +11,6 @@ #include "pt3d.h" - /************************************************************************/ /* pnt = N-dimensional point type which delimits the bounds of the rect pnts = container of pts @@ -20,7 +19,6 @@ struct rect { pnt low, high; - bool Contains(const pnt& p) const {return p.IsBetween(low,high);}; bool ContainsInclusively(const pnt& p) const @@ -31,8 +29,8 @@ pnt Center() const {return (low+high)/2;}; - void MakeBoundingBox(const pnts& pts, pnt::coord& farthestDist) { - pnt::coord d; + void MakeBoundingBox(const pnts& pts, double & farthestDist) { + double d; farthestDist= 0; if (pts.Num()==0) { @@ -45,7 +43,7 @@ high= pts[0]; forii(pts.Num()) { - d= (pnt::coord) pts[i].Dist(); + d= (double) pts[i].Dist(); if (d >farthestDist) farthestDist= d; low.SetMin(pts[i]); --- battleball-2.0.orig/lib3d/xform.C +++ battleball-2.0/lib3d/xform.C @@ -4,10 +4,10 @@ #include -#include +#include #include "xform.h" - +using namespace std; //=========================================================================== // Extend the pt3d class! --- battleball-2.0.orig/lib3d/xform.h +++ battleball-2.0/lib3d/xform.h @@ -7,11 +7,12 @@ #define TRANSFORM_h -#include +#include #include "general.h" #include "pt3d.h" #include "ang3d.h" +using namespace std; //========================================================================== /* Transformation classes tmtrx and tcomp. --- battleball-2.0.orig/Imakefile +++ battleball-2.0/Imakefile @@ -8,6 +8,12 @@ LOCAL_LIBRARIES = -lm $(XLIB) DEPLIBS = $(DEPXLIB) +#ifdef AlphaArchitecture +CXXOPTIONS=CplusplusOptions -Wall -mieee +#else +CXXOPTIONS=CplusplusOptions -Wall +#endif + OBJS= bsp/brep.o bsp/bsp.o bsp/polygon.o \ lib3d/ang3d.o lib3d/bsppanel3d.o lib3d/bspregion3d.o \ lib3d/dimension.o lib3d/dimentable.o lib3d/edgetable.o \ --- battleball-2.0.orig/debian/README.debian +++ battleball-2.0/debian/README.debian @@ -0,0 +1,14 @@ +battleball for DEBIAN +---------------------- + +Battleball has a wide variety of options; you can play against the +computer or against other people, or both. The default in the Debian +menu selects a basic game against the computer, played on $DISPLAY. + + -- Chris + +Current maintainer: Chris Waters + +Original packager: + +Igor Grobman , Mon, 5 Jan 1998 21:28:39 -0500 --- battleball-2.0.orig/debian/dirs +++ battleball-2.0/debian/dirs @@ -0,0 +1,3 @@ +/usr/games +/usr/share/pixmaps +/usr/share/applications --- battleball-2.0.orig/debian/docs +++ battleball-2.0/debian/docs @@ -0,0 +1,2 @@ +README +SOURCECODE --- battleball-2.0.orig/debian/menu +++ battleball-2.0/debian/menu @@ -0,0 +1,7 @@ +?package(battleball):\ + needs="X11"\ + section="Games/Action"\ + title="Battleball"\ + longtitle="Battleball: Soccer with Tanks"\ + icon="/usr/share/pixmaps/battleball.xpm"\ + command="/bin/sh -c 'exec /usr/games/battleball $DISPLAY comp'" --- battleball-2.0.orig/debian/control +++ battleball-2.0/debian/control @@ -0,0 +1,17 @@ +Source: battleball +Section: games +Priority: optional +Maintainer: Ubuntu MOTU Developers +XSBC-Original-Maintainer: Chris Waters +Standards-Version: 3.7.3 +Build-Depends: xutils-dev, libx11-dev, libxext-dev, debhelper (>= 4.0.0) + +Package: battleball +Architecture: any +Depends: ${shlibs:Depends} +Description: soccer game played with tanks or helicopters + BattleBall is essentially the game of soccer, played with military + vehicles rather than with people. Each player drives a tank or flies + a helicopter, and tries to move the ball down the playfield to the + other team's goal. Relatively unlimited number of human or computer + players can compete in teams or head-to-head. --- battleball-2.0.orig/debian/rules +++ battleball-2.0/debian/rules @@ -0,0 +1,75 @@ +#!/usr/bin/make -f +# Based on sample rules file GNU copyright 1997 by Joey Hess. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +u=debian/battleball/usr + +build: build-stamp +build-stamp: + dh_testdir + + xmkmf + $(MAKE) battleball # just $(MAKE) no longer does The Right Thing + + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp install-stamp + + rm -rf build + [ ! -f Makefile ] || $(MAKE) clean +# make clean isn't perfect, and there's no make distclean + rm -rf bb/*.o bsp/*.o lib3d/*.o + rm -f Makefile + + dh_clean + +install: install-stamp +install-stamp: build-stamp + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + install -m 755 -o root -g root battleball $(u)/games + install -m 644 -o root -g root debian/battleball.xpm \ + $(u)/share/pixmaps + install -m 644 -o root -g root debian/battleball.desktop \ + $(u)/share/applications + + touch install-stamp + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install +# dh_testversion + dh_testdir + dh_testroot + dh_installdocs + dh_installmenu + dh_installman debian/battleball.6 + dh_installchangelogs CHANGELOG + dh_desktop + dh_link + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +source diff: + @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false + +binary: binary-indep binary-arch +ok: binary +.PHONY: build clean binary-indep binary-arch binary install ok --- battleball-2.0.orig/debian/changelog +++ battleball-2.0/debian/changelog @@ -0,0 +1,176 @@ +battleball (2.0-17ubuntu1) intrepid; urgency=low + + * Merge from Debian unstable (LP: #239218), remaining changes: + - Add .desktop file + * Modify Maintainer value to match the DebianMaintainerField + specification. + + -- Iain Lane Wed, 11 Jun 2008 16:55:33 +0100 + +battleball (2.0-17) unstable; urgency=low + + * Build-dep on xutils-dev where xmkmf is now located (closes: #485196). + * Minor lintian cleanup on debian/rules. + * Fix minor manpage error. + + -- Chris Waters Tue, 10 Jun 2008 00:43:50 -0700 + +battleball (2.0-16.1ubuntu1) intrepid; urgency=low + + * Merge from Debian unstable. Remaining Ubuntu changes: + - Added a freedesktop.org Desktop Entry Specification v1.0 + compliant .desktop file + - Modify Maintainer value to match Debian-Maintainer-Field Spec + + -- Cesare Tirabassi Fri, 02 May 2008 01:06:01 +0200 + +battleball (2.0-16.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix FTBFS with gcc-4.3. Thanks to Kumar Appaiah for the initial work on + the patch. (Closes: #461697) + + -- James Vega Thu, 03 Apr 2008 12:11:35 -0400 + +battleball (2.0-16ubuntu1) gutsy; urgency=low + + * Merge from Debian unstable (LP: #133736). Remaining Ubuntu changes: + - Added a freedesktop.org Desktop Entry Specification v1.0 + compliant .desktop file + * Modify Maintainer value to match Debian-Maintainer-Field Spec + + -- Cesare Tirabassi Mon, 20 Aug 2007 22:11:49 +0200 + +battleball (2.0-16) unstable; urgency=low + + * Don't strip binaries if DEB_BUILD_OPTIONS=nostrip (closes: #436543). + * Moved to menu section Games/Action (closes: #432128). + + -- Chris Waters Thu, 9 Aug 2007 03:18:55 -0700 + +battleball (2.0-15ubuntu1) feisty; urgency=low + + * Added a .desktop file (closes Ubuntu: #60290) + * debian/copyright: updated the FSF address + + -- Emmet Hikory Wed, 17 Jan 2007 11:55:16 +0900 + +battleball (2.0-15build1) breezy; urgency=low + + * Rebuild for new C++ ABI + + -- Matthias Klose Tue, 28 Jun 2005 08:21:54 +0000 + +battleball (2.0-15) unstable; urgency=low + + * Updated debian menu for menu systems that don't evaluate $DISPLAY; now + uses "sh -c" and exec (closes: #245697). + * Moved menu pixmap to /usr/share/pixmaps. + * Updated build-depends to reflect new X11 package splits. + + -- Chris Waters Fri, 21 May 2004 12:58:21 -0700 + +battleball (2.0-14) unstable; urgency=low + + * Rebuilt for the Great g++3.2 conversion. + * Stripped colors in menu icon to meet menu standards. + + -- Chris Waters Sun, 2 Mar 2003 16:41:19 -0800 + +battleball (2.0-13) unstable; urgency=low + + * Replaced the huge patch introduced in 2.0-11 with a smaller, simpler + patch that (properly) treats gcc < 3.0 as a special case. + * More patches to clean up various compilation warnings. + + -- Chris Waters Fri, 15 Mar 2002 13:18:24 -0800 + +battleball (2.0-12) unstable; urgency=low + + * Removed libstdc++-dev from build-dependencies (already in + build-essential). Closes: #105942 + * Hacked debian/rules to cope with new xmkmf breakage. + + -- Chris Waters Fri, 21 Sep 2001 11:21:10 -0700 + +battleball (2.0-11) unstable; urgency=low + + * Removed some ugly macros that were causing problems with g++ + 3.0. (closes #104837) + + -- Chris Waters Sat, 14 Jul 2001 12:48:21 -0700 + +battleball (2.0-10) unstable; urgency=low + + * Fixed error that prevented compilation on new versions of g++. + * Added icon for debian menus. + * Major overhaul of man page. + * Switched to debhelper 3.x and dh_installman. + + -- Chris Waters Sat, 12 May 2001 10:21:31 -0700 + +battleball (2.0-9) unstable; urgency=low + + * Updated standards version, added build-depends + * Rebuilt against XFree86-4. + * Now uses dh_installmanpages + * updated description to mention computer players and team play. + + -- Chris Waters Mon, 15 Jan 2001 15:50:25 -0800 + +battleball (2.0-8) unstable; urgency=low + + * patched to fix segfault on Alpha (closes: Bug#49411) + * Updated to standards version 3.0.0. + * Build modified to use debhelper. + * Copyright refers to new location of GPL. + * Cleaned up diffs (Makefile, which gets rebuilt, no longer included). + + -- Chris Waters Sat, 13 Nov 1999 23:03:01 -0800 + +battleball (2.0-7) unstable; urgency=low + + * recompiled with glibc2.1 and such. + * fixed menu to use $DISPLAY rather than :0 (this seems to work) + + -- Chris Waters Wed, 12 May 1999 13:59:06 -0700 + +battleball (2.0-6) unstable; urgency=low + + * Capitalized menu entry ("Battleball" not "battleball") + + -- Chris Waters Mon, 8 Mar 1999 14:16:28 -0800 + +battleball (2.0-5) frozen unstable; urgency=low + + * fixed debian menu to point to correct binary location. + * new maintainer. + + -- Chris Waters Wed, 9 Dec 1998 01:43:10 -0800 + +battleball (2.0-4) unstable; urgency=low + + * Copyright is changed to GPL! moved to main + * Fixed some errors that were coming up with new g++ (egcs) + * Wrote a manpage. + + -- Igor Grobman Thu, 27 Aug 1998 15:07:37 -0400 + +battleball (2.0-3) unstable; urgency=low + + * copyright file no longer compressed. + + -- Igor Grobman Sun, 25 Jan 1998 18:23:50 -0500 + +battleball (2.0-2) unstable; urgency=low + + * renamed /usr/lib/menu/menu to /usr/lib/menu/battleball. + + -- Igor Grobman Thu, 22 Jan 1998 18:24:47 -0500 + +battleball (2.0-1) unstable; urgency=low + + * Initial Release. + + -- Igor Grobman Mon, 5 Jan 1998 21:28:39 -0500 + --- battleball-2.0.orig/debian/compat +++ battleball-2.0/debian/compat @@ -0,0 +1 @@ +4 --- battleball-2.0.orig/debian/battleball.desktop +++ battleball-2.0/debian/battleball.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Battleball +Comment=Play Soccer with Tanks +Exec=sh -c "exec /usr/games/battleball \\$DISPLAY comp" +Icon=battleball +StartupNotify=false +Terminal=false +Type=Application +Categories=Game;ActionGame; --- battleball-2.0.orig/debian/battleball.6 +++ battleball-2.0/debian/battleball.6 @@ -0,0 +1,298 @@ +.TH BATTLEBALL 6 "August 27, 1998" "Debian/GNU Linux" + +.SH NAME battleball \- military version of soccer + +.SH SYNOPSIS +.HP +.B battleball +.RI "[\|" options "\|] " Players " ..." + +.SH DESCRIPTION +.B BattleBall +is essentially the game of soccer, played with military +vehicles rather than with people. Each player drives a tank or flies +a helicopter, and tries to move the ball down the playfield to the +other team's goal. In BattleBall, the teams' "goals" are their +headquarters buildings, positioned at the ends of the playfield. +Hitting another team's headquarters building with the ball scores a +point, knocking the building over in the process. Yes, realism was +my ultimate goal in this game. +.SH OPTIONS +.TP +.B +\-ag ##l +Set players' auto-gunner settings. The argument of this +option is three characters: a single\-digit number +specifying firing accuracy, a single\-digit number +specifying firing frequency, and one of the following +letters specifying target selection: +.br +a \- fire at all targets +.br +b \- fire only at the ball +.br +v \- fire only at vehicles +.br +n \- no targets (i.e. do not fire) +.br +This option affects players which appear after it on the +command line. The default is 43a. +.TP +.B +\-ff d|b|t +Make accidental 'friendly fire' from fellow teammates: +.br +d \- dangerous (the default) +.br +b \- blocked or +.br +t \- transparent. +.TP +.B \-grav # +Set gravity. Defaults to 0.031 m/iteration^2. +.TP +.B \-help +Show the help screen +.TP +.B \-id # +Set the inter-frame delay. If the game runs too slow, set +this lower; if the game seems to lag behind your +keystrokes, set this higher. Defaults to 30 milliseconds. +.TP +.B \-mtns # +Set the number of mountains. Defaults to 8. +.TP +.B \-noag +Disable human players' auto-gunner capability. +.TP +.B \-noap +Disable human players' auto-pilot capability. +.TP +.B \-nobang +Disable 'bangs' (the flashes at the end of a gun barrel) +.TP +.B \-noflyby +Disable aircraft fly\-bys. +.TP +.B \-nopause +Disable players' use of the pause ('P') key. +.TP +.B \-noresize +Do not automatically resize the window to fit the graphics. +.TP +.B \-noshade +Disable shadows. Uses less cpu time. +.TP +.B \-out +Allow vehicles to go outside of the playfield. +.TP +.B \-pts # +Set number of points required to win. Defaults to 3. +.TP +.B \-rad # +Set the 'radius' of the playfield. Defaults to 100 meters. +.TP +.B \-sb +Single-buffer the game windows. +.TP +.B \-sd # +Set the startup delay. The game will wait for this many +seconds for players to get ready. +.TP +.B \-simple +Use simpler graphics. Uses less cpu time. +.TP +.B \-snum # +Set number of shells per player. Defaults to 3. +.TP +.B \-spow # +Set shell power. Defaults to 1.6. +.TP +.B \-svel # +Set shell muzzle velocity. Defaults to 1.5 meters/frame. +At higher velocities, some collisions may not be reliably +detected. +.TP +.B \-train +Include a train running on a track around the playfield. +.TP +.B \-trees # +Set the number of trees. Defaults to 12. +.TP +.B \-wf +Use wireframe rendering. Uses less cpu time. + +.SH "PLAYERS & TEAMS" +.B Battleball +is played with teams of human and computer players. Up to six teams +can play at once, and teams may have any combination of human and +computer players. Human players are created by giving the name of an +X display on the command line. Computer players are created by using +the magic name 'comp' instead. +.PP +Computer players may be created with specific auto-gunner settings. +Use 'comp', followed by (no space) the three characters used in +the \-ag option, e.g. 'comp67b'. +This overrides the \-ag option. +.PP +Commas between names put players on the same team; +spaces between names separate teams. +Teams may have any mix of human and computer players. +.PP +At least one player (one team) must be specified on the command line. +However, soccer with just one team is rather boring; +using two or more is strongly suggested. +.PP +Each team is assigned a color. Tanks, helicopters, and headquarter +buildings are all marked with the team's color. +.SH PLAY +When the game starts, each player is seated in her vehicle, in front +of her goal, facing the ball at the center of the playfield. Vehicles +are, of course, armed with cannons, but these are primarily a means to +an end. Gunfire is good for forcing obstinate opponents out of your +way, but gunfire doesn't destroy anything. Gunfire is also good for +blasting the ball across the playfield and into your opponent's HQ. +.PP +You use the keyboard to control your vehicle. The commands that are +available at any given time are shown at the bottom of the screen. +.PP +.B "Commands for all vehicles:" +.RS +.TP +.B 'I' +(or up arrow.) Move forward. +.TP +.B 'J' +(or left arrow.) Turn left. +.TP +.B 'K' +(or down arrow.) Move back. +.TP +.B 'L' +(or right arrow.) Turn right. +.TP +.B Space +Fire. +.TP +.B 'P' +Pause. +.TP +.B 'Q' +Quit. +.TP +.B 'T' +Transform tank to helicopter or vice versa. +.TP +.B 'A' +Toggle autopilot. +.TP +.B 'G' +Toggle autogunner. +.TP +.B 'V' +Switch between view from vehicle, and view of vehicle from HQ. +.TP +.B Tab +Show teams and scores. +.RE +.PP +.B "Extra commands for tanks:" +.RS +.TP +.B 'E' +Raise barrel (shots go farther). +.TP +.B 'S' +Rotate turret left. +.TP +.B 'D' +Lower barrel. +.TP +.B 'F' +Rotate turret right. +.RE +.PP +The current angle of the barrel and turret are shown beneath the main +display, next to the team insignia. +.PP +.B "Commands for helicopters:" +.RS +.TP +.B 'E' +Go up (note, your helicopter cannot fly on the ground). +.TP +.B 'S' +Fly left. +.TP +.B 'D' +Go down. +.TP +.B 'F' +Fly right. +.TP +.B 'Y' +Pitch forward. +.TP +.B 'H' +Pitch back. +.RE +.PP +The current elevation and pitch are shown beneath the main display, +next to the team insignia. +.PP +The controls which are available to your vehicle are always shown at +the bottom of the screen. +.SH SCORING +When there are two teams, scoring is the same as it is in soccer: +scoring a "goal" is worth 1 point. When there are more than two teams, +scoring a goal earns 2 points, and the other teams besides the losing +team receive 1 point each for defending their headquarters. + +.SH EXAMPLES +.TP +battleball :0 +Starts a game with only one player on only one team, a human player on +the local X display. Not a very interesting game. +.TP +battleball :0 comp +A single human player vs. the computer, one-on-one. +.TP +battleball ford:0 chevy:0 +Two humans, head-to-head, one on the display "ford:0", one on "chevy:0". +.TP +battleball flavio:0 chirp:0,roar:0 +Sets up a one-player team against a two-player team. +.TP +battleball parrot:0,comp raven:0 comp,comp +Creates three teams with a mix of human and computer +players. +.TP +battleball dunce:0 comp75a comp,comp +Creates three teams. The first computer player gets +special auto-gunner settings; the other computer players +get default settings. + +.SH BUGS +Using multiple X displays introduces certain security risks (which are +beyond the scope of this document). Networked games will require the +use of the incredibly insecure xhost(1) command or the less insecure +but rather complicated xauth(1) utility. Do not play this game +with people you don't know and trust. +.PP +Using multiple X displays also imposes performance overheads. You +will need fast network connections for multi-player games. +.PP +The game must render 3d graphics for each player in the game. This +can slow the game down dramatically as the number of players +increases. You can use various options to speed up the game, but you +will eventually reach a point of diminishing returns. + +.SH "SEE ALSO" +See +.B battleball +\-help and /usr/share/doc/battleball/README.gz for more information. +.SH AUTHOR +.B Battleball +was written by Philip A. Hardin. +.PP +This man page was written by Chris Waters . --- battleball-2.0.orig/debian/copyright +++ battleball-2.0/debian/copyright @@ -0,0 +1,24 @@ +This package was debianized by Igor Grobman igor@debian.org on +Mon, 5 Jan 1998 21:28:39 -0500. + +It was downloaded from http://www.cs.utexas.edu/users/pahardin/cgi/download.cgi?os=src&ver=20 + + + +Copyright +========= + +BattleBall is copyright (c) 1996, 1997 Philip A. Hardin. + +As of July 29, 1998, BattleBall is released under the terms of the +GNU General Public License. + +BattleBall comes with NO WARRANTY, not even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. It's free...what +else would you expect? + +You should have received a copy of the GNU General Public License with +your Debian GNU/Linux system, in /usr/share/common-licenses/GPL, or with +the Debian GNU/Linux bash source package as the file COPYING. If not, +write to the Free Software Foundation, Inc., 51 Franklin Street, +Fifth Floor, Boston, MA 02110-1301 USA. --- battleball-2.0.orig/debian/battleball.xpm +++ battleball-2.0/debian/battleball.xpm @@ -0,0 +1,51 @@ +/* XPM */ +static char *battleball[] = { +/* columns rows colors chars-per-pixel */ +"32 32 13 1", +"# c black", +". c #191919", +"X c gray20", +"o c #007F00", +"O c #007F7F", +"+ c #7F0000", +"@ c #7F7F00", +"^ c #4C4C4C", +"$ c #666667", +"% c gray50", +"& c green", +"* c gray60", +" c None", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" $$$$% ", +" %$$$$$% ", +" O%XXXXO* ", +" oooooooooo ", +" oooo^ooooo$& ", +" ^&^ooooXXXoo$oo ", +" OoOoooooooooooOo^ ", +" @@$@@@@@@%@@@@$@%@@@@@$@ ", +" @@@@@@&@@@@%$@$$@&$@@&@$@$+ ", +" +@$$@$@%%@$@@@@@@@$@@@%@@@@@+@ ", +"@$@@ooo^oo^oooooo^o@oo^oo^oo@@@$", +"o@$ooooooooooo.ooooooooooooo$%@@", +"oo.oo.o.oooooooooo.oooo.oooooooo", +"ooooooooo.o.oo.oo.ooo.ooo.o.ooo.", +"oo.o.OOXXXX.XXXXXXXXXX.XX.Oooooo", +"o.ooo^XXXXXXXXXXXXXXXXXXXX^o.oo.", +" XXXXXXXXXXXXXXXXXXXXXXXXXX ", +" ", +" ", +" ", +" ", +" ", +" ", +" " +};