[Orxonox-commit 2954] r7654 - in code/trunk: . data/levels data/overlays src/modules/overlays/hud src/orxonox/gametypes

rgrieder at orxonox.net rgrieder at orxonox.net
Thu Nov 18 21:49:56 CET 2010


Author: rgrieder
Date: 2010-11-18 21:49:55 +0100 (Thu, 18 Nov 2010)
New Revision: 7654

Removed:
   code/trunk/data/levels/gametype_lastmanstanding.oxw
   code/trunk/data/overlays/lastmanstandinghud.oxo
   code/trunk/src/modules/overlays/hud/LastManStandingInfos.cc
   code/trunk/src/modules/overlays/hud/LastManStandingInfos.h
   code/trunk/src/orxonox/gametypes/LastManStanding.cc
   code/trunk/src/orxonox/gametypes/LastManStanding.h
Modified:
   code/trunk/
   code/trunk/src/modules/overlays/hud/CMakeLists.txt
   code/trunk/src/orxonox/gametypes/CMakeLists.txt
Log:
Reverted attempt to merge lastmanstanding branch.


Property changes on: code/trunk
___________________________________________________________________
Modified: svn:mergeinfo
   - /code/branches/ai:6592-7033
/code/branches/buildsystem:1874-2276,2278-2400
/code/branches/buildsystem2:2506-2658
/code/branches/buildsystem3:2662-2708
/code/branches/ceguilua:1802-1808
/code/branches/chat:6527-6797
/code/branches/chat2:6836-6910
/code/branches/console:5941-6104
/code/branches/consolecommands2:6451-7178
/code/branches/consolecommands3:7178-7283
/code/branches/core3:1572-1739
/code/branches/core4:3221-3224,3227,3234-3238,3242,3244-3250,3252-3254,3256,3259-3261,3264-3265,3268-3275,3277-3278,3280,3284-3285,3287,3289-3294,3305,3309-3310
/code/branches/core5:5768-5928,6009
/code/branches/doc:7290-7400
/code/branches/dynamicmatch:6584-7030
/code/branches/fps:6591-7072
/code/branches/gamestate:6430-6572,6621-6661
/code/branches/gamestates2:6594-6745
/code/branches/gametypes:2826-3031
/code/branches/gcc43:1580
/code/branches/gui:1635-1723,2795-2894
/code/branches/hudelements:6584-6941
/code/branches/ingamemenu:6000-6023
/code/branches/input:1629-1636
/code/branches/ipv6:7293-7458
/code/branches/lastmanstanding:7645-7652
/code/branches/libraries:5612-5692
/code/branches/libraries2:5703-5737
/code/branches/lod:6586-6911
/code/branches/lodfinal:2372-2411
/code/branches/map:2801-3086,3089
/code/branches/menu:5941-6146,6148
/code/branches/miniprojects:2754-2824
/code/branches/netp2:2835-2988
/code/branches/netp3:2988-3082
/code/branches/netp6:3214-3302
/code/branches/network:2356
/code/branches/network2:6434-6465
/code/branches/network64:2210-2355
/code/branches/notifications:7314-7401
/code/branches/objecthierarchy:1911-2085,2100,2110-2169
/code/branches/objecthierarchy2:2171-2479
/code/branches/overlay:2117-2385
/code/branches/particles:2829-3085
/code/branches/particles2:6050-6106,6109
/code/branches/pch:3113-3194
/code/branches/physics:1912-2055,2107-2439
/code/branches/physics_merge:2436-2457
/code/branches/pickup2:5942-6405
/code/branches/pickup3:6418-6523
/code/branches/pickup4:6594-6710
/code/branches/pickups:1926-2086,2127,2827-2915
/code/branches/pickups2:2107-2497,2915-3071
/code/branches/png2:7262-7263
/code/branches/ppspickups1:6552-6708
/code/branches/ppspickups2:6527-6532,6554-6709
/code/branches/ppspickups3:6757-6997
/code/branches/ppspickups4:7003-7089
/code/branches/presentation:2369-2652,2654-2660
/code/branches/presentation2:6106-6416
/code/branches/presentation3:6913-7162
/code/branches/questsystem:1894-2088
/code/branches/questsystem2:2107-2259
/code/branches/questsystem5:2776-2905
/code/branches/releasetodo:7614-7647
/code/branches/resource:3327-3366
/code/branches/resource2:3372-5694
/code/branches/rocket:6523-6950
/code/branches/rocket2:6953-6970
/code/branches/script_trigger:1295-1953,1955
/code/branches/skybox2:6559-6989
/code/branches/sound:2829-3010
/code/branches/sound3:5941-6102
/code/branches/steering:5949-6091
/code/branches/weapon:1925-2094
/code/branches/weapon2:2107-2488
/code/branches/weapons:2897-3051
/code/branches/weaponsystem:2742-2890
   + /code/branches/ai:6592-7033
