[Orxonox-commit 707] r3239 - in branches/core4/src: core network network/synchronisable orxonox/objects orxonox/objects/collisionshapes orxonox/objects/controllers orxonox/objects/gametypes orxonox/objects/infos orxonox/objects/items orxonox/objects/pickup orxonox/objects/quest orxonox/objects/weaponsystem/projectiles orxonox/objects/worldentities orxonox/objects/worldentities/pawns orxonox/objects/worldentities/triggers orxonox/overlays/hud orxonox/overlays/map

rgrieder at orxonox.net rgrieder at orxonox.net
Sun Jun 28 14:45:38 CEST 2009


Author: rgrieder
Date: 2009-06-28 14:45:37 +0200 (Sun, 28 Jun 2009)
New Revision: 3239

Modified:
   branches/core4/src/core/EventIncludes.h
   branches/core4/src/core/Identifier.h
   branches/core4/src/core/Iterator.h
   branches/core4/src/core/XMLPort.h
   branches/core4/src/network/NetworkFunction.h
   branches/core4/src/network/synchronisable/Synchronisable.cc
   branches/core4/src/orxonox/objects/Level.cc
   branches/core4/src/orxonox/objects/Scene.cc
   branches/core4/src/orxonox/objects/collisionshapes/CollisionShape.cc
   branches/core4/src/orxonox/objects/controllers/ArtificialController.cc
   branches/core4/src/orxonox/objects/controllers/HumanController.cc
   branches/core4/src/orxonox/objects/gametypes/Pong.cc
   branches/core4/src/orxonox/objects/gametypes/TeamBaseMatch.cc
   branches/core4/src/orxonox/objects/gametypes/TeamDeathmatch.cc
   branches/core4/src/orxonox/objects/infos/PlayerInfo.cc
   branches/core4/src/orxonox/objects/items/Engine.cc
   branches/core4/src/orxonox/objects/pickup/PickupCollection.cc
   branches/core4/src/orxonox/objects/pickup/PickupSpawner.cc
   branches/core4/src/orxonox/objects/quest/QuestManager.cc
   branches/core4/src/orxonox/objects/weaponsystem/projectiles/Projectile.cc
   branches/core4/src/orxonox/objects/worldentities/Attacher.cc
   branches/core4/src/orxonox/objects/worldentities/BigExplosion.cc
   branches/core4/src/orxonox/objects/worldentities/ControllableEntity.cc
   branches/core4/src/orxonox/objects/worldentities/MovableEntity.cc
   branches/core4/src/orxonox/objects/worldentities/PongBall.cc
   branches/core4/src/orxonox/objects/worldentities/PongCenterpoint.cc
   branches/core4/src/orxonox/objects/worldentities/WorldEntity.cc
   branches/core4/src/orxonox/objects/worldentities/pawns/Destroyer.cc
   branches/core4/src/orxonox/objects/worldentities/pawns/SpaceShip.cc
   branches/core4/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.cc
   branches/core4/src/orxonox/objects/worldentities/triggers/CheckPoint.cc
   branches/core4/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc
   branches/core4/src/orxonox/overlays/hud/AnnounceMessage.cc
   branches/core4/src/orxonox/overlays/hud/DeathMessage.cc
   branches/core4/src/orxonox/overlays/hud/GametypeStatus.cc
   branches/core4/src/orxonox/overlays/hud/HUDHealthBar.cc
   branches/core4/src/orxonox/overlays/hud/HUDRadar.cc
   branches/core4/src/orxonox/overlays/hud/HUDSpeedBar.cc
   branches/core4/src/orxonox/overlays/hud/HUDTimer.cc
   branches/core4/src/orxonox/overlays/hud/KillMessage.cc
   branches/core4/src/orxonox/overlays/hud/PongScore.cc
   branches/core4/src/orxonox/overlays/hud/TeamBaseMatchScore.cc
   branches/core4/src/orxonox/overlays/hud/UnderAttackHealthBar.cc
   branches/core4/src/orxonox/overlays/map/Map.cc
Log:
Found a way to write orxonox_cast<T*> instead of orxonox_cast<T> so that the syntax resembles dynamic_cast<T*>.

Modified: branches/core4/src/core/EventIncludes.h
===================================================================
--- branches/core4/src/core/EventIncludes.h	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/core/EventIncludes.h	2009-06-28 12:45:37 UTC (rev 3239)
@@ -53,7 +53,7 @@
         containername = new orxonox::EventContainer(std::string(eventname), executor, orxonox::ClassIdentifier<subclassname>::getIdentifier()); \
         this->addEventContainer(eventname, containername); \
     } \
-    event.castedOriginator_ = orxonox::orxonox_cast<subclassname>(event.originator_); \
+    event.castedOriginator_ = orxonox::orxonox_cast<subclassname*>(event.originator_); \
     containername->process(this, event)
 
 #define ORXONOX_SET_EVENT_GENERIC_TEMPLATE(containername, classname, eventname, functionname, event, subclassname, ...) \
@@ -65,7 +65,7 @@
         containername = new orxonox::EventContainer(std::string(eventname), executor, orxonox::ClassIdentifier<subclassname>::getIdentifier()); \
         this->addEventContainer(eventname, containername); \
     } \
-    event.castedOriginator_ = orxonox::orxonox_cast<subclassname>(event.originator_); \
+    event.castedOriginator_ = orxonox::orxonox_cast<subclassname*>(event.originator_); \
     containername->process(this, event)
 
 #endif /* _EventIncludes_H__ */

Modified: branches/core4/src/core/Identifier.h
===================================================================
--- branches/core4/src/core/Identifier.h	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/core/Identifier.h	2009-06-28 12:45:37 UTC (rev 3239)
@@ -482,6 +482,32 @@
     // ###############################
     // ###      orxonox_cast       ###
     // ###############################
