debian/0000755000000000000000000000000011761550710007171 5ustar debian/watch0000644000000000000000000000006510740601216010215 0ustar version=3 http://sf.net/btanks/btanks-(.+)\.tar\.bz2 debian/copyright0000644000000000000000000002131611562057232011127 0ustar Format-Specification: http://wiki.debian.org/Proposals/CopyrightFormat?action=recall&rev=228 Upstream-Name: Battle Tanks Upstream-Source: http://sourceforge.net/projects/btanks Files: * Copyright: © 2005-2008, Vladimir Menshakov © 2006-2009, Battle Tanks Team License: GPL-2+ | other Battle Tanks is distributed in accordance with the terms and conditions of the GNU GPL with the following interpretation and a specific Exception: 1. Definitions used in this Exception: . Battle Tanks refers to a scalable computer game program (able to be combined with non-Open Source Applications). The program contains limited game logic and limited game content (including pictures, maps, visual images of game scenery, sounds and other artwork) and is distributed free on the GNU GPL conditions. . A Non-Open Source Application refers to a body of expanded game content (including pictures, maps, visual images of game scenery, sounds and other artwork) together with patterns containing expanded game logic, which is intended solely for the use with Battle Tanks, can work exclusively along with Battle Tanks and shall be distributed through selling on the terms and conditions other than those of GNU GPL. . 2. Exclusive rights to Battle Tanks belong to the company Netive Company Ltd., Novosibirsk (Russia), which may link or combine Battle Tanks with some non-Open Source Applications. . Netive Company Ltd. can sign a separate written License Agreement with a third party, under which they are granted permission to: a) link or combine Battle Tanks with non-Open Source Applications; b) reproduce and distribute through selling copies of non-Open Source Applications along with Battle Tanks. . 3. All the provisions granted under the section 2 of the Exception go into effect, provided all the corresponding licenses of using non-Open Source Applications are available and observed. . 4. You must obey the GNU General Public License in all respects for all of the Program code and other code used in conjunction with the Program except the Non-GPL Code covered by this exception. . 5. Only Netive Company, Ltd. may make changes or additions to the Exception. . On Debian systems, the complete text of version 2 of the GNU General Public License can be found in '/usr/share/common-licenses/GPL-2'. Files: clunk/* Copyright: © 2007-2008, Netive Media Group License: LGPL-2.1+ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. . This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. . You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . On Debian systems, the complete text of version 2.1 of the GNU Lesser General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'. Files: clunk/kemar.c, clunk/kemar.h Copyright: © 1994, MIT Media Laboratory License: other It is provided free with no restrictions on use, provided the authors are cited when the data is used in any research or commercial application. Files: mrt/tclUniData.c Copyright: © 1998, Scriptics Corporation License: other This file is part of TCL which is distributed under the following license: . This software is copyrighted by the Regents of the University of California, Sun Microsystems, Inc., Scriptics Corporation, and other parties. The following terms apply to all files associated with the software unless explicitly disclaimed in individual files. . The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply. . IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. . THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. . GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the terms specified in this license. Files: sdlx/SDL_main.h Copyright: © 1997-2006 Sam Lantinga License: LGPL-2.1+ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. . This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. . You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . On Debian systems, the complete text of version 2.1 of the GNU Lesser General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'. Files: sdlx/SDL_win32_main.c Copyright: placed in the public domain by Sam Lantinga 4/13/98 License: other placed in the public domain by Sam Lantinga 4/13/98 Files: sdlx/wrappers/* Copyright: © 2001-2004, 2006-2007, David Olofson License: LGPL-any This code is released under the terms of the GNU LGPL. . On Debian systems, the complete text of the GNU Lesser General Public License can be found in `/usr/share/common-licenses/LGPL'. Files: sdlx/wrappers/d3dsdl.cpp, sdlx/wrappers/d3dsdl8.cpp Copyright: © 2008, Vladimir Menshakov License: LGPL-2.1+ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. . This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. . You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . On Debian systems, the complete text of version 2.1 of the GNU Lesser General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'. Files: debian/* Copyright: © 2007, Miriam Ruiz © 2007, Paul Wise © 2007, Barry deFreese © 2007, Simon Ruggier © 2008, Alexander Schmehl © 2008, Ansgar Burchardt License: GPL-2+ Files: debian/html.tar.uu Copyright: © 2006-2007, Battle Tanks Team License: GPL-2+ Permission has been granted by the authors of the documentation to release it under the GPL license. debian/docs0000644000000000000000000000007310713232534010041 0ustar README-en.txt README-fr.txt README-linux.txt README-ru.txt debian/changelog0000644000000000000000000001047311761546717011064 0ustar btanks (0.9.8083-4) unstable; urgency=low * Team upload. [ Ansgar Burchardt ] * Use XZ compression for binary packages. [ Vincent Legout ] * Build-Depends on zlib1g-dev, fix FTBFS (Closes: #669518) * Fix Vcs-Browser field * debian/patches/remove_default_optimizations.patch: Add DEP-3 header -- Dmitrijs Ledkovs Thu, 31 May 2012 02:47:36 +0100 btanks (0.9.8083-3.1) unstable; urgency=low * Non maintainer upload. * Fix build failure with GCC 4.7. Closes: #667123. -- Matthias Klose Wed, 30 May 2012 04:35:06 +0000 btanks (0.9.8083-3) unstable; urgency=low * Fix FTBFS with gcc-4.6. (Closes: #624916) + new patch: gcc-4.6.patch * Use dpkg-buildflags and hardening-includes to set compiler flags. * debian/control: Use Breaks instead of Conflicts. * Bump Standards-Version to 3.9.2. * debian/control: Remove DM-Upload-Allowed. * Update my email address. -- Ansgar Burchardt Tue, 10 May 2011 08:21:56 +0200 btanks (0.9.8083-2) unstable; urgency=low * Fix build failure when building only arch-specific package. * debian/control: Add DM-Upload-Allowed: yes. -- Ansgar Burchardt Sun, 17 Jan 2010 00:02:57 +0900 btanks (0.9.8083-1) unstable; urgency=low [ Ansgar Burchardt ] * New upstream release. + Update debian/copyright. * Switch to source format v3 and drop b-dep on quilt. * debian/rules: Use override_* rules. * Bump Standards Version to 3.8.3 (no changes). [ Gonéri Le Bouder ] * Use source format v3 to store html.tar.uu content directly in debian/ directory * doc is in btanks package, Move btanks-data.doc-base to btanks.doc-base - add a conflicts against btanks-data << 0.9.8083-1 * Add myself in Uploaders: -- Gonéri Le Bouder Sun, 10 Jan 2010 02:25:17 +0100 btanks (0.8.7686-2) unstable; urgency=low * Do not use the CURRENCY_SYMBOL identifier in mrt/tclUniData.c. This should fix the build failure on alpha. + new patch rename-currency-symbol.patch -- Ansgar Burchardt Tue, 17 Feb 2009 00:16:17 +0100 btanks (0.8.7686-1) unstable; urgency=low * New Upstream Version (Closes: #490792, #496997) + Get available resolutions from the SDL (Closes: #440737) + New sound backend (Closes: #440897) * Refresh remove_default_optimizations.patch * Remove btanks_gcc43.patch (applied upstream) * Rewrote debian/rules to use debhelper 7 * Change description for btanks-data * Add myself to Uploaders * Convert debian/copyright to proposed machine-readable format and update for new upstream release * Bump Standards Version to 3.8.0 (no changes) -- Ansgar Burchardt Sun, 21 Sep 2008 19:11:19 +0200 btanks (0.7.5800-2) unstable; urgency=high [ Barry deFreese ] * btanks_gcc43.patch - Build with gcc-4.3. (Closes: #470980). [ Alexander Schmehl ] * Adjusting build-depends for dh_icon * Set correct doc-base section -- Alexander Schmehl Mon, 07 Apr 2008 23:38:08 +0200 btanks (0.7.5800-1) unstable; urgency=low [ Barry deFreese ] * New upstream release (Closes: #449455) * debian/docs - remove about_us.txt File no longer exists * Add watch file * Remove XS- prefix from VCS fields in control * Remove Homepage from package descriptions * Add myself to uploaders * Bump Standards Version to 3.7.3 * Add build-dep on liblua5.1 for new release * Change menu section to Games/Action * Add -l$(CURDIR)/debian/btanks/usr/lib/btanks to dh_shlibdeps [ Simon Ruggier ] * rules: add call to dh_desktop in the binary-arch target * menu: change section to Games/Arcade, which exists in the menu spec * btanks.desktop: add ArcadeGame to Categories + remove deprecated Encoding key [ Paul Wise ] * Call dh_icons to update icon caches * Improve the description for the data package * Clean up the watch file * Drop ${shlibs:Depends} from data pkg deps -- Barry deFreese Sun, 07 Oct 2007 22:32:28 -0400 btanks (0.5.4740-2) unstable; urgency=low * Corrected btanks-data.doc-base. Wrong mention to other package. -- Miriam Ruiz Fri, 24 Aug 2007 09:47:46 +0200 btanks (0.5.4740-1) unstable; urgency=low * Initial release (Closes: #434740) -- Miriam Ruiz Sat, 04 Aug 2007 17:16:13 +0000 debian/html/0000755000000000000000000000000011761547306010144 5ustar debian/html/mine.gif0000644000000000000000000000261311322227611011550 0ustar GIF89aAAor?k`f532 ͋Y)fηi:tg\عqJbTpM/IdԫSy5Ʒ|K5,(禗`_)Ótŏ$]Ԥۤ1zPY/_C:'>Hڙ 0h>}rã_zN!,AA@pH,Ȥrl:ШtJZجvzxL.4-%wA99{C69'8# $<'+0 9? 93z"&1 11< {6 &4$ܣ}?#?95)BXX{ X*)4!p D!* hP%†% !$@ۥ4qZT(xā8P!D L !A?0u: ShX@ p`QIwp 99 D).Xhǡb@e $@ 0L& àcLOÂ!/ ÚwnH!B_oP;gĊQ/1H(8m‡ Hy:LdRh0, v`a `_ w{*8S ,Y `PAiqӣBp 1`%1Ea @)0)gqFB@*P,w6&cE5ʞN0\MekV;4ׁ >ǃ0f=ARO2 ;U;,b+Ce*PjUp:#@;i )R7 HEDBVP6a3Y f!t4eL W0 gH;debian/html/dirt-fire.gif0000644000000000000000000000224711322227611012510 0ustar GIF89aAAɹ\BX<dZɦju){5r`BlIwX㨉Iok\{TҶ^Q2}MvQ~b$ͨQj$jO6` Z\k׽¯qNNnN >r:ģgFsZ$~[i4ͮ}WeI ܐlE/bF iIɾu0YEq#~+!,AA@pH,Ȥrl:ШtJZLL25 e-cF1GAfRtbxe2)) 8]4 5 >]1 )$^>]6  #]6Xw^4R#$"$'+1D+' "  /:3*\LwX (- :%-%( H+$1]N@ .!u170\Q+:|XĂ #B^F"Vl!A%&]q ^pg^ЁG#WNt$:|0!^ &c##a@ CfWUd2D@=x\5 6|4l\1GT0A+h@<0ISO /X 0|L  tH#g UP6AAs,P4  _=ZDA Bi D0 -t* T ='N, )* C GJ{ n hD/O,ħB`O|_bk \j)Mdo6P@  pKr$85B+0@ºO$J)l"W 1MpIA}F Bk **#Q0"\/,jc* ¯ K C[ G4@(-`E211@k*v`+o,l' 7A;debian/html/cannon-fire.gif0000644000000000000000000000273711322227611013026 0ustar GIF89aAA5qJhаohh`׸Inu8ν-(ɲPmũӽɤއǍ“\rPG ӵIHtа)0C  !K%NJАB (NHG+Pkrc<`L% C< E \JPZ UN7 0>A(0 #A7 \0 )A!0B[oA 9Q Y"Wp00B 8@/8U@/LpE6.#t'0H+Zp<@A:@~!GʰA5 $ }x@v m,;<@ B \ cX`,Њ-,pA`&Aj3Qv7_ 1K(TAm'_^IafTu޶X Ur܍]yUęQmgJ|j,&Edڅ *CE1}\ΚpW as`t pPmj:x`@H"86@ (@@E8p@|[Pb hgOd% D+YHX@Y}cpuEu0 б5p#;debian/html/tank-small.gif0000644000000000000000000000137511322227611012667 0ustar GIF89a/r(\L. E-ua5.5IzGWH4%iJUQ4[sP2Y'mg9wiRR D]B{;p)itc`8xeSGfNŹoU1vl妧TXDFn8pm@ ]d;ѡ]aBZ_ZMRbWB;!D82T_./5!,@pH,r9pRL櫨>J'XSiADA x7  8h!CCB4&$ ,>A$F pA8Bh0t\(n|A;2aH0|p/ TF g.H@8Zhp@%~zr!ß>AqTiw a6#D8 4F}ڥg1D &Z͡ x) Y4@ae`C55L)"ϊ0^;debian/html/machinegunners.gif0000644000000000000000000000242011322227611013622 0ustar GIF89aAA蕖M%H~ -t.ʶssumhRYJSwT4629/&U/,h9iMs km8xIFWCG;[# *htyK%>UaeX3W Vh!HTl$"OifGWG'o f~5;4C"{DZ. !,AA@pH,Ȥrl:ШtJZجvzxL6 ӂ LE%4J-wE }2G2 8EiEB0|D: 'C  z -E"'|2x %*" (4; t&&( +8-ثJ!&B[a 2HBV:*` %,h(! N:p $XP"?bZ  *H8B \zEPWHX/X qk%!Z|Q'w DȻ@[ Ծhͨc\A@x-;5 tzw[ ZAI-  pb Rc*6x8;DPd3 Az 'h]: cZB<^g  Sz0`x( F^p0 u0ЌxǍ Ha%XԈ.0B 5d' l!\JA$ /lyt^@ x^yDad'AK,= `fX`6#2v@H9tp;(`"`C9Q$R:t4,uՂ=!FŁ(h-n.VN1@@3̐ B Rr(bͧ;岀P  %l+-P , jap@xRF : *`O|(:o!o < !䀀 rѮڕbWNcŀA 0B9 sG'",W V0 0]eQOc"GQќbȠ`{#7Rz9[gbD= 0.ѕlDI >їӃ3-`c #HNo@N7G/Wo;debian/html/launcher-small.gif0000644000000000000000000000135711322227611013533 0ustar GIF89aow8Ll h*o K6X{DodkUj'g:#?U #55RY-Z'BQ2LgOu4o}vg1L'y'GqSjnOەjW<oI !V 5JBaD|j,['[xx[Iw~fo gT]I_*D:JD3^50)++/)0B!5!8-. .7B6  .lb4`栁C|&`A$tX톂:l`G9$>#Æ 4{[Ñ ZP@ǂyRC ֨8X#`A Z"L 6 Tઢ8p qg|.h&+' Ò6 Dxl 48`Mp1@1a V UBƶ,G PqIvhJx`x8WXTqAĠ!Gp\~a`7 pr: Z4 { !O8A`;debian/html/missile-stop.gif0000644000000000000000000000205111322227611013244 0ustar GIF89aAA蓔 P]e ]Y`b|ZRmpi R yɾ+6SRQ$%GOqPG&G42HIj#6i$nnV\B*26WiI7A3.Q/.*4]caBHws2S4w~t5#^"D/i YEA!,AA@pH,Ȥrl:ШtJZجvzxL.zn+xRq+ᡆCvx //|uk11|  gp-y5 9>% btq!y485:1^z/."*  ?[м148"3'*.ZԄ6 7T΁2Y 00}Hb$tBaH|a0PG rvz(e^ ΜP(P|Јh;a 1*ԏYҡ )H,∾E`#>,Э~XZ4E]`q"ీ$V :| 녀wa|H@ 1 YO@SPb7r15$XDP\&!@/^1 ƙ+[2 A"׊\0cg>`E 8D;8 ֓fIl1 \x=`du#G  *&d,̠Hx]` PhJJ 5cZpT0 a7@ou)Ո M Q-Au~: `+Ea] `-&&Nd+E`*#Dd}u 29t \]v3Hj*p`e\ǀgNky* (7F @=Y{h ! xC@~ Y͝A6 d`ޠw 5X6m DW&$`6!6@I \TS<R/-Z`@.0ÅA/t䆅 K(C ,oB1?d))e1PdP 8P0VXc d݇)7-,f -(@W> F.2xT#(@zB!@  Pn |-{؀A 5z1D /kpC}N3IIdl}" ,pZ@^|+0[ p:nO> PCR =i/  x@qPX/bP0pb A[3 \Ѕ 0`D10 . @ 8a(`30g! ;:n}l*@aLBBڦ.oí`i+CJ2P` (@  0`t/ 2 88'e>i,r.U%[pCcXq1gw/G;debian/html/shilka-small.gif0000644000000000000000000000136311322227611013202 0ustar GIF89a\O0jXW*0,uĸ6Ry%guR.'XC%ZWQ'm;isYxEw2VB VI5l?ryi TI:s%r@f'79I 7V*mm a wV{E$+9)NaEb;58 ,9DI;r!,@pH,Ȥr't3 ui P@ZɈ&8 0ȃ mС C1&L{xAEU:D Ql L$#xpxy#~X(2;debian/html/index.html0000644000000000000000000004634711322227611012142 0ustar Battle Tanks