/code/branches/buildsystem:1874-2276,2278-2400
/code/branches/buildsystem2:2506-2658
/code/branches/buildsystem3:2662-2708
/code/branches/ceguilua:1802-1808
/code/branches/chat:6527-6797
/code/branches/chat2:6836-6910
/code/branches/console:5941-6104
/code/branches/consolecommands2:6451-7178
/code/branches/consolecommands3:7178-7283
/code/branches/core3:1572-1739
/code/branches/core4:3221-3224,3227,3234-3238,3242,3244-3250,3252-3254,3256,3259-3261,3264-3265,3268-3275,3277-3278,3280,3284-3285,3287,3289-3294,3305,3309-3310
/code/branches/core5:5768-5928,6009
/code/branches/doc:7290-7400
/code/branches/dynamicmatch:6584-7030
/code/branches/fps:6591-7072
/code/branches/gamestate:6430-6572,6621-6661
/code/branches/gamestates2:6594-6745
/code/branches/gametypes:2826-3031
/code/branches/gcc43:1580
/code/branches/gui:1635-1723,2795-2894
/code/branches/hudelements:6584-6941
/code/branches/ingamemenu:6000-6023
/code/branches/input:1629-1636
/code/branches/ipv6:7293-7458
/code/branches/libraries:5612-5692
/code/branches/libraries2:5703-5737
/code/branches/lod:6586-6911
/code/branches/lodfinal:2372-2411
/code/branches/map:2801-3086,3089
/code/branches/menu:5941-6146,6148
/code/branches/miniprojects:2754-2824
/code/branches/netp2:2835-2988
/code/branches/netp3:2988-3082
/code/branches/netp6:3214-3302
/code/branches/network:2356
/code/branches/network2:6434-6465
/code/branches/network64:2210-2355
/code/branches/notifications:7314-7401
/code/branches/objecthierarchy:1911-2085,2100,2110-2169
/code/branches/objecthierarchy2:2171-2479
/code/branches/overlay:2117-2385
/code/branches/particles:2829-3085
/code/branches/particles2:6050-6106,6109
/code/branches/pch:3113-3194
/code/branches/physics:1912-2055,2107-2439
/code/branches/physics_merge:2436-2457
/code/branches/pickup2:5942-6405
/code/branches/pickup3:6418-6523
/code/branches/pickup4:6594-6710
/code/branches/pickups:1926-2086,2127,2827-2915
/code/branches/pickups2:2107-2497,2915-3071
/code/branches/png2:7262-7263
/code/branches/ppspickups1:6552-6708
/code/branches/ppspickups2:6527-6532,6554-6709
/code/branches/ppspickups3:6757-6997
/code/branches/ppspickups4:7003-7089
/code/branches/presentation:2369-2652,2654-2660
/code/branches/presentation2:6106-6416
/code/branches/presentation3:6913-7162
/code/branches/questsystem:1894-2088
/code/branches/questsystem2:2107-2259
/code/branches/questsystem5:2776-2905
/code/branches/releasetodo:7614-7647
/code/branches/resource:3327-3366
/code/branches/resource2:3372-5694
/code/branches/rocket:6523-6950
/code/branches/rocket2:6953-6970
/code/branches/script_trigger:1295-1953,1955
/code/branches/skybox2:6559-6989
/code/branches/sound:2829-3010
/code/branches/sound3:5941-6102
/code/branches/steering:5949-6091
/code/branches/weapon:1925-2094
/code/branches/weapon2:2107-2488
/code/branches/weapons:2897-3051
/code/branches/weaponsystem:2742-2890