+    //! Helper struct to have orxonox_cast<T*> instead of orxonox_cast<T>
+    template <class T, class U>
+    struct OrxonoxCaster
+    {
+        static T* cast(U* source)
+        {
+            // If you see this function in a compiler error description, it means
+            // you were misusing orxonox_cast. You must always cast to a pointer type!
+            *****T();
+        }
+    };
+
+    //! Helper struct to have orxonox_cast<T*> instead of orxonox_cast<T*>
+    template <class T, class U>
+    struct OrxonoxCaster<T*, U>
+    {
+        FORCEINLINE static T* cast(U* source)
+        {
+#ifdef ORXONOX_COMPILER_MSVC
+            return source->template getDerivedPointer<T>(ClassIdentifier<T>::getIdentifier()->getClassID());
+#else
+            return dynamic_cast<T*>(source);
+#endif
+        }
+    };
+
     /**
     @brief
         Casts on object of type OrxonoxClass to any derived type that is
@@ -494,13 +520,9 @@
         Also note that the function is implemented differently for GCC/MSVC.
     */
     template <class T, class U>
-    FORCEINLINE T* orxonox_cast(U* source)
+    FORCEINLINE T orxonox_cast(U* source)
     {
-#ifdef ORXONOX_COMPILER_MSVC
-        return source->template getDerivedPointer<T>(ClassIdentifier<T>::getIdentifier()->getClassID());
-#else
-        return dynamic_cast<T*>(source);
-#endif
+        return OrxonoxCaster<T, U>::cast(source);
     }
 
 