Battle Tanks!

"Battle Tanks" is a funny battle on your desk, where you can choose one of three vehicles and eliminate your enemy using the whole arsenal of weapons. It has original cartoon-like graphics and cool music, it's fun and dynamic, it has several network modes for deathmatch and cooperative - what else is needed to have fun with your friends? And all is packed and ready for you in "Battle Tanks".

Features:

  • Multiplayer
    "Battle Tanks" is a multiplayer game in the first place. Network game and split screen mode are available, and also a mixed mode is possible, when two players use split screen on the server computer, and others connect via LAN.Two modes are possible: deathmatch battle and cooperative game.
  • Cross-platform
    "Battle Tanks" is cross-platform. Both Windows and Linux fans are welcome on the battlefield where they will settle their quarrels in the name of weapons.
  • Free distribution and open source
    The multiplayer version is licensed under GNU GPL. This means two things. Firstly, it doesn't cost anything for you. You can download it for free and share with your friends, with no preliminary or future fees. And secondly, the full source code of the game is available, so any guy who knows C++ can poke his nose there and probably find some surprises that developers have prepared for curious fans.
  • Old-school oriented
    Builders of "Battle Tanks" love these good old arcades of the past century. So they have tried hard to implement everything best of these old arcade games.

Performance characteristics:

  • Three vehicles: tank, Shilka, and rocket launcher. Each vehicle has its special features.
  • Lots of weapons: four types of ammo, six types of rockets, landing troops, mines, and so on.
  • Ten multiplayer maps (seven ones for deathmatch and three ones for cooperative mode) in different locations such as city, village, forest, desert and so on.
  • Game world that reacts on player. Roads have traffic, buildings can be destroyed, weather effects are simulated...
  • Lots of war objects: troops, vehicles, helicopters and other.
  • Keyboard and gamepad are supported.