Deleted: code/trunk/data/levels/gametype_lastmanstanding.oxw
===================================================================
--- code/trunk/data/levels/gametype_lastmanstanding.oxw	2010-11-18 20:37:19 UTC (rev 7653)
+++ code/trunk/data/levels/gametype_lastmanstanding.oxw	2010-11-18 20:49:55 UTC (rev 7654)
@@ -1,145 +0,0 @@
-<?lua
-  include("stats.oxo")
-  include("hudtemplates3.oxo")
-  include("templates/lodinformation.oxt")
-  include("lastmanstandinghud.oxo")
-  include("templates/spaceship_assff.oxt")
-  include("templates/spaceship_pirate.oxt")
-  include("templates/pickup_representation_templates.oxt")
-?>
-
-<Level
- name         = "Last Man Standing"
- description  = "testmap for gametype last man standing"
- gametype     =  "LastManStanding"
->
-  <templates>
-    <Template link=lodtemplate_default />
-  </templates>
-
-  <Scene
-    ambientlight = "0.8, 0.8, 0.8"
-    skybox       = "Orxonox/skypanoramagen1"
-  >
-
-    <?lua
-      include("includes/pickups.oxi")
-    ?>
-
-<!----- Spawnpoints 
-    <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0"/>
-    <SpawnPoint team=0 position="-1150,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
-    <SpawnPoint team=0 position="1150,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
-    <SpawnPoint team=0 position="-700,0,700" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
-    <SpawnPoint team=0 position="700,0,-700" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
-    <SpawnPoint team=0 position="0,0,-1150" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
-    <SpawnPoint team=0 position="0,0,1150" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff /> ----->
-<Bot />
-
-<!-- ------------ middle asteroid -------------- -->
-    <StaticEntity position="0,20,0" collisionType=static>
-       <attached>
-           <Model position="0,0,0" scale=140 mesh="asteroid_UV.mesh" shadow=true />
-           <!-- ParticleEmitter position="0,0,0" source="Orxonox/Steam" / -->
-       </attached>
-      <collisionShapes>
-        <SphereCollisionShape radius="145" />
-      </collisionShapes>
-    </StaticEntity>
-
-    <PickupSpawner position="-160,65,10" triggerDistance="10" respawnTime="5" maxSpawnedItems="10"><!--EasterEgg-->
-      <pickup>
-        <InvisiblePickup template=mediuminvisiblepickup />
-      </pickup>
-    </PickupSpawner>
-    <PickupSpawner position="-160,60,17" triggerDistance="10" respawnTime="5" maxSpawnedItems="10"><!--EasterEgg-->
-      <pickup>
-        <InvisiblePickup template=hugeinvisiblepickup />
-      </pickup>
-    </PickupSpawner>
-    <StaticEntity position="-160,60,28.4"><!--EasterEgg-Indicator-->
-      <attached>
-        <Model position="0,0,0" scale=1 mesh="sphere.mesh" />
-      </attached>
-    </StaticEntity>
-
-<!-- ---------------asteroid dome----------------- -->
-<?lua
-max = 16
-for i = 0, max, 1
-do
-    y = math.sin(i/max*6)*750
-    z = math.cos(i/max*6)*750
-    j = 1
-    ?>
-
-    <SpawnPoint team=0 position="<?lua print(y*1.4+z*0.2) ?>,0,<?lua print(z*1.4-y*0.2) ?>" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
-
-    <StaticEntity position="<?lua print(y) ?>,0,<?lua print(z) ?>" scale=<?lua print(j * 2) ?> collisionType=static >
-      <attached>
-        <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh">
-	</Model>
-      </attached>
-      <collisionShapes>
-        <BoxCollisionShape    halfExtents="<?lua print(j * 2) ?>,100,<?lua print(j * 2) ?>" position = "0,0,0" />
-      </collisionShapes>
-    </StaticEntity>
-
-    <StaticEntity position="<?lua print(y) ?>,100,<?lua print(z) ?>" scale=<?lua print(j * 2) ?> collisionType=static >
-      <attached>
-        <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i+3,6) + 1) ?>.mesh">
-	</Model>
-      </attached>
-      <collisionShapes>
-        <BoxCollisionShape    halfExtents="45,100,45" position = "0,0,0" />
-      </collisionShapes>
-    </StaticEntity>
-
-    <StaticEntity position="<?lua print(y) ?>,200,<?lua print(z) ?>" scale=<?lua print(j * 2) ?> collisionType=static >
-      <attached>
-        <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i*5,6) + 1) ?>.mesh">
-	</Model>
-      </attached>
-      <collisionShapes>
-        <BoxCollisionShape    halfExtents="45,100,45" position = "0,0,0" />
-      </collisionShapes>
-    </StaticEntity>
-
-    <StaticEntity position="<?lua print(y) ?>,-100,<?lua print(z) ?>" scale=<?lua print(j * 2) ?> collisionType=static >
-      <attached>
-        <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i*13+1,6) + 1) ?>.mesh">
-	</Model>
-      </attached>
-      <collisionShapes>
-        <BoxCollisionShape    halfExtents="45,100,45" position = "0,0,0" />
-      </collisionShapes>
-    </StaticEntity>
-
-    <StaticEntity position="<?lua print(y) ?>,-200,<?lua print(z) ?>" scale=<?lua print(j * 2) ?> collisionType=static >
-      <attached>
-        <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i*17,6) + 1) ?>.mesh">
-	</Model>
-      </attached>
-      <collisionShapes>
-        <BoxCollisionShape    halfExtents="45,100,45" position = "0,0,0" />
-      </collisionShapes>
-    </StaticEntity>
-
-<!-- ---------Top Asteroid----------- -->
-    <StaticEntity position="<?lua print(y) ?>,300,<?lua print(z) ?>" scale=<?lua print(j * 2.1) ?> pitch="90" roll="180" yaw="<?lua print(-90+i*360/max) ?>" collisionType=static >
-      <attached>
-        <Model position="0,0,0" scale=25 mesh="ast6.mesh">
-	</Model>
-      </attached>
-      <collisionShapes>
-        <BoxCollisionShape    halfExtents="50,140,30" position="0,0,0"/>
-      </collisionShapes>
-    </StaticEntity>
-
-
-<?lua end ?>
-
-  </Scene>
-</Level>
-
-

