[Orxonox-commit 2849] r7552 - in code/trunk: doc/api src/modules/notifications src/modules/notifications/dispatchers src/modules/questsystem src/modules/questsystem/effects src/orxonox/interfaces src/orxonox/items

dafrick at orxonox.net dafrick at orxonox.net
Sun Oct 17 22:50:43 CEST 2010


Author: dafrick
Date: 2010-10-17 22:50:43 +0200 (Sun, 17 Oct 2010)
New Revision: 7552

Modified:
   code/trunk/doc/api/Groups.dox
   code/trunk/src/modules/notifications/Notification.h
   code/trunk/src/modules/notifications/NotificationDispatcher.cc
   code/trunk/src/modules/notifications/NotificationDispatcher.h
   code/trunk/src/modules/notifications/NotificationManager.cc
   code/trunk/src/modules/notifications/NotificationManager.h
   code/trunk/src/modules/notifications/NotificationQueue.h
   code/trunk/src/modules/notifications/dispatchers/CommandNotification.h
   code/trunk/src/modules/notifications/dispatchers/SimpleNotification.h
   code/trunk/src/modules/questsystem/GlobalQuest.cc
   code/trunk/src/modules/questsystem/GlobalQuest.h
   code/trunk/src/modules/questsystem/LocalQuest.cc
   code/trunk/src/modules/questsystem/LocalQuest.h
   code/trunk/src/modules/questsystem/Quest.cc
   code/trunk/src/modules/questsystem/Quest.h
   code/trunk/src/modules/questsystem/QuestDescription.h
   code/trunk/src/modules/questsystem/QuestEffect.h
   code/trunk/src/modules/questsystem/QuestEffectBeacon.cc
   code/trunk/src/modules/questsystem/QuestEffectBeacon.h
   code/trunk/src/modules/questsystem/QuestHint.cc
   code/trunk/src/modules/questsystem/QuestHint.h
   code/trunk/src/modules/questsystem/QuestItem.h
   code/trunk/src/modules/questsystem/QuestListener.h
   code/trunk/src/modules/questsystem/QuestManager.cc
   code/trunk/src/modules/questsystem/QuestManager.h
   code/trunk/src/modules/questsystem/effects/AddQuest.cc
   code/trunk/src/modules/questsystem/effects/AddQuest.h
   code/trunk/src/modules/questsystem/effects/AddQuestHint.cc
   code/trunk/src/modules/questsystem/effects/AddQuestHint.h
   code/trunk/src/modules/questsystem/effects/AddReward.h
   code/trunk/src/modules/questsystem/effects/ChangeQuestStatus.h
   code/trunk/src/modules/questsystem/effects/CompleteQuest.cc
   code/trunk/src/modules/questsystem/effects/CompleteQuest.h
   code/trunk/src/modules/questsystem/effects/FailQuest.cc
   code/trunk/src/modules/questsystem/effects/FailQuest.h
   code/trunk/src/orxonox/interfaces/NotificationListener.h
   code/trunk/src/orxonox/interfaces/PickupCarrier.h
   code/trunk/src/orxonox/interfaces/Pickupable.h
   code/trunk/src/orxonox/items/Engine.h
Log:
Resolving some TODOs and doing some additional cleanup. Almost done now...


Modified: code/trunk/doc/api/Groups.dox
===================================================================
--- code/trunk/doc/api/Groups.dox	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/doc/api/Groups.dox	2010-10-17 20:50:43 UTC (rev 7552)
@@ -332,14 +332,6 @@
     @subsection CreatingAPickupClass Creating the class
     For a new @ref orxonox::Pickupable "Pickupable" you need to create a new class in <code>>modules/pickup/items</code>. Your class needs to be derived from another pickup class, normally this would either be @ref orxonox::Pickupable "Pickupable", @ref orxonox::CollectiblePickup "CollectiblePickup" or @ref orxonox::Pickup "Pickup". @ref orxonox::Pickupable "Pickupable" is (as mentioned earlier) the base class of all things that can be picked up, thus of all pickups. @ref orxonox::CollectiblePickup "CollectiblePickup" is a (directly) derived class of @ref orxonox::Pickupable  "Pickupable" and provides the additional functionality of enabling your pickup to be used in a @ref orxonox::PickupCollection "PickupCollection". However you are probably going to want to derive your class form @ref orxonox::Pickup "Pickup", because it is a @ref orxonox::CollectiblePickup "CollectiblePickup" and provides some useful methods. So have a look at @ref orxonox::Pickup "Pickup".
     Once you have created your new pickup class you have to insert it in the <code>PickupPrereqs.h</code> file in the <code>modules/pickup</code> folder and in the <code>CMakeList.txt</code> file in the <code>modules/pickup/items</code> folder. Also have a look at other pickups to make sure you include all the necessary files in your class.
-    Additionally you have to add your pickup as a friend of the @ref orxonox::PickupCarrier "PickupCarrier" class. To that end open <code>PickupCarrier.h</code> in the <code>orxonox/interfaces</code> folder and add your class under
-    @code
-    // Forward-declarations.
-    @endcode
-    and under
-    @code
-    // Friends
-    @endcode
 
     @subsection ChoosingTheCarriers Coosing the carriers
     You also have to choose the entities that are allowed to pick your pickup up. After you have chosen the entity that carries your pickup, you need to do the following.
@@ -412,6 +404,8 @@
 
     @defgroup PickupItems Items
     @ingroup Pickup