Weapon list:

1. Ammo

Gun is the main weapon of tank and Shilka. Guns don't require ammunition, but their piercing ability is much lower that one for rockets.

"Eternal fire" type tank shell
Cannon

Type shell that is shipped with tank and Shilka. The gun on Shilka is faster that one on tank, but each hit does less damage.
Guns have infinite ammunition.
Primary weapon

Shell with laughset focal point
Ricochet

The main feature of the shell with laughset focal point (also called shell with uncertain orientation) is bouncing from obstacles. This shell is good for urban battles, also it will help when shooting an enemy that has covered behind something solid or impenetrable. The disadvantage of this model is that you never know where it will bounce.
Primary weapon

Explosive shell
Dispersion

The explosive shell is also known as Matreshka shell. Inside the jacket of this shell, several small shells are nested. A small time after the shot, the matreshka opens, and nested shells spread in different directions. Each hit causes relatively small damage, but large area is covered. This model is intended for use against enemy crowds. It is ineffective in close face to face duels.
Primary weapon

Dirt gun
Dirt

Dirt gun is invented by crazy agronomists. By the aid of concentration of energy in near-surface layers, nano-wave fluctuations cause temporary inversion of field. Lower layers are found on the top, thus introducing a short-time effect of plowing the surface (this is broadly used during the sowing campaign). In battle, the dirt gun can be used for making dirt spots of reduced passability. Enemy troops and vehicles suffer loss of control and speed in these plowed areas.
Primary weapon Secondary weapon

2. Rockets

Rockets are large, so number of rockets that a vehicle carries is limited. Rockets are main weapon of rocket launcher.

Homing missile
Guided missile

Homing missile is a type weapon and is shipped with rocket launchers. It can also be used on tanks as a secondary weapon. After the launch, the rocket finds a target and guides its flight by its own. Unlike the heat-aimed rockets, this model detects delta waves emitted by human brains, and thus can be used against troops and manned vehicles. Unfortunately, this method of detection ignores androids and intellectually challenged individuals.
Another disadvantage is that rocket doesn't avoid obstacles (avoiding function is announced in the next stable release of rocket drivers binary).
Primary weapon Secondary weapon

Uncontrolled rocket
Dumb missile

This is a Dumb-fire modification of the type rocket that can be equipped as a secondary weapon. At the expense of electronics, explosive charge and velocity are increased. Due to its high velocity and high damage caused, this rocket is very good for making fire barriers, destroying enemy weapon emplacements, and in face to face battles.
Primary weapon Secondary weapon

Boomerang rocket
Boomerang

Boomerang rocket is an accidental modification of the homing missile that has been found after beta drivers were installed from a damaged CD on some test rocket. On ground tests, that rocket introduced a non-typical behaviour: it didn't select a target after the launch, but just circled around the launcher, following an elliptical trajectory. Nobody can explain still why the rocket does that; however boomerang rockets have been approved and are produced on the line now. They can be used for defense; also boomerang rockets are effective in close battle.
Primary weapon Secondary weapon

Gas rocket
Smoke missile

Gas rocket is stuffed with toxic and radioactive wastes of fragrance industry. They are prohibited by Geneva Protocol because of their incredibly disgusting and beautiful smell. A humanoid that has inhaled the gas suffers convulsions, sialorrhea, retching, diarrhea, and dies with happy smile on face.
The gas rockets are perfect for eliminating troops. In multiplayer, they scan be used for making smoke screens.
Secondary weapon

Stop-rocket
Stop-missile

This homing missile is filled with artificial viruses-malicious nanorobots. When a rocket hits target, viruses clod between tracks of tank caterpillars, raise pressure of braking fluid in hydraulic systems, and cause temporary paralysis of lower extremities of humanoids. However, these viruses don't affect functioning of weapons systems and other organs of humanoids; side effects or contra-indication are unknown. Stop-rocket does not inflict damage, but it's a great secondary weapon that is very effective if combined with explosive or bouncing tank shells, homing missiles and machine guns.
Secondary weapon

Nuclear missile "Pure Thermonuke"
Nuke missile

This 15 kilotons nuke is the most destructive weapon in the game. It destroys everything in range of explosion, and using or thermonuclear reaction guarantees that radiation pollution will be negligibly small. So the ground can be used just after the enemy is vaporized by the heat of nuclear blast.
Secondary weapon

3. Preserved landing force

Five fully equipped troops are frozen and GZIPped into standard rectangular bricks. Before refrigeration, each trooper is prepared using special hormons and steroids, and can be used in action after quick microwave-aided defreezing. Shipped in two versions with machine guns and handheld rocket launchers.

Machine gun trooper
Machinegunners

The trooper takes a position and fires the enemy objects (including missiles). 16 directions of fire are available.
Shilka lands MG troopers for support. Thanks to their high fire rate and mobility, MG troopers can defend a vehicle against enemy missiles.
Secondary weapon

Rocket trooper
Throwers

The trooper takes a position and fires the enemy objects (NOT including missiles). 8 directions of fire are available. Shilka lands rocket troopers for support. Due to their fire power, rocket troopers are good for attacking the enemy.
Secondary weapon

4. Other weapons

Other weapons include mines and MG turrets.

Mine
Mine

Mines are effective equally against troops and vehicles. They have winning appearance, and are easy to install and use.
Using of mines allows unique and great tactical opportunities, both in single missions and deathmatch. Routes, respawn points, hidings of weapons - everything can be mined. Remember that the mine is invisible if covered with dirt or smoke!
Secondary weapon

MG turret
Machinegunner

MG turret is a primitive robot that shoots everything that is moving. Some turrets are shipped with "ally-enemy" recognition system. In stationary version, MG turrets can be used for automated security systems. Mobile versions can be mounted on rocket launchers. 16 directions of fire are available.
Primary weapon

Frequently Asked Questions (FAQ):

How to play? Eh?
Oh, that's easy: cursor arrows move your vehicle, Ctrl fires, and Alt fires as well, but with alternative weapon. Those are defaults, but you can redefine keys in "Options" - "Redefine keys".

What do "Single player", "Split screen player 1", and "Split screen player 2" options mean?
The game supports a split screen mode - two players can play on the same computer. "Split screen player 1" and "Split screen player 2" options are provided for this split screen mode. Control keys for players can be redefined on "Redefine keys" screen. And joysticks are also supported!

Fog of war (hardcore difficulty) - what's that?
This mode is onl available on screen resolutions that exceed 800*600. When it's on, the player will only see the enemy when they are really close.

I've started the game and don't know what to do!
On map selection screen, a tactical map is available - just click on map info box to see it. The tactical map provides some useful info on how to complete the mission. Help tips will give you more help right in action. Also, the radar (M key) marks mission objects with crosses.

I'm out of ammo! Help!!
Gather small UFOs spreaded across the map - these contain very useful things like health, ammo, or weapon upgrades. BTW, you might be interested in full guide on weapons.

I'm stuck in some fence or bush and can't move! What can I do?
Well, sad but that's possible. Specially for stuck players, we have designed a self-destruct system that is activated by pressing F12 key. Desctruct yourself, and you'll respawn on the last checkpoint.

The pass is blocked with houses and fences!
Many (but not all!) fences and houses can be destroyed, just keep shooting them for some time. After you've inflicted enough damage to the obstacle, you'll see the hole that you can drive through.