Deleted: code/trunk/data/overlays/lastmanstandinghud.oxo
===================================================================
--- code/trunk/data/overlays/lastmanstandinghud.oxo	2010-11-18 20:37:19 UTC (rev 7653)
+++ code/trunk/data/overlays/lastmanstandinghud.oxo	2010-11-18 20:49:55 UTC (rev 7654)
@@ -1,98 +0,0 @@
-<Template name="LastmanstandingHUD">
-  <OverlayGroup name="DynamicmatcHUD" scale = "1, 1">
-   
- <!--GametypeStaticMessage
-   name     = "staticmessage"
-   position = "0.5, 0.01"
-   font     = "VeraMono"
-   caption  = ""
-   textsize = 0.033
-   colour   = "1.0, 1.0, 0.5, 1.0"
-   align    = "center"
-  /-->
-
-<GametypeFadingMessage
-     name     = "fadingmessage"
-     position = "0.5, 0.01"
-     font     = "VeraMono"
-     textsize = 0.04
-     colour   = "1.0, 1.0, 0.5, 1.0"
-     align    = "center"
-    />
-
-    <OverlayText
-     position  = "0.02, 0.02"
-     pickpoint = "0.0, 0.0"
-     font      = "ShareTechMono"
-     textsize  = 0.04
-     colour    = "1.0, 1.0, 1.0, 1.0"
-     align     = "left"
-     caption   = "Lives:   "
-    />
-
-    <LastManStandingInfos
-     position  = "0.14, 0.02"
-     pickpoint = "0.0, 0.0"
-     font      = "ShareTechMono"
-     textsize  = 0.04
-     colour    = "1.0, 1.0, 1.0, 1.0"
-     align     = "left"
-
-     showlives     = true
-     showplayers     = false
-    />
-
-    <OverlayText
-     position  = "0.02, 0.055"
-     pickpoint = "0.0, 0.0"
-     font      = "ShareTechMono"
-     textsize  = 0.04
-     colour    = "1.0, 1.0, 1.0, 1.0"
-     align     = "left"
-     caption   = "Players: "
-    />
-
-    <LastManStandingInfos
-     position  = "0.14, 0.055"
-     pickpoint = "0.0, 0.0"
-     font      = "ShareTechMono"
-     textsize  = 0.04
-     colour    = "1.0, 1.0, 1.0, 1.0"
-     align     = "left"
-
-     showlives     = false
-     showplayers     = true
-    />
-
-    <OverlayText
-     position  = "0.02, 0.07"
-     pickpoint = "0.0, 0.0"
-     font      = "ShareTechMono"
-     textsize  = 0.04
-     colour    = "1.0, 1.0, 1.0, 1.0"
-     align     = "left"
-     caption   = "__________|"
-    />
-
-    <OverlayText
-     position  = "0.022, 0.07"
-     pickpoint = "0.0, 0.0"
-     font      = "ShareTechMono"
-     textsize  = 0.04
-     colour    = "1.0, 1.0, 1.0, 1.0"
-     align     = "left"
-     caption   = "__________"
-    />
-
-    <OverlayText
-     position  = "0.1733, 0.038"
-     pickpoint = "0.0, 0.0"
-     font      = "ShareTechMono"
-     textsize  = 0.04
-     colour    = "1.0, 1.0, 1.0, 1.0"
-     align     = "left"
-     caption   = "|"
-    />
-
-  </OverlayGroup>
-</Template>

Modified: code/trunk/src/modules/overlays/hud/CMakeLists.txt
===================================================================
--- code/trunk/src/modules/overlays/hud/CMakeLists.txt	2010-11-18 20:37:19 UTC (rev 7653)
+++ code/trunk/src/modules/overlays/hud/CMakeLists.txt	2010-11-18 20:49:55 UTC (rev 7654)
@@ -14,5 +14,4 @@
   TeamBaseMatchScore.cc
   GametypeStaticMessage.cc
   GametypeFadingMessage.cc