+
+    The actual pickups can be found here.
 */
 
 /**

Modified: code/trunk/src/modules/notifications/Notification.h
===================================================================
--- code/trunk/src/modules/notifications/Notification.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/notifications/Notification.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -48,8 +48,11 @@
         A Notification represents a short message used to inform the player about something that just happened. With the @ref orxonox::NotificationManager "NotificationManager" a Notification can be sent from any part of orxonox and is then displayed by the proper @ref orxonox::NotificationQueue "NotificationQueue(s)" (depending on which senders the specific @ref orxonox::NotificationQueue "NotificationQueues" accepts).
 
         A Notification is just a datastructure that is used internally by the Notifications module.
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Notifications
     */
     class _NotificationsExport Notification : public OrxonoxClass
     {

Modified: code/trunk/src/modules/notifications/NotificationDispatcher.cc
===================================================================
--- code/trunk/src/modules/notifications/NotificationDispatcher.cc	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/notifications/NotificationDispatcher.cc	2010-10-17 20:50:43 UTC (rev 7552)
@@ -117,7 +117,6 @@
         }
         else if(GameMode::isServer())
         {
-            //TODO: This may fail if the object has not been synchronized, yet.
             callMemberNetworkFunction(NotificationDispatcher, dispatch, this->getObjectID(), clientId, clientId);
         }
     }

Modified: code/trunk/src/modules/notifications/NotificationDispatcher.h
===================================================================
--- code/trunk/src/modules/notifications/NotificationDispatcher.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/notifications/NotificationDispatcher.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -38,6 +38,7 @@
 #include "notifications/NotificationsPrereqs.h"
 
 #include <string>
+
 #include "core/BaseObject.h"
 #include "network/synchronisable/Synchronisable.h"
 