I saw an unoccupied tank there... Can I drive it?
Unoccupied vehicles can be found on all maps. And yes, you can drive them. To get into another vehicle, first leave your current one by pressing F1, and then just run into the other one - your trooper will board the empty vehicle automatically. And remember that you can also occupy civilian transport!

How to drive a vehicle of another type?
When you choose a map, there is a panel at the right side where you can choose a vehicle. And also you can choose the vehicle in action.

How to enable split screen mode?
When choosing a map or joining a network game, see a Split Screen selector at the top of the screen. Turn it to Yes to enable split screen mode.

How to play via network?
First of all, start the game on one machine. That will be server. When starting the game, keep some players slots empty, and remote players will be able to join the game and occupy these slots. On remote machines, choose Join a game in the main menu and type in the server host (that can be IP or domain name); you can also click Add to store the address in the list. Then click Join - and you will enter the game if there are empty slots on the server.

How to see network game stats?
Press "Tab".

Can I play in split screen via network?
Sure. On server machine, choose Yes in Split screen mode selector, as explained above.

Can I help the developers?
Yes of course! Please report all bugs or problems using our bug tracker; and share your game experience with us in this blog.

And we will gladly accept your translation of the game (and the website, including this page!) to any new language (currently we have Russian, English, German and French ones).

And the simplest way to help the project is making a donation - our developers are always hungry!

I am a representative of... Umm... Well, I have an offer for your team.
All your valuable ideas and offers are welcome. Please contact Alexander Wagner at wagner@netive.ru.

Credits:

Programming:
Vladimir "Whoozle" Menshakov.

Graphics:
Alexander "Methos" Wagner.
Level Design:
Vladimir "Private Face" Zhuravlev

Something resembing music:
Vladimir "Petrovich" Volkov.

Sound Effects:
Leonid "Dark Matter" Volkov.

Netive Media Group. (c) 2006-2007