-  LastManStandingInfos.cc
 )

Deleted: code/trunk/src/modules/overlays/hud/LastManStandingInfos.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/LastManStandingInfos.cc	2010-11-18 20:37:19 UTC (rev 7653)
+++ code/trunk/src/modules/overlays/hud/LastManStandingInfos.cc	2010-11-18 20:49:55 UTC (rev 7654)
@@ -1,97 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program 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 program 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 program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Johannes Ritz
- *   Co-authors:
- *      Fabian 'x3n' Landau
- *
- */
-
-#include "LastManStandingInfos.h"
-
-#include "core/CoreIncludes.h"
-#include "core/XMLPort.h"
-#include "util/Convert.h"
-#include "gametypes/LastManStanding.h"
-#include "infos/PlayerInfo.h"
-
-namespace orxonox
-{
-    CreateFactory(LastManStandingInfos);
-
-    LastManStandingInfos::LastManStandingInfos(BaseObject* creator) : OverlayText(creator)
-    {
-        RegisterObject(LastManStandingInfos);
-
-        this->lms_ = 0;
-        this->player_ = 0;
-        this->bShowLives_ = false;
-        this->bShowPlayers_ = false;
-    }
-
-    LastManStandingInfos::~LastManStandingInfos()
-    {
-    }
-
-    void LastManStandingInfos::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(LastManStandingInfos, XMLPort, xmlelement, mode);
-
-        XMLPortParam(LastManStandingInfos, "showlives",     setShowLives,     getShowLives,     xmlelement, mode).defaultValues(false);
-        XMLPortParam(LastManStandingInfos, "showplayers",     setShowPlayers,     getShowPlayers,     xmlelement, mode).defaultValues(false);
-    }
-
-    void LastManStandingInfos::tick(float dt)
-    {
-        SUPER(LastManStandingInfos, tick, dt);
-
-        if (this->player_ && this->lms_)
-        {
-            if (this->bShowLives_)
-            {
-                const std::string& lives = multi_cast<std::string>(this->lms_->playerGetLives(this->player_));
-                this->setCaption(lives);
-            }
-            else if(this->bShowPlayers_)
-            {
-                const std::string& players = multi_cast<std::string>(this->lms_->getNumPlayersAlive());
-                this->setCaption(players);
-            }
-        }
-    }
-
-    void LastManStandingInfos::changedOwner()
-    {
-        SUPER(LastManStandingInfos, changedOwner);
-
-        if (this->getOwner() && this->getOwner()->getGametype())
-        {
-            this->player_ = orxonox_cast<PlayerInfo*>(this->getOwner());
-            this->lms_ = orxonox_cast<LastManStanding*>(this->getOwner()->getGametype().get());
-        }
-        else
-        {
-            this->player_ = 0;
-            this->lms_ = 0;
-        }
-    }
-}

Deleted: code/trunk/src/modules/overlays/hud/LastManStandingInfos.h
===================================================================
--- code/trunk/src/modules/overlays/hud/LastManStandingInfos.h	2010-11-18 20:37:19 UTC (rev 7653)
+++ code/trunk/src/modules/overlays/hud/LastManStandingInfos.h	2010-11-18 20:49:55 UTC (rev 7654)
@@ -1,66 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program 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 program 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 program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Johannes Ritz
- *   Co-authors:
- *      Fabian 'x3n' Landau
- *
- */
-
-#ifndef _LastManStandingInfos_H__
-#define _LastManStandingInfos_H__
-
-#include "overlays/OverlaysPrereqs.h"
-
-#include "tools/interfaces/Tickable.h"
-#include "overlays/OverlayText.h"
-
-namespace orxonox
-{
-    class _OverlaysExport LastManStandingInfos : public OverlayText, public Tickable
-    {
-        public:
-            LastManStandingInfos(BaseObject* creator);
-            virtual ~LastManStandingInfos();
-
-            virtual void tick(float dt);
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            virtual void changedOwner();
-
-            inline void setShowLives(bool value)
-                { this->bShowLives_ = value; }
-            inline bool getShowLives() const
-                { return this->bShowLives_; }
-
-            inline void setShowPlayers(bool value)
-                { this->bShowPlayers_ = value; }
-            inline bool getShowPlayers() const
-                { return this->bShowPlayers_; }
-
-        private:
-            LastManStanding* lms_;
-            PlayerInfo* player_;
-            bool bShowLives_;
-            bool bShowPlayers_;
-    };
-}
-#endif /* _LastManStandingInfos_H__ */