@@ -596,7 +618,7 @@
                 // Check if the creation was successful
                 if (newObject)
                 {
-                    return orxonox_cast<T>(newObject);
+                    return orxonox_cast<T*>(newObject);
                 }
                 else
                 {

Modified: branches/core4/src/core/Iterator.h
===================================================================
--- branches/core4/src/core/Iterator.h	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/core/Iterator.h	2009-06-28 12:45:37 UTC (rev 3239)
@@ -239,7 +239,7 @@
             inline T* operator*() const
             {
                 if (this->element_)
-                    return orxonox_cast<T>(this->element_->objectBase_);
+                    return orxonox_cast<T*>(this->element_->objectBase_);
                 else
                     return 0;
             }
@@ -251,7 +251,7 @@
             inline T* operator->() const
             {
                 if (this->element_)
-                    return orxonox_cast<T>(this->element_->objectBase_);
+                    return orxonox_cast<T*>(this->element_->objectBase_);
                 else
                     return 0;
             }

Modified: branches/core4/src/core/XMLPort.h
===================================================================
--- branches/core4/src/core/XMLPort.h	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/core/XMLPort.h	2009-06-28 12:45:37 UTC (rev 3239)
@@ -564,7 +564,7 @@
                                                     assert(newObject);
                                                     newObject->setLoaderIndentation(object->getLoaderIndentation() + "  ");
 
-                                                    O* castedObject = orxonox_cast<O>(newObject);
+                                                    O* castedObject = orxonox_cast<O*>(newObject);
                                                     assert(castedObject);
 
                                                     if (this->bLoadBefore_)

Modified: branches/core4/src/network/NetworkFunction.h
===================================================================
--- branches/core4/src/network/NetworkFunction.h	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/network/NetworkFunction.h	2009-06-28 12:45:37 UTC (rev 3239)
@@ -149,32 +149,32 @@
     inline void call(uint32_t objectID)
     { 
       if ( Synchronisable::getSynchronisable(objectID)!=0 )
-        (*this->functor_)(orxonox_cast<T>(Synchronisable::getSynchronisable(objectID)));
+        (*this->functor_)(orxonox_cast<T*>(Synchronisable::getSynchronisable(objectID)));
     }
     inline void call(uint32_t objectID, const MultiType& mt1)
     { 
       if ( Synchronisable::getSynchronisable(objectID)!=0 )
-        (*this->functor_)(orxonox_cast<T>(Synchronisable::getSynchronisable(objectID)), mt1);
+        (*this->functor_)(orxonox_cast<T*>(Synchronisable::getSynchronisable(objectID)), mt1);
     }
     inline void call(uint32_t objectID, const MultiType& mt1, const MultiType& mt2)
     { 
       if ( Synchronisable::getSynchronisable(objectID)!=0 )
-        (*this->functor_)(orxonox_cast<T>(Synchronisable::getSynchronisable(objectID)), mt1, mt2);
+        (*this->functor_)(orxonox_cast<T*>(Synchronisable::getSynchronisable(objectID)), mt1, mt2);
     }
     inline void call(uint32_t objectID, const MultiType& mt1, const MultiType& mt2, const MultiType& mt3)
     { 
       if ( Synchronisable::getSynchronisable(objectID)!=0 )
-        (*this->functor_)(orxonox_cast<T>(Synchronisable::getSynchronisable(objectID)), mt1, mt2, mt3);
+        (*this->functor_)(orxonox_cast<T*>(Synchronisable::getSynchronisable(objectID)), mt1, mt2, mt3);
     }
     inline void call(uint32_t objectID, const MultiType& mt1, const MultiType& mt2, const MultiType& mt3, const MultiType& mt4)
     { 
       if ( Synchronisable::getSynchronisable(objectID)!=0 )
-        (*this->functor_)(orxonox_cast<T>(Synchronisable::getSynchronisable(objectID)), mt1, mt2, mt3, mt4);
+        (*this->functor_)(orxonox_cast<T*>(Synchronisable::getSynchronisable(objectID)), mt1, mt2, mt3, mt4);
     }
     inline void call(uint32_t objectID, const MultiType& mt1, const MultiType& mt2, const MultiType& mt3, const MultiType& mt4, const MultiType& mt5)
     { 
       if ( Synchronisable::getSynchronisable(objectID)!=0 )
-        (*this->functor_)(orxonox_cast<T>(Synchronisable::getSynchronisable(objectID)), mt1, mt2, mt3, mt4, mt5);
+        (*this->functor_)(orxonox_cast<T*>(Synchronisable::getSynchronisable(objectID)), mt1, mt2, mt3, mt4, mt5);
     }
     
   private:

Modified: branches/core4/src/network/synchronisable/Synchronisable.cc
===================================================================
--- branches/core4/src/network/synchronisable/Synchronisable.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/network/synchronisable/Synchronisable.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -72,7 +72,7 @@
     searchcreatorID:
     if (creator)
     {
-        Synchronisable* synchronisable_creator = orxonox_cast<Synchronisable>(creator);
+        Synchronisable* synchronisable_creator = orxonox_cast<Synchronisable*>(creator);
         if (synchronisable_creator && synchronisable_creator->objectMode_)
         {
             this->creatorID = synchronisable_creator->getObjectID();
@@ -160,12 +160,12 @@
         return 0;
       }
       else
-        creator = orxonox_cast<BaseObject>(synchronisable_creator);
+        creator = orxonox_cast<BaseObject*>(synchronisable_creator);
     }
     assert(getSynchronisable(header.getObjectID())==0);   //make sure no object with this id exists
     BaseObject *bo = id->fabricate(creator);
     assert(bo);
-    Synchronisable *no = orxonox_cast<Synchronisable>(bo);
+    Synchronisable *no = orxonox_cast<Synchronisable*>(bo);
     assert(no);
     no->objectID=header.getObjectID();
     no->creatorID=header.getCreatorID(); //TODO: remove this

Modified: branches/core4/src/orxonox/objects/Level.cc
===================================================================
--- branches/core4/src/orxonox/objects/Level.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/Level.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -120,7 +120,7 @@
 
 std::cout << "Load Gametype: " << this->gametype_ << std::endl;
 
-        Gametype* rootgametype = orxonox_cast<Gametype>(identifier->fabricate(this));
+        Gametype* rootgametype = orxonox_cast<Gametype*>(identifier->fabricate(this));
         this->setGametype(rootgametype);
 
 std::cout << "root gametype: " << rootgametype->getIdentifier()->getName() << std::endl;

Modified: branches/core4/src/orxonox/objects/Scene.cc
===================================================================
--- branches/core4/src/orxonox/objects/Scene.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/Scene.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -325,9 +325,9 @@
     {
         // get the WorldEntity pointers
         WorldEntity* object0 = (WorldEntity*)colObj0->getUserPointer();
-        assert(orxonox_cast<WorldEntity>(object0));
+        assert(orxonox_cast<WorldEntity*>(object0));
         WorldEntity* object1 = (WorldEntity*)colObj1->getUserPointer();
-        assert(orxonox_cast<WorldEntity>(object1));
+        assert(orxonox_cast<WorldEntity*>(object1));
 
         // false means that bullet will assume we didn't modify the contact
         bool modified = false;

Modified: branches/core4/src/orxonox/objects/collisionshapes/CollisionShape.cc
===================================================================
--- branches/core4/src/orxonox/objects/collisionshapes/CollisionShape.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/collisionshapes/CollisionShape.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -84,12 +84,12 @@
         Synchronisable* parent = Synchronisable::getSynchronisable(this->parentID_);
         // Parent can either be a WorldEntity or a CompoundCollisionShape. The reason is that the
         // internal collision shape (which is compound) of a WE doesn't get synchronised.
-        CompoundCollisionShape* parentCCS = orxonox_cast<CompoundCollisionShape>(parent);
+        CompoundCollisionShape* parentCCS = orxonox_cast<CompoundCollisionShape*>(parent);
         if (parentCCS)
             parentCCS->attach(this);
         else
         {
-            WorldEntity* parentWE = orxonox_cast<WorldEntity>(parent);
+            WorldEntity* parentWE = orxonox_cast<WorldEntity*>(parent);
             if (parentWE)
                 parentWE->attachCollisionShape(this);
         }
@@ -102,7 +102,7 @@
 
         this->parent_ = newParent;
 
-        WorldEntityCollisionShape* parentWECCS = orxonox_cast<WorldEntityCollisionShape>(newParent);
+        WorldEntityCollisionShape* parentWECCS = orxonox_cast<WorldEntityCollisionShape*>(newParent);
         if (parentWECCS)
             this->parentID_ = parentWECCS->getWorldEntityOwner()->getObjectID();
         else

Modified: branches/core4/src/orxonox/objects/controllers/ArtificialController.cc
===================================================================
--- branches/core4/src/orxonox/objects/controllers/ArtificialController.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/controllers/ArtificialController.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -180,18 +180,18 @@
 
         if (entity1->getXMLController())
         {
-            WaypointPatrolController* wpc = orxonox_cast<WaypointPatrolController>(entity1->getXMLController());
+            WaypointPatrolController* wpc = orxonox_cast<WaypointPatrolController*>(entity1->getXMLController());
             if (wpc)
                 team1 = wpc->getTeam();
         }
         if (entity2->getXMLController())
         {
-            WaypointPatrolController* wpc = orxonox_cast<WaypointPatrolController>(entity2->getXMLController());
+            WaypointPatrolController* wpc = orxonox_cast<WaypointPatrolController*>(entity2->getXMLController());
             if (wpc)
                 team2 = wpc->getTeam();
         }
 
-        TeamDeathmatch* tdm = orxonox_cast<TeamDeathmatch>(gametype);
+        TeamDeathmatch* tdm = orxonox_cast<TeamDeathmatch*>(gametype);
         if (tdm)
         {
             if (entity1->getPlayer())
@@ -202,7 +202,7 @@
         }
 
         TeamBaseMatchBase* base = 0;
-        base = orxonox_cast<TeamBaseMatchBase>(entity1);
+        base = orxonox_cast<TeamBaseMatchBase*>(entity1);
         if (base)
         {
             switch (base->getState())
@@ -218,7 +218,7 @@
                     team1 = -1;
             }
         }
-        base = orxonox_cast<TeamBaseMatchBase>(entity2);
+        base = orxonox_cast<TeamBaseMatchBase*>(entity2);
         if (base)
         {
             switch (base->getState())

Modified: branches/core4/src/orxonox/objects/controllers/HumanController.cc
===================================================================
--- branches/core4/src/orxonox/objects/controllers/HumanController.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/controllers/HumanController.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -160,7 +160,7 @@
     {
         if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
         {
-            Pawn* pawn = orxonox_cast<Pawn>(HumanController::localController_s->controllableEntity_);
+            Pawn* pawn = orxonox_cast<Pawn*>(HumanController::localController_s->controllableEntity_);
             if (pawn)
                 pawn->kill();
             else if (HumanController::localController_s->player_)
@@ -195,7 +195,7 @@
     Pawn* HumanController::getLocalControllerEntityAsPawn()
     {
         if (HumanController::localController_s)
-            return orxonox_cast<Pawn>(HumanController::localController_s->getControllableEntity());
+            return orxonox_cast<Pawn*>(HumanController::localController_s->getControllableEntity());
         else
             return NULL;
     }

Modified: branches/core4/src/orxonox/objects/gametypes/Pong.cc
===================================================================
--- branches/core4/src/orxonox/objects/gametypes/Pong.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/gametypes/Pong.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -143,7 +143,7 @@
 
         if (player && player->getController() && player->getController()->isA(Class(PongAI)))
         {
-            PongAI* ai = orxonox_cast<PongAI>(player->getController());
+            PongAI* ai = orxonox_cast<PongAI*>(player->getController());
             ai->setPongBall(this->ball_);
         }
     }

Modified: branches/core4/src/orxonox/objects/gametypes/TeamBaseMatch.cc
===================================================================
--- branches/core4/src/orxonox/objects/gametypes/TeamBaseMatch.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/gametypes/TeamBaseMatch.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -53,7 +53,7 @@
     // Change the control of the defeated base and respawn it with its initial health
     bool TeamBaseMatch::allowPawnDeath(Pawn* victim, Pawn* originator)
     {
-        TeamBaseMatchBase* base = orxonox_cast<TeamBaseMatchBase>(victim);
+        TeamBaseMatchBase* base = orxonox_cast<TeamBaseMatchBase*>(victim);
         if (base)
         {
             if (!originator)
@@ -86,7 +86,7 @@
     // if the player is in the same team as the base, he can't make any damage to it
     bool TeamBaseMatch::allowPawnDamage(Pawn* victim, Pawn* originator)
     {
-        TeamBaseMatchBase* base = orxonox_cast<TeamBaseMatchBase>(victim);
+        TeamBaseMatchBase* base = orxonox_cast<TeamBaseMatchBase*>(victim);
         if (base)
         {
             std::set<TeamBaseMatchBase*>::const_iterator it = this->bases_.find(base);

Modified: branches/core4/src/orxonox/objects/gametypes/TeamDeathmatch.cc
===================================================================
--- branches/core4/src/orxonox/objects/gametypes/TeamDeathmatch.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/gametypes/TeamDeathmatch.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -125,7 +125,7 @@
         {
             if ((*it)->isA(Class(TeamSpawnPoint)))
             {
-                TeamSpawnPoint* tsp = orxonox_cast<TeamSpawnPoint>(*it);
+                TeamSpawnPoint* tsp = orxonox_cast<TeamSpawnPoint*>(*it);
                 if (tsp && (int)tsp->getTeamNumber() != desiredTeamNr)
                 {
                     teamSpawnPoints.erase(it++);
@@ -170,7 +170,7 @@
                 {
                     if ((*it)->isA(Class(TeamColourable)))
                     {
-                        TeamColourable* tc = orxonox_cast<TeamColourable>(*it);
+                        TeamColourable* tc = orxonox_cast<TeamColourable*>(*it);
                         tc->setTeamColour(this->teamcolours_[it_player->second]);
                     }
                 }

Modified: branches/core4/src/orxonox/objects/infos/PlayerInfo.cc
===================================================================
--- branches/core4/src/orxonox/objects/infos/PlayerInfo.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/infos/PlayerInfo.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -185,7 +185,7 @@
         if (this->controllableEntityID_ != OBJECTID_UNKNOWN)
         {
             Synchronisable* temp = Synchronisable::getSynchronisable(this->controllableEntityID_);
-            ControllableEntity* entity = orxonox_cast<ControllableEntity>(temp);
+            ControllableEntity* entity = orxonox_cast<ControllableEntity*>(temp);
             this->startControl(entity);
         }
         else
@@ -198,7 +198,7 @@
     {
         if (this->gtinfoID_ != OBJECTID_UNKNOWN)
         {
-            this->gtinfo_ = orxonox_cast<GametypeInfo>(Synchronisable::getSynchronisable(this->gtinfoID_));
+            this->gtinfo_ = orxonox_cast<GametypeInfo*>(Synchronisable::getSynchronisable(this->gtinfoID_));
 
             if (!this->gtinfo_)
                 this->gtinfoID_ = OBJECTID_UNKNOWN;

Modified: branches/core4/src/orxonox/objects/items/Engine.cc
===================================================================
--- branches/core4/src/orxonox/objects/items/Engine.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/items/Engine.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -137,7 +137,7 @@
         {
             Synchronisable* object = Synchronisable::getSynchronisable(this->shipID_);
             if (object)
-                this->addToSpaceShip(orxonox_cast<SpaceShip>(object));
+                this->addToSpaceShip(orxonox_cast<SpaceShip*>(object));
         }
     }
 

Modified: branches/core4/src/orxonox/objects/pickup/PickupCollection.cc
===================================================================
--- branches/core4/src/orxonox/objects/pickup/PickupCollection.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/pickup/PickupCollection.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -65,7 +65,7 @@
         {
             Identifier* ident = Class(UsableItem);
             if(this->currentUsable_ == NULL && item->isA(ident))
-                this->currentUsable_ = orxonox_cast<UsableItem>(item);
+                this->currentUsable_ = orxonox_cast<UsableItem*>(item);
 
             this->items_.insert( std::pair<std::string, BaseItem*> (item->getPickupIdentifier(), item) );
             return true;
@@ -335,7 +335,7 @@
         for (std::multimap<std::string, BaseItem*>::iterator it = this->items_.begin(); it != this->items_.end(); it++)
         {
             if ((*it).second->isA(ident))
-                ret.push_back(orxonox_cast<EquipmentItem>((*it).second));
+                ret.push_back(orxonox_cast<EquipmentItem*>((*it).second));
         }
 
         return ret;
@@ -352,7 +352,7 @@
         for (std::multimap<std::string, BaseItem*>::iterator it = this->items_.begin(); it != this->items_.end(); it++)
         {
             if ((*it).second->isA(ident))
-                ret.push_back(orxonox_cast<PassiveItem>((*it).second));
+                ret.push_back(orxonox_cast<PassiveItem*>((*it).second));
         }
 
         return ret;
@@ -369,7 +369,7 @@
         for (std::multimap<std::string, BaseItem*>::iterator it = this->items_.begin(); it != this->items_.end(); it++)
         {
             if ((*it).second->isA(ident))
-                ret.push_back(orxonox_cast<UsableItem>((*it).second));
+                ret.push_back(orxonox_cast<UsableItem*>((*it).second));
         }
 
         return ret;

Modified: branches/core4/src/orxonox/objects/pickup/PickupSpawner.cc
===================================================================
--- branches/core4/src/orxonox/objects/pickup/PickupSpawner.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/pickup/PickupSpawner.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -85,7 +85,7 @@
         // Load the GUI image as soon as the PickupSpawner gets loaded
         //  = less delays while running
         BaseObject* newObject = this->itemTemplate_->getBaseclassIdentifier()->fabricate(this);
-        BaseItem* asItem = orxonox_cast<BaseItem>(newObject);
+        BaseItem* asItem = orxonox_cast<BaseItem*>(newObject);
         if (asItem)
         {
             asItem->addTemplate(this->itemTemplate_);
@@ -153,7 +153,7 @@
         if (this->isActive() && this->itemTemplate_ && this->itemTemplate_->getBaseclassIdentifier())
         {
             BaseObject* newObject = this->itemTemplate_->getBaseclassIdentifier()->fabricate(this);
-            BaseItem* asItem = orxonox_cast<BaseItem>(newObject);
+            BaseItem* asItem = orxonox_cast<BaseItem*>(newObject);
             if (asItem)
             {
                 asItem->setPickupIdentifier(this->itemTemplateName_);

Modified: branches/core4/src/orxonox/objects/quest/QuestManager.cc
===================================================================
--- branches/core4/src/orxonox/objects/quest/QuestManager.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/quest/QuestManager.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -238,7 +238,7 @@
             COUT(1) << "Error: GUIOverlay has no owner. " << std::endl;
             return NULL;
         }
-        player = orxonox_cast<PlayerInfo>(obj);
+        player = orxonox_cast<PlayerInfo*>(obj);
     
         QuestContainer* root = NULL;
         QuestContainer* current = NULL;

Modified: branches/core4/src/orxonox/objects/weaponsystem/projectiles/Projectile.cc
===================================================================
--- branches/core4/src/orxonox/objects/weaponsystem/projectiles/Projectile.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/weaponsystem/projectiles/Projectile.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -125,7 +125,7 @@
             if (this->owner_)
                 dmg = this->owner_->getPickups().processModifiers(ModifierType::Damage, dmg, false);
 
-            Pawn* victim = orxonox_cast<Pawn>(otherObject);
+            Pawn* victim = orxonox_cast<Pawn*>(otherObject);
             if (victim)
                 victim->damage(dmg, this->owner_);
         }

Modified: branches/core4/src/orxonox/objects/worldentities/Attacher.cc
===================================================================
--- branches/core4/src/orxonox/objects/worldentities/Attacher.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/worldentities/Attacher.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -110,7 +110,7 @@
         if (this->target_ || this->targetname_ == "")
             return;
 
-        WorldEntity* entity = orxonox_cast<WorldEntity>(object);
+        WorldEntity* entity = orxonox_cast<WorldEntity*>(object);
         if (entity && entity->getName() == this->targetname_)
         {
             this->target_ = entity;

Modified: branches/core4/src/orxonox/objects/worldentities/BigExplosion.cc
===================================================================
--- branches/core4/src/orxonox/objects/worldentities/BigExplosion.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/worldentities/BigExplosion.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -98,39 +98,39 @@
     {
         Identifier* idDE1 = Class(MovableEntity);
         BaseObject* oDE1 = idDE1->fabricate(this);
-        this->debrisEntity1_ = orxonox_cast<MovableEntity>(oDE1);
+        this->debrisEntity1_ = orxonox_cast<MovableEntity*>(oDE1);
 
         Identifier* idDE2 = Class(MovableEntity);
         BaseObject* oDE2 = idDE2->fabricate(this);
-        this->debrisEntity2_ = orxonox_cast<MovableEntity>(oDE2);
+        this->debrisEntity2_ = orxonox_cast<MovableEntity*>(oDE2);
 
         Identifier* idDE3 = Class(MovableEntity);
         BaseObject* oDE3 = idDE3 ->fabricate(this);
-        this->debrisEntity3_ = orxonox_cast<MovableEntity>(oDE3);
+        this->debrisEntity3_ = orxonox_cast<MovableEntity*>(oDE3);
 
         Identifier* idDE4 = Class(MovableEntity);
         BaseObject* oDE4 = idDE4->fabricate(this);
-        this->debrisEntity4_ = orxonox_cast<MovableEntity>(oDE4);
+        this->debrisEntity4_ = orxonox_cast<MovableEntity*>(oDE4);
 
         Identifier* idD1 = Class(Model);
         BaseObject* oD1 = idD1->fabricate(this);
-        this->debris1_ = orxonox_cast<Model>(oD1);
+        this->debris1_ = orxonox_cast<Model*>(oD1);
 
         Identifier* idD2 = Class(Model);
         BaseObject* oD2 = idD2->fabricate(this);
-        this->debris2_ = orxonox_cast<Model>(oD2);
+        this->debris2_ = orxonox_cast<Model*>(oD2);
 
         Identifier* idD3 = Class(Model);
         BaseObject* oD3 = idD3->fabricate(this);
-        this->debris3_ = orxonox_cast<Model>(oD3);
+        this->debris3_ = orxonox_cast<Model*>(oD3);
 
         Identifier* idD4 = Class(Model);
         BaseObject* oD4 = idD4->fabricate(this);
-        this->debris4_ = orxonox_cast<Model>(oD4);
+        this->debris4_ = orxonox_cast<Model*>(oD4);
 
         Identifier* id6 = Class(StaticEntity);
         BaseObject* object4 = id6->fabricate(this);
-        this->explosion_ = orxonox_cast<StaticEntity>(object4);
+        this->explosion_ = orxonox_cast<StaticEntity*>(object4);
 
         this->debrisSmoke1_ = new ParticleInterface(this->getScene()->getSceneManager(), "Orxonox/smoke7", this->LOD_);
         this->debrisSmoke2_ =  new ParticleInterface(this->getScene()->getSceneManager(), "Orxonox/smoke7", this->LOD_);
@@ -201,20 +201,20 @@
         {
             Identifier* idf1 = Class(Model);
             BaseObject* obj1 = idf1->fabricate(this);
-            Model* part1 = orxonox_cast<Model>(obj1);
+            Model* part1 = orxonox_cast<Model*>(obj1);
 
 
             Identifier* idf2 = Class(Model);
             BaseObject* obj2 = idf2->fabricate(this);
-            Model* part2 = orxonox_cast<Model>(obj2);
+            Model* part2 = orxonox_cast<Model*>(obj2);
 
             Identifier* idf3 = Class(MovableEntity);
             BaseObject* obj3 = idf3->fabricate(this);
-            MovableEntity* partEntity1 = orxonox_cast<MovableEntity>(obj3);
+            MovableEntity* partEntity1 = orxonox_cast<MovableEntity*>(obj3);
 
             Identifier* idf4 = Class(MovableEntity);
             BaseObject* obj4 = idf4->fabricate(this);
-            MovableEntity* partEntity2 = orxonox_cast<MovableEntity>(obj4);
+            MovableEntity* partEntity2 = orxonox_cast<MovableEntity*>(obj4);
 
             partEntity1->setVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1))*rnd(10,100));
             partEntity1->setAngularVelocity(Vector3(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1)).normalisedCopy() * Degree(400).valueRadians());

Modified: branches/core4/src/orxonox/objects/worldentities/ControllableEntity.cc
===================================================================
--- branches/core4/src/orxonox/objects/worldentities/ControllableEntity.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/worldentities/ControllableEntity.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -266,7 +266,7 @@
         // just do this in case the entity wasn't yet synchronized when the corresponding PlayerInfo got our objectID
         if (this->playerID_ != OBJECTID_UNKNOWN)
         {
-            this->player_ = orxonox_cast<PlayerInfo>(Synchronisable::getSynchronisable(this->playerID_));
+            this->player_ = orxonox_cast<PlayerInfo*>(Synchronisable::getSynchronisable(this->playerID_));
             if (this->player_ && (this->player_->getControllableEntity() != this))
                 this->player_->startControl(this);
         }

Modified: branches/core4/src/orxonox/objects/worldentities/MovableEntity.cc
===================================================================
--- branches/core4/src/orxonox/objects/worldentities/MovableEntity.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/worldentities/MovableEntity.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -75,7 +75,7 @@
     {
         if (GameMode::isMaster() && enableCollisionDamage_)
         {
-            Pawn* victim = orxonox_cast<Pawn>(otherObject);
+            Pawn* victim = orxonox_cast<Pawn*>(otherObject);
             if (victim)
             {
                 victim->damage(this->collisionDamage_ * (victim->getVelocity() - this->getVelocity()).length());

Modified: branches/core4/src/orxonox/objects/worldentities/PongBall.cc
===================================================================
--- branches/core4/src/orxonox/objects/worldentities/PongBall.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/worldentities/PongBall.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -230,8 +230,8 @@
         if (!this->bat_)
             this->bat_ = new PongBat*[2];
         if (this->batID_[0] != OBJECTID_UNKNOWN)
-            this->bat_[0] = orxonox_cast<PongBat>(Synchronisable::getSynchronisable(this->batID_[0]));
+            this->bat_[0] = orxonox_cast<PongBat*>(Synchronisable::getSynchronisable(this->batID_[0]));
         if (this->batID_[1] != OBJECTID_UNKNOWN)
-            this->bat_[1] = orxonox_cast<PongBat>(Synchronisable::getSynchronisable(this->batID_[1]));
+            this->bat_[1] = orxonox_cast<PongBat*>(Synchronisable::getSynchronisable(this->batID_[1]));
     }
 }

Modified: branches/core4/src/orxonox/objects/worldentities/PongCenterpoint.cc
===================================================================
--- branches/core4/src/orxonox/objects/worldentities/PongCenterpoint.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/worldentities/PongCenterpoint.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -72,7 +72,7 @@
     {
         if (this->getGametype() && this->getGametype()->isA(Class(Pong)))
         {
-            Pong* pong_gametype = orxonox_cast<Pong>(this->getGametype());
+            Pong* pong_gametype = orxonox_cast<Pong*>(this->getGametype());
             pong_gametype->setCenterpoint(this);
         }
     }

Modified: branches/core4/src/orxonox/objects/worldentities/WorldEntity.cc
===================================================================
--- branches/core4/src/orxonox/objects/worldentities/WorldEntity.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/worldentities/WorldEntity.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -209,7 +209,7 @@
     {
         if (this->parentID_ != OBJECTID_UNKNOWN)
         {
-            WorldEntity* parent = orxonox_cast<WorldEntity>(Synchronisable::getSynchronisable(this->parentID_));
+            WorldEntity* parent = orxonox_cast<WorldEntity*>(Synchronisable::getSynchronisable(this->parentID_));
             if (parent)
                 this->attachToParent(parent);
         }

Modified: branches/core4/src/orxonox/objects/worldentities/pawns/Destroyer.cc
===================================================================
--- branches/core4/src/orxonox/objects/worldentities/pawns/Destroyer.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/worldentities/pawns/Destroyer.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -39,7 +39,7 @@
     {
         RegisterObject(Destroyer);
 
-        UnderAttack* gametype = orxonox_cast<UnderAttack>(this->getGametype());
+        UnderAttack* gametype = orxonox_cast<UnderAttack*>(this->getGametype());
         if (gametype)
         {
             gametype->addDestroyer(this);

Modified: branches/core4/src/orxonox/objects/worldentities/pawns/SpaceShip.cc
===================================================================
--- branches/core4/src/orxonox/objects/worldentities/pawns/SpaceShip.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/worldentities/pawns/SpaceShip.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -197,7 +197,7 @@
                 if (identifier)
                 {
                     BaseObject* object = identifier->fabricate(this);
-                    this->engine_ = orxonox_cast<Engine>(object);
+                    this->engine_ = orxonox_cast<Engine*>(object);
 
                     if (this->engine_)
                     {

Modified: branches/core4/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.cc
===================================================================
--- branches/core4/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -44,7 +44,7 @@
 
         this->state_ = BaseState::uncontrolled;
 
-        TeamBaseMatch* gametype = orxonox_cast<TeamBaseMatch>(this->getGametype());
+        TeamBaseMatch* gametype = orxonox_cast<TeamBaseMatch*>(this->getGametype());
         if (gametype)
         {
             gametype->addBase(this);
@@ -57,7 +57,7 @@
     {
         this->fireEvent();
 
-        TeamDeathmatch* gametype = orxonox_cast<TeamDeathmatch>(this->getGametype());
+        TeamDeathmatch* gametype = orxonox_cast<TeamDeathmatch*>(this->getGametype());
         if (!gametype)
             return;
 
@@ -83,7 +83,7 @@
         {
             if ((*it)->isA(Class(TeamColourable)))
             {
-                TeamColourable* tc = orxonox_cast<TeamColourable>(*it);
+                TeamColourable* tc = orxonox_cast<TeamColourable*>(*it);
                 tc->setTeamColour(colour);
             }
         }

Modified: branches/core4/src/orxonox/objects/worldentities/triggers/CheckPoint.cc
===================================================================
--- branches/core4/src/orxonox/objects/worldentities/triggers/CheckPoint.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/worldentities/triggers/CheckPoint.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -84,7 +84,7 @@
     {
         DistanceTrigger::triggered(bIsTriggered);
 
-        Asteroids* gametype = orxonox_cast<Asteroids>(this->getGametype());
+        Asteroids* gametype = orxonox_cast<Asteroids*>(this->getGametype());
         if (gametype)
         {
             gametype->addTime(addTime_);

Modified: branches/core4/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc
===================================================================
--- branches/core4/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -119,7 +119,7 @@
     // Iterate through all objects
     for (ClassTreeMaskObjectIterator it = this->targetMask_.begin(); it != this->targetMask_.end(); ++it)
     {
-      WorldEntity* entity = orxonox_cast<WorldEntity>(*it);
+      WorldEntity* entity = orxonox_cast<WorldEntity*>(*it);
       if (!entity)
         continue;
 
@@ -130,7 +130,7 @@
         // If the target is a player (resp. is a, or is derived from a, ControllableEntity) the triggeringPlayer is set to the target entity.
         if(this->isForPlayer())
         {
-          Pawn* player = orxonox_cast<Pawn>(entity);
+          Pawn* player = orxonox_cast<Pawn*>(entity);
           this->setTriggeringPlayer(player);
         }
 

Modified: branches/core4/src/orxonox/overlays/hud/AnnounceMessage.cc
===================================================================
--- branches/core4/src/orxonox/overlays/hud/AnnounceMessage.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/overlays/hud/AnnounceMessage.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -55,6 +55,6 @@
     {
         SUPER(AnnounceMessage, changedOwner);
 
-        this->owner_ = orxonox_cast<PlayerInfo>(this->getOwner());
+        this->owner_ = orxonox_cast<PlayerInfo*>(this->getOwner());
     }
 }

Modified: branches/core4/src/orxonox/overlays/hud/DeathMessage.cc
===================================================================
--- branches/core4/src/orxonox/overlays/hud/DeathMessage.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/overlays/hud/DeathMessage.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -55,6 +55,6 @@
     {
         SUPER(DeathMessage, changedOwner);
 
-        this->owner_ = orxonox_cast<PlayerInfo>(this->getOwner());
+        this->owner_ = orxonox_cast<PlayerInfo*>(this->getOwner());
     }
 }

Modified: branches/core4/src/orxonox/overlays/hud/GametypeStatus.cc
===================================================================
--- branches/core4/src/orxonox/overlays/hud/GametypeStatus.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/overlays/hud/GametypeStatus.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -85,6 +85,6 @@
     {
         SUPER(GametypeStatus, changedOwner);
 
-        this->owner_ = orxonox_cast<PlayerInfo>(this->getOwner());
+        this->owner_ = orxonox_cast<PlayerInfo*>(this->getOwner());
     }
 }

Modified: branches/core4/src/orxonox/overlays/hud/HUDHealthBar.cc
===================================================================
--- branches/core4/src/orxonox/overlays/hud/HUDHealthBar.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/overlays/hud/HUDHealthBar.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -93,7 +93,7 @@
     {
         SUPER(HUDHealthBar, changedOwner);
 
-        this->owner_ = orxonox_cast<Pawn>(this->getOwner());
+        this->owner_ = orxonox_cast<Pawn*>(this->getOwner());
     }
 
     void HUDHealthBar::changedOverlayGroup()

Modified: branches/core4/src/orxonox/overlays/hud/HUDRadar.cc
===================================================================
--- branches/core4/src/orxonox/overlays/hud/HUDRadar.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/overlays/hud/HUDRadar.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -163,6 +163,6 @@
     {
         SUPER(HUDRadar, changedOwner);
 
-        this->owner_ = orxonox_cast<Pawn>(this->getOwner());
+        this->owner_ = orxonox_cast<Pawn*>(this->getOwner());
     }
 }

Modified: branches/core4/src/orxonox/overlays/hud/HUDSpeedBar.cc
===================================================================
--- branches/core4/src/orxonox/overlays/hud/HUDSpeedBar.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/overlays/hud/HUDSpeedBar.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -64,6 +64,6 @@
     {
         SUPER(HUDSpeedBar, changedOwner);
 
-        this->owner_ = orxonox_cast<SpaceShip>(this->getOwner());
+        this->owner_ = orxonox_cast<SpaceShip*>(this->getOwner());
     }
 }

Modified: branches/core4/src/orxonox/overlays/hud/HUDTimer.cc
===================================================================
--- branches/core4/src/orxonox/overlays/hud/HUDTimer.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/overlays/hud/HUDTimer.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -67,6 +67,6 @@
     {
         SUPER(HUDTimer, changedOwner);
 
-        this->owner_ = orxonox_cast<ControllableEntity>(this->getOwner());
+        this->owner_ = orxonox_cast<ControllableEntity*>(this->getOwner());
     }
 }

Modified: branches/core4/src/orxonox/overlays/hud/KillMessage.cc
===================================================================
--- branches/core4/src/orxonox/overlays/hud/KillMessage.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/overlays/hud/KillMessage.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -55,6 +55,6 @@
     {
         SUPER(KillMessage, changedOwner);
 
-        this->owner_ = orxonox_cast<PlayerInfo>(this->getOwner());
+        this->owner_ = orxonox_cast<PlayerInfo*>(this->getOwner());
     }
 }

Modified: branches/core4/src/orxonox/overlays/hud/PongScore.cc
===================================================================
--- branches/core4/src/orxonox/overlays/hud/PongScore.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/overlays/hud/PongScore.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -132,7 +132,7 @@
         SUPER(PongScore, changedOwner);
 
         if (this->getOwner() && this->getOwner()->getGametype())
-            this->owner_ = orxonox_cast<Pong>(this->getOwner()->getGametype());
+            this->owner_ = orxonox_cast<Pong*>(this->getOwner()->getGametype());
         else
             this->owner_ = 0;
     }

Modified: branches/core4/src/orxonox/overlays/hud/TeamBaseMatchScore.cc
===================================================================
--- branches/core4/src/orxonox/overlays/hud/TeamBaseMatchScore.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/overlays/hud/TeamBaseMatchScore.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -117,7 +117,7 @@
         SUPER(TeamBaseMatchScore, changedOwner);
 
         if (this->getOwner() && this->getOwner()->getGametype())
-            this->owner_ = orxonox_cast<TeamBaseMatch>(this->getOwner()->getGametype());
+            this->owner_ = orxonox_cast<TeamBaseMatch*>(this->getOwner()->getGametype());
         else
             this->owner_ = 0;
     }

Modified: branches/core4/src/orxonox/overlays/hud/UnderAttackHealthBar.cc
===================================================================
--- branches/core4/src/orxonox/overlays/hud/UnderAttackHealthBar.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/overlays/hud/UnderAttackHealthBar.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -72,12 +72,12 @@
     {
         SUPER(UnderAttackHealthBar, changedOwner);
 
-        PlayerInfo* player = orxonox_cast<PlayerInfo>(this->getOwner());
+        PlayerInfo* player = orxonox_cast<PlayerInfo*>(this->getOwner());
         if (player)
         {
             this->owner_ = player;
 
-            UnderAttack* ua = orxonox_cast<UnderAttack>(player->getGametype());
+            UnderAttack* ua = orxonox_cast<UnderAttack*>(player->getGametype());
             if (ua)
             {
                 this->setOwner(ua->getDestroyer());

Modified: branches/core4/src/orxonox/overlays/map/Map.cc
===================================================================
--- branches/core4/src/orxonox/overlays/map/Map.cc	2009-06-28 11:47:57 UTC (rev 3238)
+++ branches/core4/src/orxonox/overlays/map/Map.cc	2009-06-28 12:45:37 UTC (rev 3239)
@@ -358,7 +358,7 @@
         SUPER(Map, changedOwner);
         //COUT(0) << "shipptr" << this->getOwner()->getReverseCamera() << std::endl;
 
-        ControllableEntity* entity = orxonox_cast<ControllableEntity>(this->getOwner());
+        ControllableEntity* entity = orxonox_cast<ControllableEntity*>(this->getOwner());
         if(entity && entity->getReverseCamera())
         {
             //COUT(0) << "foo";




More information about the Orxonox-commit mailing list