debian/html/missile-smoke.gif0000644000000000000000000000200511322227611013374 0ustar GIF89aAAĺ==<%%%kkj||z\][ddcttrɂMMMļTTSEEEٓxxu``_칹qqq}QQOXXW332hhgnnm!,AA@pH,Ȥrl:ШtJZجvzxLp˶z6:Xl'5&m3|zstv&1. 02p{o|el2&0 ;0nL^25+; &' &;));/$EMJv) 1/$ >1|Ip|+= - =YHn5.%Jx .k ;ة!GT0! FdH hP 2NJvwV؆# *4p..l!QEN"r(؈la25; , ,H8la;&J <8!McKp D|@]:U(0]"()|4s ǂF B d $h13`x#b9Р %h bU\SX(|zpX90N;C41u{.]Qs2xƛǞ'Zc$a&by9Qѝ;>&?s;o]!,AApH,Ȥrl:ШtJZجvzp g,8VN:rtbxEn{<}  ; *a <|<(33 (@"20rA ^tJ,O`b Cz` B' U}R 06\f `WȘ+.L@ &h`aU>@2A9!i-@ōk0 ! t{ ܚ[kFТ!v,!#Ft(ʤop~X@x4 $ `(E d ڠ~ pC$yVAM Syʵ<]q@PUׁfH25 p ܀p`AZ{wy0LPeA^tJ"A@@H܀ YY8fC=wFf9uX`!LfA ˹9y9BV Cc1Y,.2gFY@N Rى_hpD\!&|_V3 ߝ3РO Ĕg^pBxPjBE BxQ\H_\о PK hA} \@ MV4m.8' T|C!@ /"P)0BYe w20 $hO`@ .|K #p(PHM^vPP;DL4h$!ܹy| &VZsm `נd !p 0ͨ2(uX&pbPmm}'`MՀ|:!ܣn u@ >6.00340c+谙 þt}F!-\k 﫶K,,SW}B'Vy_X`v}~_ppKuS}(޻648~2 ~:᪃A`8@N-8嶌slR.`:`=rNz  GEz.V2` cʪ .E.}INhq݋a M1Dnq$@![ ܉(1~R%ǕRB>`hٲM!PD(G+a:A6A7iaC!pLd:Ќ4IjZ;debian/html/missile-dumb.gif0000644000000000000000000000155311322227611013214 0ustar GIF89aAA9,VWaQt*dTtvtnLLRǼ_ oiLNn3G432E6Ֆ8J.8x bV;8;T&o$Xeyӽy4[ &Z;W`av}HPb/!,AA@pH,Ȥrl:ШtJZجvzxL.4PKٰ8f:⛍BGwz44|0F C55 4u9;3">7 :/n9" 2  %:1jŷ"'2?% /i'' 8 h&&2 4:e&0@(aCqr"8@8 ~ `!@8rR!h-#&&X.GϞj0bBH0঍ zJ(#0=tr1u*Sg @ Ԁ. @7͐APK D@@Bc5rJ2 0d( dIA q|ЀL&@Fjt"w|矀*蠄j衈;debian/html/missile-boomerang.gif0000644000000000000000000000150111322227611014227 0ustar GIF89aAAd\#*ĹvʤxxoyuL混Ts|R&P|'Ķ߯n%Ma`UqФ0ƾr7Κ㇇ì期ޤG!,AA@pH,Ȥrl:ШtJZجvzxL.zn|NW.=~yo|/3 /{e|3'44 41664c  (&&$ 'a77 %4885= `34 θ275; ""!!=,`.3P@)T B уE z8 a B  6Բ@`#>TE.g<8y СA#8HePb$EN VА FX* :. SYlah @%d q >q\^eĉs4EEڨ:PQ`@ JD;Q7|0)lDP`!? ˽W l\Ph X!^kY\тlG8F%. BmB{ITPƬ ^3 SPOlhwN: p/DUmu q p/ 2Hr sHz QViXf\v`)difA;debian/html/dispersion-fire.gif0000644000000000000000000000302011322227611013713 0ustar GIF89aAAȱu[/XXR($ `oбbӯDr:мj䶀PdTʑمҿiM#ʤtNB—]ӶYR4i-:4&Ӕx˼-ŰϧLØ{ťtռxNއ\0˳Qycd%ueByxn!,AA@pH,Ȥrl:ШtJZجvzw<31$cgf$8 ّ8Ǖ%!!w.jBvHs!3B5-5 1I!$!%B1{F)??pc!( ?5+B!Џ[1s;01* ލC3$^% >&4" 6 4B4\ bÉ 4cF*\(8  #ބa„$ y(d,H 0'nz@ŋ(jB<MJyf(HL  X=0B+?ep! 'T@`E-NDSA EN@\ t'h)D1 \pE$%J`P6:Q^,Hj # 8ܠB0hla c+50i  0LZD,`00@yp (B:@ F^ yA H@C >Xb_| U-A  *z!UgHp"ܰC- ;E  G\d 5@C\y-.t #I D`,TCP\P7\)h,,0)P#'>P XJP;0&#\@ 68*V W&`d-u*0C |u\()r. !9@#:!n<ꂁ p*,mtJ 0A4)h h`C =( lb H@A$ 0Ls@ZNt S < DQ URk~ Date: Mon, 16 Feb 2009 23:55:40 +0100 Do not use CURRENCY_SYMBOL because it is already defined in /usr/include/langinfo.h. This should fix the build failure on alpha: g++ -o build/release/mrt/utf8_utils.os -c -Wall -g -g -O2 -Wall -g -Wall -g -Wall -pedantic -Wno-long-long -pipe -pthread -fPIC -Wall -pedantic -Wno-long-long -pipe -pthread -DUSE_GLSDL -DV3_DISABLE_Z -D_REENTRANT -DRELEASE -DPREFIX="\"/usr\"" -DRESOURCES_DIR="\"/usr/share/games/btanks\"" -DPLUGINS_DIR="\"/usr/lib/btanks\"" -DMRTAPI=DLLEXPORT -I. -Ibuild/release/mrt -Imrt mrt/utf8_utils.cpp In file included from mrt/utf8_utils.cpp:21: mrt/tclUniData.c:883: error: conflicting declaration '__CURRENCY_SYMBOL' /usr/include/langinfo.h:360: error: '__CURRENCY_SYMBOL' has a previous declaration as ' __CURRENCY_SYMBOL' scons: *** [build/release/mrt/utf8_utils.os] Error 1 --- btanks-0.9.8083.orig/mrt/tclUniData.c +++ btanks-0.9.8083/mrt/tclUniData.c @@ -881,7 +881,7 @@ FINAL_QUOTE_PUNCTUATION, OTHER_PUNCTUATION, MATH_SYMBOL, - CURRENCY_SYMBOL, + MY_CURRENCY_SYMBOL, MODIFIER_SYMBOL, OTHER_SYMBOL }; debian/patches/gcc-4.6.patch0000644000000000000000000000255611562057232012712 0ustar From: Ansgar Burchardt Bug-Debian: http://bugs.debian.org/624916 Subject: Fix FTBFS with gcc-4.6 --- btanks-0.9.8083.orig/engine/sl08/sl08.py +++ btanks-0.9.8083/engine/sl08/sl08.py @@ -152,8 +152,8 @@ class Generator(object): typedef base_signalXXX %s signal_type; typedef return_type (object_type::*func_t) %s; - inline slotXXX () : object(NULL), func(NULL) {} - inline slotXXX(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {} + inline slotXXX () : object(0), func(0) {} + inline slotXXX(object_type *object, func_t func, signal_type * signal = 0) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); } @@ -187,7 +187,7 @@ class Generator(object): typedef base_signalXXX %s signal_type; typedef void (object_type::*func_t) %s ; - inline slotXXX () : object(NULL), func(NULL) {} + inline slotXXX () : object(0), func(0) {} inline slotXXX (object_type *object, func_t func) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); } debian/patches/remove_default_optimizations.patch0000644000000000000000000000107511755374322017644 0ustar From: Miriam Ruiz Subject: Remove default optimizations --- btanks-0.9.8083.orig/SConstruct +++ btanks-0.9.8083/SConstruct @@ -98,9 +98,6 @@ if debug: env.Append(CCFLAGS=['-ggdb', '-D_FORTIFY_SOURCE=2']) env.Append(CPPFLAGS=['-ggdb', '-D_FORTIFY_SOURCE=2']) - else: - env.Append(CCFLAGS=['-O3']) - env.Append(CPPFLAGS=['-O3']) env.Append(CPPFLAGS=['-Wall', '-Wno-deprecated', '-pedantic', '-Wno-long-long', '-pipe', '-pthread']) env.Append(CCFLAGS=['-Wall', '-Wno-deprecated', '-pedantic', '-Wno-long-long', '-pipe', '-pthread']) debian/patches/gcc-4.7.patch0000644000000000000000000003211011761546505012707 0ustar From: Vincent Legout , Matthias Klose Bug-Debian: http://bugs.debian.org/667123 Subject: Fix FTBFS with gcc-4.7 Index: btanks-0.9.8083/engine/sl08/sl08.h =================================================================== --- btanks-0.9.8083.orig/engine/sl08/sl08.h 2012-05-30 06:48:55.924037180 +0200 +++ btanks-0.9.8083/engine/sl08/sl08.h 2012-05-30 06:58:12.832049763 +0200 @@ -92,11 +92,11 @@ typedef base_signal0 signal_type; typedef return_type (object_type::*func_t) (); - inline slot0 () : object(NULL), func(NULL) {} - inline slot0(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {} + inline slot0 () : object(0), func(0) {} + inline slot0(object_type *object, func_t func, signal_type * signal = 0) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } - inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); } + inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; this->connect(signal_ref); } inline return_type operator() () const { return (object->*func) () ; @@ -114,10 +114,10 @@ typedef base_signal0 signal_type; typedef void (object_type::*func_t) () ; - inline slot0 () : object(NULL), func(NULL) {} + inline slot0 () : object(0), func(0) {} inline slot0 (object_type *object, func_t func) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } - inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); } + inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; this->connect(signal_ref); } inline void operator() () const { (object->*func) (); @@ -267,11 +267,11 @@ typedef base_signal1 signal_type; typedef return_type (object_type::*func_t) (arg1_type a1); - inline slot1 () : object(NULL), func(NULL) {} - inline slot1(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {} + inline slot1 () : object(0), func(0) {} + inline slot1(object_type *object, func_t func, signal_type * signal = 0) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } - inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); } + inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; this->connect(signal_ref); } inline return_type operator() (arg1_type a1) const { return (object->*func) (a1) ; @@ -289,10 +289,10 @@ typedef base_signal1 signal_type; typedef void (object_type::*func_t) (arg1_type a1) ; - inline slot1 () : object(NULL), func(NULL) {} + inline slot1 () : object(0), func(0) {} inline slot1 (object_type *object, func_t func) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } - inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); } + inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; this->connect(signal_ref); } inline void operator() (arg1_type a1) const { (object->*func) (a1); @@ -442,11 +442,11 @@ typedef base_signal2 signal_type; typedef return_type (object_type::*func_t) (arg1_type a1, arg2_type a2); - inline slot2 () : object(NULL), func(NULL) {} - inline slot2(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {} + inline slot2 () : object(0), func(0) {} + inline slot2(object_type *object, func_t func, signal_type * signal = 0) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } - inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); } + inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; this->connect(signal_ref); } inline return_type operator() (arg1_type a1, arg2_type a2) const { return (object->*func) (a1, a2) ; @@ -464,10 +464,10 @@ typedef base_signal2 signal_type; typedef void (object_type::*func_t) (arg1_type a1, arg2_type a2) ; - inline slot2 () : object(NULL), func(NULL) {} + inline slot2 () : object(0), func(0) {} inline slot2 (object_type *object, func_t func) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } - inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); } + inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; this->connect(signal_ref); } inline void operator() (arg1_type a1, arg2_type a2) const { (object->*func) (a1, a2); @@ -617,11 +617,11 @@ typedef base_signal3 signal_type; typedef return_type (object_type::*func_t) (arg1_type a1, arg2_type a2, arg3_type a3); - inline slot3 () : object(NULL), func(NULL) {} - inline slot3(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {} + inline slot3 () : object(0), func(0) {} + inline slot3(object_type *object, func_t func, signal_type * signal = 0) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } - inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); } + inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; this->connect(signal_ref); } inline return_type operator() (arg1_type a1, arg2_type a2, arg3_type a3) const { return (object->*func) (a1, a2, a3) ; @@ -639,10 +639,10 @@ typedef base_signal3 signal_type; typedef void (object_type::*func_t) (arg1_type a1, arg2_type a2, arg3_type a3) ; - inline slot3 () : object(NULL), func(NULL) {} + inline slot3 () : object(0), func(0) {} inline slot3 (object_type *object, func_t func) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } - inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); } + inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; this->connect(signal_ref); } inline void operator() (arg1_type a1, arg2_type a2, arg3_type a3) const { (object->*func) (a1, a2, a3); @@ -792,11 +792,11 @@ typedef base_signal4 signal_type; typedef return_type (object_type::*func_t) (arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4); - inline slot4 () : object(NULL), func(NULL) {} - inline slot4(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {} + inline slot4 () : object(0), func(0) {} + inline slot4(object_type *object, func_t func, signal_type * signal = 0) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } - inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); } + inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; this->connect(signal_ref); } inline return_type operator() (arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4) const { return (object->*func) (a1, a2, a3, a4) ; @@ -814,10 +814,10 @@ typedef base_signal4 signal_type; typedef void (object_type::*func_t) (arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4) ; - inline slot4 () : object(NULL), func(NULL) {} + inline slot4 () : object(0), func(0) {} inline slot4 (object_type *object, func_t func) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } - inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); } + inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; this->connect(signal_ref); } inline void operator() (arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4) const { (object->*func) (a1, a2, a3, a4); @@ -967,11 +967,11 @@ typedef base_signal5 signal_type; typedef return_type (object_type::*func_t) (arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5); - inline slot5 () : object(NULL), func(NULL) {} - inline slot5(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {} + inline slot5 () : object(0), func(0) {} + inline slot5(object_type *object, func_t func, signal_type * signal = 0) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } - inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); } + inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; this->connect(signal_ref); } inline return_type operator() (arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5) const { return (object->*func) (a1, a2, a3, a4, a5) ; @@ -989,10 +989,10 @@ typedef base_signal5 signal_type; typedef void (object_type::*func_t) (arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5) ; - inline slot5 () : object(NULL), func(NULL) {} + inline slot5 () : object(0), func(0) {} inline slot5 (object_type *object, func_t func) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } - inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); } + inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; this->connect(signal_ref); } inline void operator() (arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5) const { (object->*func) (a1, a2, a3, a4, a5); Index: btanks-0.9.8083/engine/sl08/sl08.py =================================================================== --- btanks-0.9.8083.orig/engine/sl08/sl08.py 2012-05-30 06:48:55.916037177 +0200 +++ btanks-0.9.8083/engine/sl08/sl08.py 2012-05-30 06:49:25.000000000 +0200 @@ -156,7 +156,7 @@ inline slotXXX(object_type *object, func_t func, signal_type * signal = 0) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } - inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); } + inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; this->connect(signal_ref); } inline return_type operator() %s const { return (object->*func) %s ; @@ -190,7 +190,7 @@ inline slotXXX () : object(0), func(0) {} inline slotXXX (object_type *object, func_t func) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } - inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); } + inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; this->connect(signal_ref); } inline void operator() %s const { (object->*func) %s; Index: btanks-0.9.8083/math/range_list.h =================================================================== --- btanks-0.9.8083.orig/math/range_list.h 2008-10-24 16:15:55.000000000 +0200 +++ btanks-0.9.8083/math/range_list.h 2012-05-30 06:53:15.232047856 +0200 @@ -53,14 +53,14 @@ return; } - typename parent_type::iterator i = lower_bound(value); + typename parent_type::iterator i = this->lower_bound(value); if (i != parent_type::end()) { if (i->first == value) return; if (value + 1 == i->first) { T e = i->second; - erase(i); + this->erase(i); i = parent_type::insert(typename parent_type::value_type(value, e)).first; //expand beginning i = pack_left(i); } Index: btanks-0.9.8083/mrt/base_file.h =================================================================== --- btanks-0.9.8083.orig/mrt/base_file.h 2009-04-04 22:28:59.000000000 +0200 +++ btanks-0.9.8083/mrt/base_file.h 2012-05-30 06:58:45.064050493 +0200 @@ -20,6 +20,7 @@ */ #include +#include #include "export_mrt.h" namespace mrt { debian/btanks.links0000644000000000000000000000011010662526753011516 0ustar usr/lib/btanks/libbt_objects.so usr/share/games/btanks/libbt_objects.so debian/btanks.manpages0000644000000000000000000000002111056624753012167 0ustar debian/btanks.6 debian/btanks.xpm0000644000000000000000000002234610662526753011221 0ustar /* XPM */ static char * btanks_xpm[] = { "32 32 451 2", " c None", ". c #020100", "+ c #030B02", "@ c #030703", "# c #2A1700", "$ c #3D2202", "% c #3A2001", "& c #563205", "* c #331A00", "= c #1D2008", "- c #476C3A", "; c #6A9666", "> c #4F8C45", ", c #1A3E09", "' c #061400", ") c #0A0500", "! c #281500", "~ c #341C00", "{ c #1B0E00", "] c #050200", "^ c #5E3704", "/ c #6A3F06", "( c #9D5E0A", "_ c #7C4C0C", ": c #6C3E05", "< c #2E4A1F", "[ c #87BE82", "} c #89BD85", "| c #417139", "1 c #4A7B44", "2 c #5B9A4E", "3 c #518847", "4 c #325C29", "5 c #161B04", "6 c #2A1800", "7 c #9C5C07", "8 c #623903", "9 c #7E4D0D", "0 c #7B4806", "a c #4D2E05", "b c #1C0E00", "c c #8A5002", "d c #653B03", "e c #8A5004", "f c #724407", "g c #334916", "h c #8AC187", "i c #7EC572", "j c #316420", "k c #559C47", "l c #76C867", "m c #73CA63", "n c #77CC69", "o c #76C967", "p c #376D26", "q c #1A3606", "r c #6A4205", "s c #5F3701", "t c #88550F", "u c #9A5C09", "v c #764605", "w c #593505", "x c #351D00", "y c #7C4700", "z c #673B00", "A c #8A4E00", "B c #382A03", "C c #6EAC65", "D c #8ACC82", "E c #4EA02E", "F c #1D470A", "G c #2E6817", "H c #439123", "I c #459524", "J c #489928", "K c #479529", "L c #245013", "M c #28630D", "N c #244109", "O c #4F2C00", "P c #814E0B", "Q c #9E5D07", "R c #673B03", "S c #6A3C02", "T c #172D11", "U c #1A3612", "V c #683B00", "W c #6C3D00", "X c #4D2A00", "Y c #3B2000", "Z c #23430D", "` c #8ED088", " . c #71C25F", ".. c #449420", "+. c #367D15", "@. c #194405", "#. c #143A03", "$. c #173D05", "%. c #173E05", "&. c #153B04", "*. c #205607", "=. c #317311", "-. c #285717", ";. c #284A16", ">. c #443205", ",. c #4F3E0A", "'. c #3E3C10", "). c #3D4B1C", "!. c #375F30", "~. c #498140", "{. c #549947", "]. c #62A557", "^. c #6BAB60", "/. c #6EB260", "(. c #5FB44A", "_. c #204910", ":. c #2C1800", "<. c #241200", "[. c #151404", "}. c #112607", "|. c #1D4A08", "1. c #78C96A", "2. c #62BC4B", "3. c #43921E", "4. c #42911D", "5. c #3C8917", "6. c #31790F", "7. c #2B700A", "8. c #2B6F0A", "9. c #31790E", "0. c #3B8816", "a. c #367916", "b. c #377225", "c. c #264E1C", "d. c #55A443", "e. c #6BB660", "f. c #79C970", "g. c #7ACC6E", "h. c #73BD61", "i. c #6BB556", "j. c #66B350", "k. c #5DAF43", "l. c #52A733", "m. c #499B27", "n. c #3E8C1A", "o. c #1E4F07", "p. c #211000", "q. c #1E2E0A", "r. c #599E46", "s. c #2B5C1F", "t. c #113601", "u. c #40822B", "v. c #5AB43F", "w. c #44931F", "x. c #41901D", "y. c #41901C", "z. c #43921D", "A. c #25550E", "B. c #163609", "C. c #1A3C0A", "D. c #3B831E", "E. c #347C16", "F. c #347E13", "G. c #368112", "H. c #358011", "I. c #368212", "J. c #388413", "K. c #388314", "L. c #378213", "M. c #337C10", "N. c #296E07", "O. c #143E00", "P. c #0B1605", "Q. c #67AE58", "R. c #82C479", "S. c #285A18", "T. c #216301", "U. c #113003", "V. c #387C19", "W. c #43931E", "X. c #42921D", "Y. c #2C6411", "Z. c #133901", "`. c #184A00", " + c #173908", ".+ c #2B5A1D", "++ c #14310B", "@+ c #0A2000", "#+ c #0A1F00", "$+ c #0B2300", "%+ c #0E2D00", "&+ c #123800", "*+ c #164600", "=+ c #194E00", "-+ c #0D2800", ";+ c #12270A", ">+ c #70BF62", ",+ c #6DC05C", "'+ c #255511", ")+ c #266B05", "!+ c #256606", "~+ c #143A02", "{+ c #1F4A0C", "]+ c #2F6913", "^+ c #3A8119", "/+ c #3F8B1C", "(+ c #408C1C", "_+ c #3E891A", ":+ c #347615", "<+ c #295E10", "[+ c #3D881A", "}+ c #2E6713", "|+ c #0D2503", "1+ c #2D601D", "2+ c #73CB63", "3+ c #2D5C20", "4+ c #0D2005", "5+ c #53A53A", "6+ c #4DA02D", "7+ c #2F6A13", "8+ c #235908", "9+ c #378412", "0+ c #368013", "a+ c #266309", "b+ c #1B4B05", "c+ c #163E05", "d+ c #173E06", "e+ c #163C05", "f+ c #163C06", "g+ c #1B4707", "h+ c #2C6B0F", "i+ c #43911F", "j+ c #4C9F2C", "k+ c #1E450B", "l+ c #448D2B", "m+ c #4FA231", "n+ c #1E480C", "o+ c #275912", "p+ c #307A0D", "q+ c #204D0B", "r+ c #357815", "s+ c #4B9E29", "t+ c #4CA02C", "u+ c #41911E", "v+ c #3D8A19", "w+ c #3A8617", "x+ c #388215", "y+ c #3B8718", "z+ c #42921E", "A+ c #4A9D28", "B+ c #58B03B", "C+ c #3B7D23", "D+ c #23530D", "E+ c #266B06", "F+ c #102601", "G+ c #0F0900", "H+ c #0A0B01", "I+ c #143C01", "J+ c #216302", "K+ c #296D08", "L+ c #1A4306", "M+ c #36751A", "N+ c #58B13D", "O+ c #5CB742", "P+ c #5CB641", "Q+ c #5AB33F", "R+ c #5CB441", "S+ c #63BD4C", "T+ c #67BF52", "U+ c #5CB445", "V+ c #34701D", "W+ c #194305", "X+ c #2A710A", "Y+ c #1B5301", "Z+ c #1E3300", "`+ c #5F3A00", " @ c #714102", ".@ c #844E07", "+@ c #703F00", "@@ c #372000", "#@ c #1A2B00", "$@ c #174A00", "%@ c #1C5C02", "&@ c #144101", "*@ c #1F4C0C", "=@ c #397A23", "-@ c #4A9634", ";@ c #519D3D", ">@ c #549B41", ",@ c #478C34", "'@ c #143606", ")@ c #0F3600", "!@ c #164201", "~@ c #1F3000", "{@ c #4B3300", "]@ c #8C5704", "^@ c #B9700D", "/@ c #B77214", "(@ c #4B2E09", "_@ c #AC6910", ":@ c #965602", "<@ c #A66004", "[@ c #8C4F00", "}@ c #7A4600", "|@ c #623C00", "1@ c #513F00", "2@ c #463900", "3@ c #382C00", "4@ c #2A2400", "5@ c #232300", "6@ c #212100", "7@ c #291F00", "8@ c #302500", "9@ c #402F00", "0@ c #5C3800", "a@ c #7A4500", "b@ c #884D00", "c@ c #A35E02", "d@ c #6B3E02", "e@ c #AA6913", "f@ c #74460A", "g@ c #AD6A11", "h@ c #704208", "i@ c #B97113", "j@ c #B66D0B", "k@ c #844B00", "l@ c #8E5000", "m@ c #905100", "n@ c #985701", "o@ c #894D00", "p@ c #955502", "q@ c #804800", "r@ c #9D5C06", "s@ c #814900", "t@ c #A56108", "u@ c #734204", "v@ c #B16909", "w@ c #5B3301", "x@ c #C17918", "y@ c #A06210", "z@ c #633B07", "A@ c #7E4D0C", "B@ c #AC6911", "C@ c #6C4008", "D@ c #B87113", "E@ c #553103", "F@ c #C07511", "G@ c #663900", "H@ c #9E610F", "I@ c #764301", "J@ c #A66712", "K@ c #703F03", "L@ c #B07118", "M@ c #5C3300", "N@ c #B97316", "O@ c #5F3501", "P@ c #B77318", "Q@ c #6A3E07", "R@ c #B26C10", "S@ c #573101", "T@ c #C37A19", "U@ c #673D06", "V@ c #9E5E0A", "W@ c #673E08", "X@ c #613A09", "Y@ c #9A5F0F", "Z@ c #734405", "`@ c #AA660C", " # c #5D3401", ".# c #B26E12", "+# c #965B0C", "@# c #6F3F00", "## c #A16311", "$# c #643904", "%# c #B46F14", "&# c #542F00", "*# c #B67012", "=# c #5B3300", "-# c #B67315", ";# c #663B05", "># c #AC670C", ",# c #512E01", "'# c #C37814", ")# c #683E07", "!# c #955604", "~# c #5B3604", "{# c #392001", "]# c #442602", "^# c #472801", "/# c #482801", "(# c #3C2100", "_# c #643B04", ":# c #693B00", "<# c #814C06", "[# c #673A00", "}# c #5C3604", "|# c #AD680B", "1# c #532F00", "2# c #AE680C", "3# c #5C3402", "4# c #AE6E14", "5# c #603704", "6# c #965807", "7# c #4A2A00", "8# c #8A540D", "9# c #3C2302", "0# c #412401", "a# c #321B00", "b# c #0A0400", "c# c #291600", "d# c #211100", "e# c #010000", "f# c #000000", "g# c #070300", "h# c #1A0F00", "i# c #261400", "j# c #341E01", "k# c #271602", "l# c #593404", "m# c #271500", "n# c #2F1900", "o# c #3F2404", "p# c #1B0F00", "q# c #1C1000", "r# c #020000", "s# c #221200", "t# c #3E2200", "u# c #140900", "v# c #2E1900", "w# c #251400", "x# c #090400", "y# c #060200", "z# c #130A00", "A# c #371E00", "B# c #1D0F00", "C# c #0B0500", "D# c #331C00", "E# c #2B1700", "F# c #070200", "G# c #4B2A00", "H# c #2D1800", "I# c #442500", "J# c #482800", "K# c #573000", "L# c #472800", "M# c #4D2C00", "N# c #623700", "O# c #603700", "P# c #583200", "Q# c #422500", "R# c #281400", " ", " ", " ", " ", " ", " . + @ ", " # $ % & * = - ; > , ' ) ! ~ ~ { ", " ] ^ / ( _ : < [ } | 1 2 3 4 5 6 7 8 9 0 a ", " b c d e f g h i j k l m n o p q r s t u v w ", " x y z A B C D E F G H I J K L M N O P Q R S T U ", " V W X Y Z ` ...+.@.#.$.%.&.*.=.-.;.>.,.'.).!.~.{.].^./.(._. ", " :.<.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o. ", " p.q.r.s.t.u.v.w.4.4.4.x.y.4.z.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O. ", " P.Q.R.S.T.U.V.W.X.4.4.4.4.4.z.Y.Z.`. +.+++@+#+$+%+&+O.*+=+-+ ", " ;+>+,+'+)+!+~+{+]+^+/+(+_+:+<+[+}+|+1+2+3+ ", " 4+5+6+7+8+9+0+a+b+c+d+e+f+g+h+i+j+k+l+m+n+ ", " o+p+0+q+r+s+t+u+v+w+x+y+z+A+B+C+D+J.E+F+ ", " G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+`+ @ ", " .@+@@@#@$@%@&@*@=@-@;@>@,@1+'@)@!@~@{@]@^@/@(@ ", " _@:@<@[@}@|@1@2@3@4@5@6@7@8@9@0@a@b@c@d@e@/ f@ ", " g@h@i@d j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@d y@z@A@ ", " B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@ ", " Y@Z@`@ #.#W +#@###$#%#&#*#=#-#;#>#,#'#)#!#~#{# ", " ]#^#/#(#_#:#<#[#V@}#|#1#2#3#4#5#6#7#8#9#0#a# ", " b#c#d#e#f#g#h#i#j#k#l#m#O n#o#p#q#) r#s#t#u# ", " ) v#w#x#y#z#A#B#. f#f#C#D#E#x#r#F#c#G## ", " b H#v#I#J#K#1#L#M#N#O#P#1#Q#t#x ", " R#d# ", " ", " ", " ", " "}; debian/btanks.doc-base0000644000000000000000000000034611322227611012047 0ustar Document: btanks Title: Battle Tanks Author: Battle Tanks Team Abstract: Documentation for the Battle Tanks game Section: Games/Action Format: html Index: /usr/share/doc/btanks/html/index.html Files: /usr/share/doc/btanks/html/* debian/compat0000644000000000000000000000000211056624753010375 0ustar 7 debian/menu0000644000000000000000000000022210740607322010052 0ustar ?package(btanks):needs="X11" section="Games/Action" \ title="Battle Tanks" command="/usr/games/btanks" \ icon="/usr/share/pixmaps/btanks.xpm" debian/control0000644000000000000000000000335311747252312010601 0ustar Source: btanks Section: games Priority: extra Maintainer: Debian Games Team Uploaders: Miriam Ruiz , Barry deFreese , Ansgar Burchardt Build-Depends: debhelper (>= 7.0.50~), scons, sharutils, libsdl1.2-dev, libsdl-image1.2-dev, liblua5.1-dev, libglu1-mesa-dev | libglu-dev, libgl1-mesa-dev | libgl-dev, libsmpeg-dev, libvorbis-dev, libsigc++-2.0-dev, libexpat1-dev, dpkg (>= 1.15.7), hardening-includes, python, zlib1g-dev Standards-Version: 3.9.2 Homepage: http://btanks.sourceforge.net Vcs-Svn: svn://svn.debian.org/svn/pkg-games/packages/trunk/btanks/ Vcs-Browser: http://svn.debian.org/wsvn/pkg-games/packages/trunk/btanks/ Package: btanks Architecture: any Depends: btanks-data (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends} Breaks: btanks-data (<< 0.9.8083-1) Description: fast 2D tank arcade game with multiplayer and split-screen modes Battle Tanks is a funny battle on your desk, where you can choose one of three vehicles and eliminate your enemy using the whole arsenal of weapons. has original cartoon-like graphics and cool music, it is fun and dynamic, it has several network modes for deathmatch and cooperative. Package: btanks-data Architecture: all Depends: ${misc:Depends} Recommends: btanks Description: fast 2D tank arcade game -- data Battle Tanks is a funny battle on your desk, where you can choose one of three vehicles and eliminate your enemy using the whole arsenal of weapons. has original cartoon-like graphics and cool music, it is fun and dynamic, it has several network modes for deathmatch and cooperative. . This package contains fonts, maps, sounds, music, images and other data for Battle Tanks. debian/btanks-data.install0000644000000000000000000000003610662526753012762 0ustar data/ usr/share/games/btanks/ debian/clean0000644000000000000000000000007511562057232010200 0ustar config.log options.cache .sconsign.dblite engine/sl08/sl08.h debian/btanks.docs0000644000000000000000000000001411322227611011312 0ustar debian/html debian/btanks.dirs0000644000000000000000000000005010662526753011342 0ustar usr/share/games/btanks/ usr/lib/btanks/ debian/rules0000755000000000000000000000157011620755761010263 0ustar #!/usr/bin/make -f export CFLAGS = $(shell dpkg-buildflags --get CFLAGS) export CXXFLAGS = $(shell dpkg-buildflags --get CXXFLAGS) export LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) include /usr/share/hardening-includes/hardening.make # does not work with shared libraries. DEB_BUILD_HARDENING_PIE := 0 CFLAGS += $(HARDENING_CFLAGS) CXXFLAGS += $(HARDENING_CFLAGS) LDFLAGS += $(HARDENING_LDFLAGS) %: dh $@ override_dh_auto_build: python engine/sl08/sl08.py >engine/sl08/sl08.h scons prefix=/usr resources_dir=/usr/share/games/btanks plugins_dir=/usr/lib/btanks lib_dir=/usr/lib/btanks override_dh_auto_clean: dh_auto_clean rm -rf .sconf_temp build override_dh_builddeb: dh_builddeb -- -Zxz binary-indep: dh --before dh_install $@ dh_install -i find debian/btanks-data/ -type f -print0 | xargs -0 chmod 0644 dh --remaining $@ binary: binary-arch binary-indep debian/btanks.60000644000000000000000000002347410663044626010560 0ustar .\" (c) 2007 Miriam Ruiz .\" (c) 2006-2007 Battle Tanks Team .\" (c) 2005-2007 Vladimir Menshakov .\" .\" This document is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This package is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this package; if not, write to the Free Software .\" Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA .TH "Battle Tanks" "6" "" "" "" .SH "NAME" btanks \- fast 2D tank arcade game .SH "DESCRIPTION" Battle Tanks is a funny battle on your desk, where you can choose one of three vehicles and eliminate your enemy using the whole arsenal of weapons. has original cartoon\-like graphics and cool music, it is fun and dynamic, it has several network modes for deathmatch and cooperative. .P what else is needed to have fun with your friends? And all is packed and ready for you in "Battle Tanks". .P Features: .TP \fBMultiplayer\fR "Battle Tanks" is a multiplayer game in the first place. Network game and split screen mode are available, and also a mixed mode is possible, when two players use split screen on the server computer, and others connect via LAN.Two modes are possible: deathmatch battle and cooperative game. .TP \fBCross\-platform\fR "Battle Tanks" is cross\-platform. Both Windows and Linux fans are welcome on the battlefield where they will settle their quarrels in the name of weapons. .TP \fBFree distribution and open source\fR The multiplayer version is licensed under GNU GPL. This means two things. Firstly, it doesn't cost anything for you. You can download it for free and share with your friends, with no preliminary or future fees. And secondly, the full source code of the game is available, so any guy who knows C++ can poke his nose there and probably find some surprises that developers have prepared for curious fans. .TP \fBOld\-school oriented\fR Builders of "Battle Tanks" love these good old arcades of the past century. So they have tried hard to implement everything best of these old arcade games. .P Performance characteristics: .TP \fBThree vehicles:\fR tank, Shilka, and rocket launcher. Each vehicle has its special features. .TP \fBLots of weapons:\fR four types of ammo, six types of rockets, landing troops, mines, and so on. .TP \fBTen multiplayer maps\fR (seven ones for deathmatch and three ones for cooperative mode) in different locations such as city, village, forest, desert and so on. .TP \fBGame world that reacts on player.\fR Roads have traffic, buildings can be destroyed, weather effects are simulated. .TP \fBLots of war objects:\fR troops, vehicles, helicopters and other. .TP \fBKeyboard and gamepad\fR are supported. .SH "WEAPON LIST" 1. Ammo Gun is the main weapon of tank and Shilka. Guns don't require ammunition, but their piercing ability is much lower that one for rockets. .TP \fB"Eternal fire" type tank shell\fR Type shell that is shipped with tank and Shilka. The gun on Shilka is faster that one on tank, but each hit does less damage. Guns have infinite ammunition. .TP \fBShell with laughset focal point\fR The main feature of the shell with laughset focal point (also called shell with uncertain orientation) is bouncing from obstacles. This shell is good for urban battles, also it will help when shooting an enemy that has covered behind something solid or impenetrable. The disadvantage of this model is that you never know where it will bounce. .TP \fBExplosive shell\fR The explosive shell is also known as Matreshka shell. Inside the jacket of this shell, several small shells are nested. A small time after the shot, the matreshka opens, and nested shells spread in different directions. Each hit causes relatively small damage, but large area is covered. This model is intended for use against enemy crowds. It is ineffective in close face to face duels. .TP \fBDirt gun\fR Dirt gun is invented by crazy agronomists. By the aid of concentration of energy in near\-surface layers, nano\-wave fluctuations cause temporary inversion of field. Lower layers are found on the top, thus introducing a short\-time effect of plowing the surface (this is broadly used during the sowing campaign). In battle, the dirt gun can be used for making dirt spots of reduced passability. Enemy troops and vehicles suffer loss of control and speed in these plowed areas. Pimary weapon Secondary weapon .P 2. Rockets Rockets are large, so number of rockets that a vehicle carries is limited. Rockets are main weapon of rocket launcher. .TP \fBHoming missile\fR Homing missile is a type weapon and is shipped with rocket launchers. It can also be used on tanks as a secondary weapon. After the launch, the rocket finds a target and guides its flight by its own. Unlike the heat\-aimed rockets, this model detects delta waves emitted by human brains, and thus can be used against troops and manned vehicles. Unfortunately, this method of detection ignores androids and intellectually challenged individuals. Another disadvantage is that rocket doesn't avoid obstacles (avoiding function is announced in the next stable release of rocket drivers binary). .TP \fBUncontrolled rocket\fR This is a Dumb\-fire modification of the type rocket that can be equipped as a secondary weapon. At the expense of electronics, explosive charge and velocity are increased. Due to its high velocity and high damage caused, this rocket is very good for making fire barriers, destroying enemy weapon emplacements, and in face to face battles. .TP \fBBoomerang rocket\fR Boomerang rocket is an accidental modification of the homing missile that has been found after beta drivers were installed from a damaged CD on some test rocket. On ground tests, that rocket introduced a non\-typical behaviour: it didn't select a target after the launch, but just circled around the launcher, following an elliptical trajectory. Nobody can explain still why the rocket does that; however boomerang rockets have been approved and are produced on the line now. They can be used for defense; also boomerang rockets are effective in close battle. .TP \fBGas rocket\fR Gas rocket is stuffed with toxic and radioactive wastes of fragrance industry. They are prohibited by Geneva Protocol because of their incredibly disgusting and beautiful smell. A humanoid that has inhaled the gas suffers convulsions, sialorrhea, retching, diarrhea, and dies with happy smile on face. The gas rockets are perfect for eliminating troops. In multiplayer, they scan be used for making smoke screens. .TP \fBStop\-rocket\fR This homing missile is filled with artificial viruses\-malicious nanorobots. When a rocket hits target, viruses clod between tracks of tank caterpillars, raise pressure of braking fluid in hydraulic systems, and cause temporary paralysis of lower extremities of humanoids. However, these viruses don't affect functioning of weapons systems and other organs of humanoids; side effects or contra\-indication are unknown. Stop\-rocket does not inflict damage, but it's a great secondary weapon that is very effective if combined with explosive or bouncing tank shells, homing missiles and machine guns. .TP \fBNuclear missile "Pure Thermonuke"\fR This 15 kilotons nuke is the most destructive weapon in the game. It destroys everything in range of explosion, and using or thermonuclear reaction guarantees that radiation pollution will be negligibly small. So the ground can be used just after the enemy is vaporized by the heat of nuclear blast. Secondary weapon .P 3. Preserved landing force Five fully equipped troops are frozen and GZIPped into standard rectangular bricks. Before refrigeration, each trooper is prepared using special hormons and steroids, and can be used in action after quick microwave\-aided defreezing. Shipped in two versions with machine guns and handheld rocket launchers. .TP \fBMachine gun trooper\fR The trooper takes a position and fires the enemy objects (including missiles). 16 directions of fire are available. Shilka lands MG troopers for support. Thanks to their high fire rate and mobility, MG troopers can defend a vehicle against enemy missiles. .TP \fBRocket trooper\fR The trooper takes a position and fires the enemy objects (NOT including missiles). 8 directions of fire are available. Shilka lands rocket troopers for support. Due to their fire power, rocket troopers are good for attacking the enemy. .P 4. Other weapons Other weapons include mines and MG turrets. Mine .TP \fBMine\fR Mines are effective equally against troops and vehicles. They have winning appearance, and are easy to install and use. Using of mines allows unique and great tactical opportunities, both in single missions and deathmatch. Routes, respawn points, hidings of weapons \- everything can be mined. Remember that the mine is invisible if covered with dirt or smoke! .TP \fBMG turret\fR MG turret is a primitive robot that shoots everything that is moving. Some turrets are shipped with "ally\-enemy" recognition system. In stationary version, MG turrets can be used for automated security systems. Mobile versions can be mounted on rocket launchers. 16 directions of fire are available. .SH "SEE ALSO" You can find more about the game on its homepage: http://btanks.sourceforge.net .P You have more information available in /usr/share/doc/btanks/html/index.html .SH "AUTHOR" The game has been written by Vladimir Menshakov, Methos Wagner and Vladimir Zhuravlev, and is distributed under the GNU General Public License, either version 2 of the License, or (at your option) any later version.