Modified: code/trunk/src/orxonox/gametypes/CMakeLists.txt
===================================================================
--- code/trunk/src/orxonox/gametypes/CMakeLists.txt	2010-11-18 20:37:19 UTC (rev 7653)
+++ code/trunk/src/orxonox/gametypes/CMakeLists.txt	2010-11-18 20:49:55 UTC (rev 7654)
@@ -6,5 +6,4 @@
   UnderAttack.cc
   Asteroids.cc
   Dynamicmatch.cc
-  LastManStanding.cc
 )

Deleted: code/trunk/src/orxonox/gametypes/LastManStanding.cc
===================================================================
--- code/trunk/src/orxonox/gametypes/LastManStanding.cc	2010-11-18 20:37:19 UTC (rev 7653)
+++ code/trunk/src/orxonox/gametypes/LastManStanding.cc	2010-11-18 20:49:55 UTC (rev 7654)
@@ -1,280 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program 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 program 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 program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Johannes Ritz
- *   Co-authors:
- *      Fabian 'x3n' Landau
- *
- */
-
-#include "LastManStanding.h"
-
-#include "core/CoreIncludes.h"
-#include "network/Host.h"
-#include "infos/PlayerInfo.h"
-#include "worldentities/pawns/Pawn.h"
-#include "core/ConfigValueIncludes.h"
-#include "util/Convert.h"
-
-namespace orxonox
-{
-    CreateUnloadableFactory(LastManStanding);
-
-    LastManStanding::LastManStanding(BaseObject* creator) : Deathmatch(creator)
-    {
-        RegisterObject(LastManStanding);
-        this->bForceSpawn_=true;
-        this->lives=4;
-        this->playersAlive=0;
-        this->timeRemaining=15.0f;
-        this->respawnDelay=4.0f;
-        this->bNoPunishment=false;
-        this->bHardPunishment=false;
-        this->punishDamageRate=0.4f;
-        this->setHUDTemplate("LastmanstandingHUD");
-    }
-
-    void LastManStanding::spawnDeadPlayersIfRequested()
-    {
-        for (std::map<PlayerInfo*, Player>::iterator it = this->players_.begin(); it != this->players_.end(); ++it)
-            if (it->second.state_ == PlayerState::Dead)
-            {
-                bool alive = (0<playerLives_[it->first]&&(inGame_[it->first]));
-                if (alive&&(it->first->isReadyToSpawn() || this->bForceSpawn_))
-                {
-                    this->spawnPlayer(it->first);
-                }
-            }
-    }
-
-
-    void LastManStanding::setConfigValues()
-    {
-        SetConfigValue(lives, 4);
-        SetConfigValue(timeRemaining, 15.0f);
-        SetConfigValue(respawnDelay, 4.0f);
-        SetConfigValue(bNoPunishment, false);
-        SetConfigValue(bHardPunishment, false);
-    }
-
-    bool LastManStanding::allowPawnDamage(Pawn* victim, Pawn* originator)
-    {
-        if (originator && originator->getPlayer())// only for safety
-        {
-            this->timeToAct_[originator->getPlayer()]=timeRemaining;
-
-            std::map<PlayerInfo*, Player>::iterator it = this->players_.find(originator->getPlayer());
-            if (it != this->players_.end())
-            {
-                if (it->first->getClientID()== CLIENTID_UNKNOWN)
-                    return true;
-                const std::string& message = ""; // resets Camper-Warning-message
-                this->gtinfo_->sendFadingMessage(message,it->first->getClientID());
-            }    
-        }
-        return true;
-    }
-
-    bool LastManStanding::allowPawnDeath(Pawn* victim, Pawn* originator)
-    {
-        if (!victim||!victim->getPlayer())// only for safety
-            return true;
-        playerLives_[victim->getPlayer()]=playerLives_[victim->getPlayer()]-1;
-        this->inGame_[victim->getPlayer()]=false;//if player dies he, isn't allowed to respawn immediately
-        if (playerLives_[victim->getPlayer()]<=0)//if player lost all lives
-        {
-            this->playersAlive--;
-            const std::string& message = victim->getPlayer()->getName() + " has lost all lives";
-            COUT(0) << message << std::endl;
-            Host::Broadcast(message);
-        }
-
-        return true;
-    }
-
-    int LastManStanding::getMinLives()
-    {
-        int min=lives;
-        for (std::map<PlayerInfo*, int>::iterator it = this->playerLives_.begin(); it != this->playerLives_.end(); ++it)
-        {
-            if (it->second<=0)
-                continue;
-            if (it->second<lives)
-                min=it->second;
-        }
-        return min;
-    }
-
-    void LastManStanding::end()
-    {
-        Gametype::end();
-        
-        for (std::map<PlayerInfo*, int>::iterator it = this->playerLives_.begin(); it != this->playerLives_.end(); ++it)
-        {
-            if (it->first->getClientID() == CLIENTID_UNKNOWN)
-                continue;
-
-            if (it->second > 0)
-                this->gtinfo_->sendAnnounceMessage("You have won the match!", it->first->getClientID());
-            else
-                this->gtinfo_->sendAnnounceMessage("You have lost the match!", it->first->getClientID());
-        }
-    }
-
-    int LastManStanding::playerGetLives(PlayerInfo* player)
-    {
-        if (player)
-            return  playerLives_[player];
-        else
-            return 0;
-    }
-    
-    int LastManStanding::getNumPlayersAlive() const
-    {
-        return this->playersAlive;
-    }
-
-    void LastManStanding::playerEntered(PlayerInfo* player)
-    {
-        if (!player)// only for safety
-            return;
-        Deathmatch::playerEntered(player);
-        if (playersAlive<=1)
-            playerLives_[player]=lives;
-        else
-            playerLives_[player]=getMinLives();//new players only get minimum of lives
-        this->playersAlive++;
-        this->timeToAct_[player]=timeRemaining;
-        this->playerDelayTime_[player]=respawnDelay;
-        this->inGame_[player]=true;
-    }
-
-    bool LastManStanding::playerLeft(PlayerInfo* player)
-    {
-        bool valid_player = Deathmatch::playerLeft(player);
-        if (valid_player)
-        {
-            this->playersAlive--;
-            this->playerLives_.erase (player);
-            this->playerDelayTime_.erase (player);
-            this->inGame_.erase (player);
-            this->timeToAct_.erase(player);
-        }
-
-        return valid_player;
-    }
-
-    void LastManStanding::playerStartsControllingPawn(PlayerInfo* player, Pawn* pawn)
-    {
-        if (!player)
-            return;
-        this->timeToAct_[player]=timeRemaining+3.0f+respawnDelay;//reset timer
-        this->playerDelayTime_[player]=respawnDelay;
-        
-        std::map<PlayerInfo*, Player>::iterator it = this->players_.find(player);
-        if (it != this->players_.end())
-        {
-            if (it->first->getClientID()== CLIENTID_UNKNOWN)
-                return;
-            const std::string& message = ""; // resets Camper-Warning-message
-            this->gtinfo_->sendFadingMessage(message,it->first->getClientID());
-        }  
-    }
-
-    void LastManStanding::punishPlayer(PlayerInfo* player)
-    {
-        if(!player)
-            return;
-        if(bNoPunishment)
-            return;
-        std::map<PlayerInfo*, Player>::iterator it = this->players_.find(player);
-        if (it != this->players_.end())
-        {
-            if(!player->getControllableEntity())
-                return;
-            Pawn* pawn = dynamic_cast<Pawn*>(player->getControllableEntity());
-            if(!pawn)
-                return;
-            if(bHardPunishment)
-            {
-                pawn->kill();
-                this->timeToAct_[player]=timeRemaining+3.0f+respawnDelay;//reset timer
-            }
-            else
-            {
-                float damage=pawn->getMaxHealth()*punishDamageRate*0.5;//TODO: Factor 0.5 is hard coded. Where is the ratio between MaxHealth actually defined?
-                pawn->removeHealth(damage);
-                this->timeToAct_[player]=timeRemaining;//reset timer
-            }
-        }
-    }
-
-    void LastManStanding::tick(float dt)
-    {
-        SUPER(LastManStanding, tick, dt);
-        if(this->hasStarted()&&(!this->hasEnded()))
-        {
-            if ((this->hasStarted()&&(playersAlive<=1)))//last player remaining
-            {
-                this->end();
-            }
-            for (std::map<PlayerInfo*, float>::iterator it = this->timeToAct_.begin(); it != this->timeToAct_.end(); ++it)
-            {   
-                if (playerGetLives(it->first)<=0)//Players without lives shouldn't be affected by time.
-                    continue;     
-                it->second-=dt;//Decreases punishment time.
-                if (!inGame_[it->first])//Manages respawn delay - player is forced to respawn after the delaytime is used up. 
-                {
-                    playerDelayTime_[it->first]-=dt;
-                    if (playerDelayTime_[it->first]<=0)
-                    this->inGame_[it->first]=true;
-
-                    if (it->first->getClientID()== CLIENTID_UNKNOWN)
-                        continue;
-                    int output=1+playerDelayTime_[it->first];
-                    const std::string& message = "Respawn in " +multi_cast<std::string>(output)+ " seconds." ;//Countdown
-                    this->gtinfo_->sendFadingMessage(message,it->first->getClientID());
-                }
-                else if (it->second<0.0f)
-                {
-                    it->second=timeRemaining+3.0f;//reset punishment-timer
-                    if (playerGetLives(it->first)>0)
-                    {
-                        this->punishPlayer(it->first);
-                        if (it->first->getClientID()== CLIENTID_UNKNOWN)
-                            return;
-                        const std::string& message = ""; // resets Camper-Warning-message
-                        this->gtinfo_->sendFadingMessage(message,it->first->getClientID());
-                    }
-                }
-                else if (it->second<timeRemaining/5)//Warning message
-                {
-                    if (it->first->getClientID()== CLIENTID_UNKNOWN)
-                        continue;
-                    const std::string& message = "Camper Warning! Don't forget to shoot.";
-                    this->gtinfo_->sendFadingMessage(message,it->first->getClientID());
-                }
-            }
-        }
-    }
-
-}