@@ -61,8 +62,11 @@
         </NotificationDispatcher>
         @endcode
         But keep in mind, that NotificationDispatcher is an abstract class and in this example @ref orxonox::PlayerTrigger "PlayerTrigger" stands for any event that is caused by a @ref orxonox::PlayerTrigger "PlayerTrigger", so instead of @ref orxonox::PlayerTrigger "PlayerTrigger", there could be a @ref orxonox::DistanceTrigger "DistanceTrigger", or a @ref orxonox::DistanceMultiTrigger "DistanceMutliTrigger", or even an @ref orxonox::EventListener "EventListener" that waits for an event coming from any kind of @ref orxonox::PlayerTrigger "PlayerTrigger".
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Notifications
     */
     class _NotificationsExport NotificationDispatcher : public BaseObject, public Synchronisable
     {

Modified: code/trunk/src/modules/notifications/NotificationManager.cc
===================================================================
--- code/trunk/src/modules/notifications/NotificationManager.cc	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/notifications/NotificationManager.cc	2010-10-17 20:50:43 UTC (rev 7552)
@@ -148,7 +148,7 @@
     {
         assert(notification);
 
-        std::time_t time = std::time(0); //TODO: Doesn't this expire? //!< Get current time.
+        std::time_t time = std::time(0); // Get current time.
 
         // Add the Notification to the list that holds all Notifications.
         this->allNotificationsList_.insert(std::pair<std::time_t, Notification*>(time, notification));

Modified: code/trunk/src/modules/notifications/NotificationManager.h
===================================================================
--- code/trunk/src/modules/notifications/NotificationManager.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/notifications/NotificationManager.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -52,8 +52,11 @@
         The Singleton NotificationManager functions as a gateway between @ref orxonox::Notification "Notifications" and @ref orxonox::NotificationListener "NotificationListeners".
         It receives, organizes @ref orxonox::Notification "Notifications" and the redistributes them to the specific @ref orxonox::NotificationListener "NotificationListeners".
         It also provides a static function to send @ref orxonox::Notification "Notifications" and works as a liaison between the @ref orxonox::NotificationQueue "NotificationQueues" and the GUI that displays notification, called NotificationLayer.
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Notifications
     */
     class _NotificationsExport NotificationManager // tolua_export
         : public Singleton<NotificationManager>, public OrxonoxClass

Modified: code/trunk/src/modules/notifications/NotificationQueue.h
===================================================================
--- code/trunk/src/modules/notifications/NotificationQueue.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/notifications/NotificationQueue.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -50,14 +50,24 @@
 namespace orxonox // tolua_export
 { // tolua_export
 
-    //! Container to allow easy handling.
+    /**
+    @brief
+        Container to allow easy handling of the @ref orxonox::Notification "Notifications".
+
+    @ingroup Notifications
+    */
     struct NotificationContainer
     {
         Notification* notification; //!< The Notification displayed.
         time_t time; //!< The time the Notification was sent and thus first displayed.
     };
 
-    //! Struct to allow ordering of @ref orxonox::NotificationContainer "NotificationContainers".
+    /**
+    @brief
+        Struct to allow ordering of @ref orxonox::NotificationContainer "NotificationContainers".
+
+    @ingroup Notifications
+    */
     struct NotificationContainerCompare {
         bool operator() (const NotificationContainer* const & a, const NotificationContainer* const & b) const
             { return a->time < b->time; } //!< Ordering by time.
@@ -75,6 +85,8 @@
 
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Notifications
     */
     class _NotificationsExport NotificationQueue // tolua_export
         : public Tickable, public NotificationListener

Modified: code/trunk/src/modules/notifications/dispatchers/CommandNotification.h
===================================================================
--- code/trunk/src/modules/notifications/dispatchers/CommandNotification.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/notifications/dispatchers/CommandNotification.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -59,8 +59,11 @@
         @endcode
         Upon being triggered this would display the @ref orxonox::Notification "Notification" "Please press {the binding of the specified command} to do something".
         For more information on what can be used for @code <PlayerTrigger /> @endcode see the @ref orxonox::NotificationDispatcher "NotificationDispatcher" documentation.
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup NotificationDispatchers
     */
     class _NotificationsExport CommandNotification : public NotificationDispatcher
     {

Modified: code/trunk/src/modules/notifications/dispatchers/SimpleNotification.h
===================================================================
--- code/trunk/src/modules/notifications/dispatchers/SimpleNotification.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/notifications/dispatchers/SimpleNotification.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -57,8 +57,11 @@
         </SimpleNotification>
         @endcode
         For more information on what can be used for @code <PlayerTrigger /> @endcode see the @ref orxonox::NotificationDispatcher "NotificationDispatcher" documentation.
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup NotificationDispatchers
     */
     class _NotificationsExport SimpleNotification : public NotificationDispatcher
     {

Modified: code/trunk/src/modules/questsystem/GlobalQuest.cc
===================================================================
--- code/trunk/src/modules/questsystem/GlobalQuest.cc	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/GlobalQuest.cc	2010-10-17 20:50:43 UTC (rev 7552)
@@ -134,8 +134,6 @@
         The player for whom is to be checked.
     @return
         Returns true if the quest can be started, false if not.
-    @throws
-        Throws an exception if either isInactive() of isActive() throws one.
     */
     bool GlobalQuest::isStartable(const PlayerInfo* player) const
     {
@@ -152,8 +150,6 @@
         The player for whom is to be checked.
     @return
         Returns true if the Quest can be failed, false if not.
-    @throws
-        Throws an Exception if isActive() throws one.
     */
     bool GlobalQuest::isFailable(const PlayerInfo* player) const
     {
@@ -168,8 +164,6 @@
         The player for whom is to be checked.
     @return
         Returns true if the Quest can be completed, false if not.
-    @throws
-        Throws an Exception if isActive() throws one.
     */
     bool GlobalQuest::isCompletable(const PlayerInfo* player) const
     {
@@ -181,14 +175,10 @@
         Returns the status of the Quest for a specific player.
     @param player
         The player.
-    @throws
-        Throws an Exception if player is NULL.
     */
     QuestStatus::Value GlobalQuest::getStatus(const PlayerInfo* player) const
     {
-        //TODO: Replace with assert.
-        if(player == NULL) // We don't want NULL-Pointers!
-            ThrowException(Argument, "The input PlayerInfo* is NULL.");
+        assert(player);
 
         // Find the player.
         std::set<PlayerInfo*>::const_iterator it = this->players_.find((PlayerInfo*)(void*)player);
@@ -211,9 +201,7 @@
     */
     bool GlobalQuest::setStatus(PlayerInfo* player, const QuestStatus::Value & status)
     {
-        //TODO: Replace with assert.
-        if(player == NULL) // We don't want NULL-Pointers!
-            return false;
+        assert(player);
 
         // Find the player.
         std::set<PlayerInfo*>::const_iterator it = this->players_.find(player);
@@ -234,12 +222,7 @@
     */
     bool GlobalQuest::addRewardEffect(QuestEffect* effect)
     {
-        //TODO: Replace with assert?
-        if(effect == NULL) // We don't want NULL-Pointers!
-        {
-            COUT(2) << "The reward effect to be added to quest {" << this->getId() << "} was NULL." << std::endl;
-            return false;
-        }
+        assert(effect);
 
         this->rewards_.push_back(effect); // Add the QuestEffect to the list.
 

Modified: code/trunk/src/modules/questsystem/GlobalQuest.h
===================================================================
--- code/trunk/src/modules/questsystem/GlobalQuest.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/GlobalQuest.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -43,6 +43,7 @@
 
 namespace orxonox
 {
+
     /**
     @brief
         GlobalQuests are @ref orxonox::Quest "Quests", that have the same status for all players.
@@ -79,8 +80,11 @@
             </reward-effects>
         </GlobalQuest>
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport GlobalQuest : public Quest
     {

Modified: code/trunk/src/modules/questsystem/LocalQuest.cc
===================================================================
--- code/trunk/src/modules/questsystem/LocalQuest.cc	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/LocalQuest.cc	2010-10-17 20:50:43 UTC (rev 7552)
@@ -124,8 +124,6 @@
         The player for whom is to be checked.
     @return
         Returns true if the Quest can be started, false if not.
-    @throws
-        Throws an exception if isInactive(PlayerInfo*) throws one.
     */
     bool LocalQuest::isStartable(const PlayerInfo* player) const
     {
@@ -142,8 +140,6 @@
         The player for whom is to be checked.
     @return
         Returns true if the Quest can be failed, false if not.
-    @throws
-        Throws an exception if isActive(PlayerInfo*) throws one.
     */
     bool LocalQuest::isFailable(const PlayerInfo* player) const
     {
@@ -157,8 +153,6 @@
         The player for whom is to be checked.
     @return
         Returns true if the Quest can be completed, false if not.
-    @throws
-        Throws an exception if isInactive(PlayerInfo*) throws one.
     */
     bool LocalQuest::isCompletable(const PlayerInfo* player) const
     {
@@ -172,14 +166,10 @@
         The player.
     @return
         Returns the status of the Quest for the input player.
-    @throws
-        Throws an Exception if player is NULL.
     */
     QuestStatus::Value LocalQuest::getStatus(const PlayerInfo* player) const
     {
-        //TODO: Replace with assert.
-        if(player == NULL) // No player has no defined status.
-            ThrowException(Argument, "The input PlayerInfo* is NULL.");
+        assert(player);
 
         std::map<const PlayerInfo*, QuestStatus::Value>::const_iterator it = this->playerStatus_.find(player);
         if (it != this->playerStatus_.end()) // If there is a player in the map.
@@ -201,9 +191,7 @@
     */
     bool LocalQuest::setStatus(PlayerInfo* player, const QuestStatus::Value & status)
     {
-        //TODO: Replace with assert.
-        if(player == NULL) // We can't set a status for no player.
-            return false;
+        assert(player);
 
         this->playerStatus_[player] = status;
         return true;

Modified: code/trunk/src/modules/questsystem/LocalQuest.h
===================================================================
--- code/trunk/src/modules/questsystem/LocalQuest.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/LocalQuest.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -42,6 +42,7 @@
 
 namespace orxonox
 {
+
     /**
     @brief
         Handles @ref orxonox::Quest "Quests" which have different states for different players.
@@ -73,8 +74,11 @@
             </complete-effects>
         </LocalQuest>
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport LocalQuest : public Quest
     {

Modified: code/trunk/src/modules/questsystem/Quest.cc
===================================================================
--- code/trunk/src/modules/questsystem/Quest.cc	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/Quest.cc	2010-10-17 20:50:43 UTC (rev 7552)
@@ -91,12 +91,7 @@
     */
     bool Quest::setParentQuest(Quest* quest)
     {
-        //TODO: Replace with assert.
-        if(quest == NULL) // We don't want to set NULL-Pointers.
-        {
-            COUT(2) << "The parentquest to be added to quest {" << this->getId() << "} was NULL." << std::endl;
-            return false;
-        }
+        assert(quest);
 
         this->parentQuest_ = quest;
 
@@ -114,12 +109,7 @@
     */
     bool Quest::addSubQuest(Quest* quest)
     {
-        //TODO: Replace with assert.
-        if(quest == NULL) // We don't want to set NULL-Pointers.
-        {
-            COUT(2) << "The subquest to be added to quest {" << this->getId() << "} was NULL." << std::endl;
-            return false;
-        }
+        assert(quest);
 
         quest->setParentQuest(this); // Sets the currentQuest (this) as parent-quest for the added sub-quest.
         this->subQuests_.push_back(quest); // Adds the Quest to the end of the list of sub-quests.
@@ -139,12 +129,7 @@
     */
     bool Quest::addHint(QuestHint* hint)
     {
-        //TODO: Replace with assert.
-        if(hint == NULL) // We don't want to set NULL-Pointers. Seriously!
-        {
-            COUT(2) << "A NULL-QuestHint was trying to be added." << std::endl;
-            return false;
-        }
+        assert(hint);
 
         hint->setQuest(this); // Sets the current Quest (this) as Quest for the added QuestHint.
         this->hints_.push_back(hint); // Adds the QuestHint to the end of the list of QuestHints.
@@ -163,12 +148,7 @@
     */
     bool Quest::addFailEffect(QuestEffect* effect)
     {
-        //TODO: Replace with assert.
-        if(effect == NULL) // We don't want to set NULL-Pointers.
-        {
-            COUT(2) << "A NULL-QuestEffect was trying to be added" << std::endl;
-            return false;
-        }
+        assert(effect);
 
         this->failEffects_.push_back(effect); // Adds the QuestEffect to the end of the list of fail QuestEffects.
 
@@ -186,12 +166,7 @@
     */
     bool Quest::addCompleteEffect(QuestEffect* effect)
     {
-        //TODO: Replace with assert.
-        if(effect == NULL) // We don't want to set NULL-Pointers.
-        {
-            COUT(2) << "A NULL-QuestEffect was trying to be added" << std::endl;
-            return false;
-        }
+        assert(effect);
 
         this->completeEffects_.push_back(effect); // Adds the QuestEffect to the end of the list of complete QuestEffects.
 
@@ -299,11 +274,11 @@
         The player.
     @return
         Returns true if the quest status for the specific player is 'inactive'.
-    @throws
-        Throws an exception if getStatus throws one.
     */
     bool Quest::isInactive(const PlayerInfo* player) const
     {
+        if(player == NULL)
+            return true;
         return this->getStatus(player) == QuestStatus::Inactive;
     }
 
@@ -314,11 +289,11 @@
         The player.
     @return
         Returns true if the quest status for the specific player is 'active'.
-    @throws
-        Throws an exception if getStatus throws one.
     */
     bool Quest::isActive(const PlayerInfo* player) const
     {
+        if(player == NULL)
+            return false;
         return this->getStatus(player) == QuestStatus::Active;
     }
 
@@ -329,11 +304,11 @@
         The player.
     @return
         Returns true if the quest status for the specific player is 'failed'.
-    @throws
-        Throws an exception if getStatus throws one.
     */
     bool Quest::isFailed(const PlayerInfo* player) const
     {
+        if(player == NULL)
+            return false;
         return this->getStatus(player) == QuestStatus::Failed;
     }
 
@@ -344,11 +319,11 @@
         The player.
     @return
         Returns true if the quest status for the specific player is 'completed'.
-    @throws
-        Throws an exception if getStatus throws one.
     */
     bool Quest::isCompleted(const PlayerInfo* player) const
     {
+        if(player == NULL)
+            return false;
         return this->getStatus(player) == QuestStatus::Completed;
     }
 
@@ -426,12 +401,7 @@
     */
     bool Quest::addListener(QuestListener* listener)
     {
-        //TODO: Replace with assert?
-        if(listener == NULL)
-        {
-            COUT(2) << "A NULL-QuestListener was trying to be added to a Quests listeners." << std::endl;
-            return false;
-        }
+        assert(listener);
 
         this->listeners_.push_back(listener);
         return true;

Modified: code/trunk/src/modules/questsystem/Quest.h
===================================================================
--- code/trunk/src/modules/questsystem/Quest.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/Quest.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -43,15 +43,21 @@
 
 namespace orxonox // tolua_export
 { // tolua_export
+
+    /**
+    @brief
+        Different states of a @ref orxonox::Quest "Quest".
+
+    @ingroup Questsystem
+    */
     namespace QuestStatus
     {
-        //! Different states of a @ref orxonox::Quest "Quest".
         enum Value
         {
-            Inactive,
-            Active,
-            Failed,
-            Completed
+            Inactive, //!< The @ref orxonox::Quest "Quest" is inactive.
+            Active, //!< The @ref orxonox::Quest "Quest" is active.
+            Failed, //!< The @ref orxonox::Quest "Quest" has been failed.
+            Completed //!< The @ref orxonox::Quest "Quest" has been completed.
         };
     }
 
@@ -65,8 +71,11 @@
         A Quest can have a list of @ref orxonox::QuestEffect "QuestEffects" that are invoked when the quest is failed and also a list of @ref orxonox::QuestEffect "QuestEffects" that are invoked, when the Quest is completed.
 
         Quest itself should not be instantiated, if you want to create a quest either use LocalQuest or GlobalQuest, whichever suits you needs better.
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport Quest // tolua_export
         : public QuestItem

Modified: code/trunk/src/modules/questsystem/QuestDescription.h
===================================================================
--- code/trunk/src/modules/questsystem/QuestDescription.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/QuestDescription.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -43,6 +43,7 @@
 // tolua_begin
 namespace orxonox
 {
+
     /**
     @brief
         This class is a description of a QuestItem (@ref orxonox::Quest "Quest" and @ref orxonox::QuestHint "QuestHint").
@@ -52,8 +53,11 @@
         @code
         <QuestDescription title="Title" description="Description Text" failMessage="You fail." completeMessage="You win!" />
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport QuestDescription : public BaseObject
     {

Modified: code/trunk/src/modules/questsystem/QuestEffect.h
===================================================================
--- code/trunk/src/modules/questsystem/QuestEffect.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/QuestEffect.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -42,12 +42,16 @@
 
 namespace orxonox
 {
+
     /**
     @brief
         Handles QuestEffects for @ref orxonox::Quest "Quests".
         QuestEffects are one of the ways for @ref orxonox::Quest "Quests" to have any side effects on the game world and for the game world to influence the @ref orxonox::Quest "Quests".
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport QuestEffect : public BaseObject
     {

Modified: code/trunk/src/modules/questsystem/QuestEffectBeacon.cc
===================================================================
--- code/trunk/src/modules/questsystem/QuestEffectBeacon.cc	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/QuestEffectBeacon.cc	2010-10-17 20:50:43 UTC (rev 7552)
@@ -40,7 +40,6 @@
 #include "interfaces/PlayerTrigger.h"
 #include "worldentities/pawns/Pawn.h"
 
-#include "objects/triggers/MultiTriggerContainer.h"
 #include "QuestEffect.h"
 
 namespace orxonox
@@ -100,7 +99,6 @@
     @return
         Returns true if successfully executed, false if not.
     */
-    //TODO: Eliminate MultiTriggerContainer stuff, since they are now PlayerTriggers as well.
     bool QuestEffectBeacon::execute(bool bTriggered, BaseObject* trigger)
     {
         if(!bTriggered)
@@ -114,13 +112,8 @@
         }
 
         PlayerTrigger* pTrigger = orxonox_cast<PlayerTrigger*>(trigger);
-        MultiTriggerContainer* mTrigger = orxonox_cast<MultiTriggerContainer*>(trigger);
         Pawn* pawn = NULL;
 
-        // If the trigger is neither a Playertrigger nor a MultiTrigger (i.e. a MultitriggerContainer) we can do anything with it.
-        if(pTrigger == NULL && mTrigger == NULL)
-            return false;
-
         // If the trigger is a PlayerTrigger.
         if(pTrigger != NULL)
         {
@@ -129,13 +122,9 @@
             else
                 pawn = pTrigger->getTriggeringPlayer();
         }
+        else
+            return false;
 
-        // If the trigger is a MultiTrigger (i.e. a MultiTriggerContainer)
-        if(mTrigger != NULL)
-        {
-            pawn = orxonox_cast<Pawn*>(mTrigger->getData());
-        }
-
         if(pawn == NULL)
         {
             COUT(4) << "The QuestEffectBeacon was triggered by an entity other than a Pawn. (" << trigger->getIdentifier()->getName() << ")" << std::endl;
@@ -236,12 +225,7 @@
     */
     bool QuestEffectBeacon::addEffect(QuestEffect* effect)
     {
-        //TODO: Replace with assert.
-        if(effect == NULL) // NULL-pointers are not well liked here...
-        {
-            COUT(2) << "A NULL-QuestEffect was trying to be added" << std::endl;
-            return false;
-        }
+        assert(effect);
 
         this->effects_.push_back(effect);
 

Modified: code/trunk/src/modules/questsystem/QuestEffectBeacon.h
===================================================================
--- code/trunk/src/modules/questsystem/QuestEffectBeacon.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/QuestEffectBeacon.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -42,13 +42,19 @@
 
 namespace orxonox
 {
+
+    /**
+    @brief
+        The status of the @ref orxonox::QuestEffectBeacon "QuestEffectBeacon", can be either active or inactive.
+
+    @ingroup Questsystem
+    */
     namespace QuestEffectBeaconStatus
     {
-        //! The status of the @ref orxonox::QuestEffectBeacon "QuestEffectBeacon", can be either active or inactive.
         enum Value
         {
-            Inactive,
-            Active
+            Inactive, //!< The @ref orxonox::QuestEffectBeacon "QuestEffectBeacon" is inactive.
+            Active //!< The @ref orxonox::QuestEffectBeacon "QuestEffectBeacon" is active.
         };
     }
 
@@ -77,8 +83,11 @@
             </attached>
         </QuestEffectBeacon>
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport QuestEffectBeacon : public StaticEntity
     {

Modified: code/trunk/src/modules/questsystem/QuestHint.cc
===================================================================
--- code/trunk/src/modules/questsystem/QuestHint.cc	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/QuestHint.cc	2010-10-17 20:50:43 UTC (rev 7552)
@@ -82,19 +82,13 @@
         Checks whether the QuestHint is active for a specific player.
     @param player
         The player.
-    @throws
-        Throws an Argument Exception if the input Player-pointer is NULL.
     @return
         Returns true if the QuestHint is active for the specified player.
     */
     bool QuestHint::isActive(const PlayerInfo* player) const
     {
-        //TODO: Replace with assert.
-        if(player == NULL) // NULL-Pointers are ugly!
-        {
-            ThrowException(Argument, "The input PlayerInfo* is NULL.");
+        if(player == NULL) // If the player is NULL, the Quest obviously can't be active.
             return false;
-        }
 
         // Find the player.
         std::map<const PlayerInfo*, QuestHintStatus::Value>::const_iterator it = this->playerStatus_.find(player);
@@ -144,12 +138,7 @@
     */
     bool QuestHint::setQuest(Quest* quest)
     {
-        //TODO: Replace with assert.
-        if(quest == NULL) // NULL-Pointer. Again..?
-        {
-            COUT(2) << "The input Quest* is NULL." << std::endl;
-            return false;
-        }
+        assert(quest);
 
         this->quest_ = quest;
         return true;

Modified: code/trunk/src/modules/questsystem/QuestHint.h
===================================================================
--- code/trunk/src/modules/questsystem/QuestHint.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/QuestHint.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -43,13 +43,18 @@
 namespace orxonox // tolua_export
 { // tolua_export
 
+    /**
+    @brief
+        The state of the @ref orxonox::QuestHint "QuestHint".
+
+    @ingroup Questsystem
+    */
     namespace QuestHintStatus
     {
-        //! The state of the @ref orxonox::QuestHint "QuestHint".
         enum Value
         {
-            Inactive,
-            Active
+            Inactive, //!< The @ref orxonox::QuestHint "QuestHint" is inactive.
+            Active //!< The @ref orxonox::QuestHint "QuestHint" is active.
         };
     }
 
@@ -65,8 +70,11 @@
             <QuestDesctription title="" description="" />
         </QuestHint>
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport QuestHint // tolua_export
         : public QuestItem

Modified: code/trunk/src/modules/questsystem/QuestItem.h
===================================================================
--- code/trunk/src/modules/questsystem/QuestItem.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/QuestItem.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -49,8 +49,11 @@
     @brief
         Functions as a base class for quest classes such as @ref orxonox::Quest "Quest" or @ref orxonox::QuestHint "QuestHint".
         Has a unique identifier and a @ref orxonox::QuestDescription "QuestDescription".
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport QuestItem : public BaseObject
     {

Modified: code/trunk/src/modules/questsystem/QuestListener.h
===================================================================
--- code/trunk/src/modules/questsystem/QuestListener.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/QuestListener.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -43,15 +43,20 @@
 
 namespace orxonox
 {
+    /**
+    @brief
+        The mode of the @ref orxonox::QuestListener "QuestListener".
+
+    @ingroup Questsystem
+    */
     namespace QuestListenerMode
     {
-        //! The mode of the @ref orxonox::QuestListener "QuestListener".
         enum Value
         {
-            All,
-            Start,
-            Fail,
-            Complete
+            All, //!< Listens to all events.
+            Start, //!< Only listens to events pertaining the starting of @ref orxonox::Quest "Quests".
+            Fail, //!< Only listens to events pertaining the failing of @ref orxonox::Quest "Quests".
+            Complete //!< Only listens to events pertaining the completing of @ref orxonox::Quest "Quests".
         };
     }
 
@@ -71,8 +76,11 @@
         @endcode
 
         You can use the QuestListener as if it were a @ref orxonox::Trigger "Trigger" or @ref orxonox::EventListener "EventListener", that fires an Event when the status (depending on the set mode) of the given @ref orxonox::Quest "Quest" changes.
+
     @author
-    Damian 'Mozork' Frick
+        Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport QuestListener : public BaseObject
     {

Modified: code/trunk/src/modules/questsystem/QuestManager.cc
===================================================================
--- code/trunk/src/modules/questsystem/QuestManager.cc	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/QuestManager.cc	2010-10-17 20:50:43 UTC (rev 7552)
@@ -99,12 +99,7 @@
     */
     bool QuestManager::registerQuest(Quest* quest)
     {
-        //TODO: Replace with assert.
-        if(quest == NULL) // Doh! Just as if there were actual quests behind NULL-pointers.
-        {
-            COUT(2) << "Registration of Quest in QuestManager failed, because inserted Quest-pointer was NULL." << std::endl;
-            return false;
-        }
+        assert(quest);
 
         std::pair<std::map<std::string, Quest*>::iterator,bool> result;
         result = this->questMap_.insert( std::pair<std::string,Quest*>(quest->getId(),quest) ); // Inserting the Quest.
@@ -142,12 +137,7 @@
     */
     bool QuestManager::registerHint(QuestHint* hint)
     {
-        //TODO: Replace with assert.
-        if(hint == NULL) // Still not liking NULL-pointers.
-        {
-            COUT(2) << "Registration of QuestHint in QuestManager failed, because inserted QuestHint-pointer was NULL." << std::endl;
-            return false;
-        }
+        assert(hint);
 
         std::pair<std::map<std::string, QuestHint*>::iterator,bool> result;
         result = this->hintMap_.insert ( std::pair<std::string,QuestHint*>(hint->getId(),hint) ); // Inserting the QuestHSint.

Modified: code/trunk/src/modules/questsystem/QuestManager.h
===================================================================
--- code/trunk/src/modules/questsystem/QuestManager.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/QuestManager.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -46,12 +46,16 @@
 
 namespace orxonox  // tolua_export
 {  // tolua_export
+
     /**
     @brief
         Is a Singleton and manages @ref orxonox::Quest "Quests", by registering every @ref orxonox::Quest "Quest" / @ref orxonox::QuestHint "QuestHint" (through registerX()) and making them globally accessible (through findX()).
         @ref orxonox::Quest "Quests" (and @ref orxonox::QuestHint "QuestHints") are registered in the QuestManager with their id, and can be accessed in the same way.
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup Questsystem
     */
     class _QuestsystemExport QuestManager  // tolua_export
         : public Singleton<QuestManager>, public orxonox::OrxonoxClass

Modified: code/trunk/src/modules/questsystem/effects/AddQuest.cc
===================================================================
--- code/trunk/src/modules/questsystem/effects/AddQuest.cc	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/effects/AddQuest.cc	2010-10-17 20:50:43 UTC (rev 7552)
@@ -82,12 +82,7 @@
     */
     bool AddQuest::invoke(PlayerInfo* player)
     {
-        //TODO: Replace with assert?
-        if(player == NULL) // Null-pointers are badass.
-        {
-            COUT(2) << "Input player is NULL." << std::endl;
-            return false;
-        }
+        assert(player);
 
         COUT(5) << "AddQuest on player: " << player << " ." << std::endl;
 

Modified: code/trunk/src/modules/questsystem/effects/AddQuest.h
===================================================================
--- code/trunk/src/modules/questsystem/effects/AddQuest.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/effects/AddQuest.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -40,6 +40,7 @@
 
 namespace orxonox
 {
+
     /**
     @brief
         Adds a @ref orxonox::Quest "Quest", resp. changes the @ref orxonox::Quest "Quests" status to active for the player invoking the @ref orxonox::Quest "Quest".
@@ -48,8 +49,11 @@
         @code
         <AddQuest questId="id" />  //Where id identifies the Quest that should be added.
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup QuestEffects
     */
     class _QuestsystemExport AddQuest : public ChangeQuestStatus
     {

Modified: code/trunk/src/modules/questsystem/effects/AddQuestHint.cc
===================================================================
--- code/trunk/src/modules/questsystem/effects/AddQuestHint.cc	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/effects/AddQuestHint.cc	2010-10-17 20:50:43 UTC (rev 7552)
@@ -105,12 +105,7 @@
     */
     bool AddQuestHint::invoke(PlayerInfo* player)
     {
-        //TODO: Replace with assert?
-        if(player == NULL) // NULL-pointers are evil!
-        {
-            COUT(2) << "The input player is NULL." << std::endl;
-            return false;
-        }
+        assert(player);
 
         COUT(5) << "AddQuestHint on player: " << player << " ." << std::endl;
 

Modified: code/trunk/src/modules/questsystem/effects/AddQuestHint.h
===================================================================
--- code/trunk/src/modules/questsystem/effects/AddQuestHint.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/effects/AddQuestHint.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -42,6 +42,7 @@
 
 namespace orxonox
 {
+
     /**
     @brief
         Adds a @ref orxonox::QuestHint "QuestHint", resp. activates the @ref orxonox::QuestHint "QuestHint" of the given id for the player the QuestEffect is invoked on.
@@ -50,8 +51,11 @@
         @code
         <AddQuestHint hintId="id" />  //Where id identifies the QuestHint that should be added.
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup QuestEffects
     */
     class _QuestsystemExport AddQuestHint : public QuestEffect
     {

Modified: code/trunk/src/modules/questsystem/effects/AddReward.h
===================================================================
--- code/trunk/src/modules/questsystem/effects/AddReward.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/effects/AddReward.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -42,6 +42,7 @@
 
 namespace orxonox
 {
+    
     /**
     @brief
         Adds a list of @ref orxonox::Rewardable "Rewardables" to a player.
@@ -54,8 +55,11 @@
             <Rewardable />
         </AddReward>
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup QuestEffects
     */
     class _QuestsystemExport AddReward : public QuestEffect
     {

Modified: code/trunk/src/modules/questsystem/effects/ChangeQuestStatus.h
===================================================================
--- code/trunk/src/modules/questsystem/effects/ChangeQuestStatus.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/effects/ChangeQuestStatus.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -42,11 +42,15 @@
 
 namespace orxonox
 {
+
     /**
     @brief
         A QuestEffect which changes the status of a specified @ref orxonox::Quest "Quest" for the player invoking the QuestEffect.
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup QuestEffects
     */
     class _QuestsystemExport ChangeQuestStatus : public QuestEffect
     {

Modified: code/trunk/src/modules/questsystem/effects/CompleteQuest.cc
===================================================================
--- code/trunk/src/modules/questsystem/effects/CompleteQuest.cc	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/effects/CompleteQuest.cc	2010-10-17 20:50:43 UTC (rev 7552)
@@ -82,12 +82,7 @@
     */
     bool CompleteQuest::invoke(PlayerInfo* player)
     {
-        //TODO: Replace with assert?
-        if(player == NULL) // You know, what we think of NULL-pointers...
-        {
-            COUT(2) << "Input player is NULL." << std::endl;
-            return false;
-        }
+        assert(player);
 
         COUT(5) << "CompleteQuest on player: " << player << " ." << std::endl;
 

Modified: code/trunk/src/modules/questsystem/effects/CompleteQuest.h
===================================================================
--- code/trunk/src/modules/questsystem/effects/CompleteQuest.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/effects/CompleteQuest.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -40,6 +40,7 @@
 
 namespace orxonox
 {
+
     /**
     @brief
         Completes a @ref orxonox::Quest "Quest" (with a specified id) for the player invoking the QuestEffect.
@@ -48,8 +49,11 @@
         @code
         <CompleteQuest questId="id" />  //Where id identifies the Quest that should be completed.
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup QuestEffects
     */
     class _QuestsystemExport CompleteQuest : public ChangeQuestStatus
     {

Modified: code/trunk/src/modules/questsystem/effects/FailQuest.cc
===================================================================
--- code/trunk/src/modules/questsystem/effects/FailQuest.cc	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/effects/FailQuest.cc	2010-10-17 20:50:43 UTC (rev 7552)
@@ -82,12 +82,7 @@
     */
     bool FailQuest::invoke(PlayerInfo* player)
     {
-        //TODO: Replace with assert?
-        if(player == NULL) // We don't know what to do with no player.
-        {
-            COUT(2) << "Input player is NULL." << std::endl;
-            return false;
-        }
+        assert(player);
 
         COUT(4) << "FailQuest on player: " << player << " ." << std::endl;
 

Modified: code/trunk/src/modules/questsystem/effects/FailQuest.h
===================================================================
--- code/trunk/src/modules/questsystem/effects/FailQuest.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/modules/questsystem/effects/FailQuest.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -40,6 +40,7 @@
 
 namespace orxonox
 {
+
     /**
     @brief
         Fails a @ref orxonox::Quest "Quest" (with a specified id) for the player invoking the QuestEffect.
@@ -48,8 +49,11 @@
         @code
         <FailQuest questId="id" />  //Where id identifies the Quest that should be failed.
         @endcode
+
     @author
         Damian 'Mozork' Frick
+
+    @ingroup QuestEffects
     */
     class _QuestsystemExport FailQuest : public ChangeQuestStatus
     {

Modified: code/trunk/src/orxonox/interfaces/NotificationListener.h
===================================================================
--- code/trunk/src/orxonox/interfaces/NotificationListener.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/orxonox/interfaces/NotificationListener.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -55,10 +55,12 @@
 
         The NotificationListener interface presents a means to being informed when @ref orxonox::Notification "Notifications" in the target set of this NotificationListener change. (e.g. @ref orxonox::Notification "Notifications" were added or removed)
         When inheriting from a NotificationListener it is important to register (in the constructor) and unregister (in the destructor) it to and from the @ref orxonox::NotificationManager "NotificationManager".
+
     @author
         Fabian 'x3n' Landau
+
+    @ingroup Notifications
     */
-    //TODO: Needed? Remove or move some NotificationQueue things over here.
     class _OrxonoxExport NotificationListener : virtual public OrxonoxClass
     {
         public:

Modified: code/trunk/src/orxonox/interfaces/PickupCarrier.h
===================================================================
--- code/trunk/src/orxonox/interfaces/PickupCarrier.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/orxonox/interfaces/PickupCarrier.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -46,13 +46,7 @@
 {
 
     // Forward-declarations.
-    class PickupManager;
-    class Pickup;
-    class HealthPickup;
-    class InvisiblePickup;
     class MetaPickup;
-    class DronePickup;
-    class SpeedPickup;
 
     /**
     @brief
@@ -77,12 +71,7 @@
         friend class Pickupable;
         friend class PickupManager;
         // Friends.
-        friend class Pickup;
-        friend class HealthPickup;
-        friend class InvisiblePickup;
         friend class MetaPickup;
-        friend class DronePickup;
-        friend class SpeedPickup;
 
         public:
             PickupCarrier(); //!< Constructor.

Modified: code/trunk/src/orxonox/interfaces/Pickupable.h
===================================================================
--- code/trunk/src/orxonox/interfaces/Pickupable.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/orxonox/interfaces/Pickupable.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -61,6 +61,8 @@
     */
     class _OrxonoxExport Pickupable : virtual public OrxonoxClass, public Rewardable
     {
+        friend class PickupCarrier;
+
         protected:
             Pickupable(); //!< Default constructor.
 
@@ -145,12 +147,8 @@
 
             bool setUsed(bool used); //!< Sets the Pickupable to used or unused, depending on the input.
             bool setPickedUp(bool pickedUp); //!< Helper method to set the Pickupable to either picked up or not picked up.
-            //TODO: private?
             bool setCarrier(PickupCarrier* carrier, bool tell = true); //!< Sets the carrier of the Pickupable.
 
-            //TODO: private?
-            virtual void carrierDestroyed(void); //!< Is called by the PickupCarrier when it is being destroyed.
-
             void destroy(void); //!< Is called internally within the Pickupable module to destroy pickups.
 
         protected:
@@ -161,6 +159,7 @@
 
             virtual void preDestroy(void); //!< A method that is called by OrxonoxClass::destroy() before the object is actually destroyed.
             virtual void destroyPickup(void); //!< Destroys a Pickupable.
+            virtual void carrierDestroyed(void); //!< Is called by the PickupCarrier when it is being destroyed.
 
             /**
             @brief Sets the Pickuapble to disabled.

Modified: code/trunk/src/orxonox/items/Engine.h
===================================================================
--- code/trunk/src/orxonox/items/Engine.h	2010-10-17 19:40:53 UTC (rev 7551)
+++ code/trunk/src/orxonox/items/Engine.h	2010-10-17 20:50:43 UTC (rev 7552)
@@ -113,7 +113,6 @@
 
             virtual const Vector3& getCarrierPosition(void) const;
 
-            //TODO: Move to protected or private. How?
             inline void setSpeedAdd(float speedAdd)
                 { this->speedAdd_=speedAdd; }
             inline void setSpeedMultiply(float speedMultiply)




More information about the Orxonox-commit mailing list