Deleted: code/trunk/src/orxonox/gametypes/LastManStanding.h
===================================================================
--- code/trunk/src/orxonox/gametypes/LastManStanding.h	2010-11-18 20:37:19 UTC (rev 7653)
+++ code/trunk/src/orxonox/gametypes/LastManStanding.h	2010-11-18 20:49:55 UTC (rev 7654)
@@ -1,86 +0,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program 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 program 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 program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Johannes Ritz
- *   Co-authors:
- *      Fabian 'x3n' Landau
- *
- */
-/**
-    @file LastManStanding.h
-    @brief Declaration of the Gametype "Last Man Standing".
-*/
-
-#ifndef _LastManStanding_H__
-#define _LastManStanding_H__
-
-#include "OrxonoxPrereqs.h"
-#include "Deathmatch.h"
-#include <map>
-#include <vector>
-
-namespace orxonox
-{
-    class _OrxonoxExport LastManStanding : public Deathmatch
-    {
-    /**
-    @brief
-        Last Man Standing is a gametype where each player fights against each other, until one player remains. 
-    @author
-        Johannes Ritz
-    */
-        protected:
-            int lives; //!< Standard amount of lives. Each player starts a game with so many lives.
-            std::map< PlayerInfo*, int > playerLives_; //!< Each player's lives are stored here.
-            int playersAlive; //!< Counter counting players with more than 0 lives.
-            float timeRemaining; //!< Each player has a certain time where he or she has to hit an opponent or will be punished.
-            std::map<PlayerInfo*, float> timeToAct_; //!< Each player's time till she/he will be punished is stored here.
-            float respawnDelay; //!<Time in seconds when a player will respawn after death.
-            std::map<PlayerInfo*, float> playerDelayTime_; //!< Stores each Player's delay time.
-            std::map<PlayerInfo*, bool> inGame_; //!< Indicates each Player's state.
-            bool bNoPunishment; //!< Config value to switch off Punishment function if it is set to true.
-            bool bHardPunishment; //!< Switches between damage and death as punishment.
-            float punishDamageRate; //!< Makes Damage adjustable.
-            virtual void spawnDeadPlayersIfRequested(); //!< Prevents dead players to respawn.
-            virtual int getMinLives(); //!< Returns minimum of each player's lives; players with 0 lives are skipped; 
-
-        public:
-            LastManStanding(BaseObject* creator); //!< Default Constructor.
-            virtual ~LastManStanding() {} //!< Default Destructor.
-            void setConfigValues(); //!< Makes values configurable.
-
-            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator = 0); //!< If a player shoot's an opponent, his punishment countdown will be resetted.
-            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = 0); //!< Manages each players lives.
-
-            virtual void end(); //!< Sends an end message.
-            int playerGetLives(PlayerInfo* player); //!< getFunction for the map "playerLives_".
-            int getNumPlayersAlive() const; //!< Returns the number of players that are still alive.
-            virtual void playerEntered(PlayerInfo* player); //!< Initializes values.
-            virtual bool playerLeft(PlayerInfo* player); //!< Manages all local variables.
-            virtual void playerStartsControllingPawn(PlayerInfo* player, Pawn* pawn); //!< Resets punishment time and respawn delay.
-
-            void punishPlayer(PlayerInfo* player); //!< Function in order to kill a player. Punishment for hiding longer than "timeRemaining".
-            void tick (float dt); //!< used to end the game
-    };
-}
-
-#endif /* _LastManStanding_H__ */




More information about the Orxonox-commit mailing list