Index: trunk/src/lib/physics/physics_engine.h
===================================================================
--- trunk/src/lib/physics/physics_engine.h	(revision 5776)
+++ trunk/src/lib/physics/physics_engine.h	(revision 5777)
@@ -14,5 +14,4 @@
 #include "field.h"
 #include <list>
-
 
 // Forward Declaration
Index: trunk/src/util/animation/animation.cc
===================================================================
--- trunk/src/util/animation/animation.cc	(revision 5776)
+++ trunk/src/util/animation/animation.cc	(revision 5777)
@@ -31,5 +31,4 @@
   // initialize a beginning KeyFrame, that will be deleted afterwards
   this->keyFrameCount = 0;
-  this->bHandled = true;
   this->bDelete = false;
   this->baseObject = NULL;
@@ -50,18 +49,7 @@
 Animation::~Animation()
 {
-  this->doNotHandle();
+  AnimationPlayer::getInstance()->removeAnimation(this);
 }
 
-/**
- *  tells the AnimationPlayer, that we do not wish to  handle this animation
-   automatically.
-
-   This means that it will not be ticked, and not be deleted with the AnimationPlayer
-*/
-void Animation::doNotHandle()
-{
-  if (this->bHandled)
-    AnimationPlayer::getInstance()->removeAnimation(this);
-}
 
 /**
Index: trunk/src/util/animation/animation.h
===================================================================
--- trunk/src/util/animation/animation.h	(revision 5776)
+++ trunk/src/util/animation/animation.h	(revision 5777)
@@ -76,5 +76,4 @@
  public:
   virtual ~Animation();
-  void doNotHandle();
 
   void setInfinity(ANIM_INFINITY postInfinity = ANIM_INF_CONSTANT);
@@ -110,5 +109,4 @@
   unsigned int          keyFrameCount;          //!< The Count of KeyFrames.
   int                   keyFramesToPlay;        //!< How many more Keyframes to play. if negative it will be ignored if 0 stop.
-  bool                  bHandled;               //!< If this Animation is handled by the AnimationPlayer.
   bool                  bRunning;               //!< If the animation is running
   bool                  bDelete;                //!< If true, the animation will be deleted through the AnimationPlayer.
Index: trunk/src/util/animation/animation_player.cc
===================================================================
--- trunk/src/util/animation/animation_player.cc	(revision 5776)
+++ trunk/src/util/animation/animation_player.cc	(revision 5777)
@@ -31,5 +31,4 @@
   this->setName("AnimationPlayer");
 
-  this->animationList = new tList<Animation>();
   this->play();
 }
@@ -52,5 +51,4 @@
   // deleting the Animation List AND all the elements of the List
   this->flush();
-  delete this->animationList;
 
   AnimationPlayer::singletonRef = NULL;
@@ -67,5 +65,5 @@
 void AnimationPlayer::addAnimation(Animation* animation)
 {
-  this->animationList->add(animation);
+  this->animationList.push_back(animation);
 }
 
@@ -76,5 +74,5 @@
 void AnimationPlayer::removeAnimation(Animation* animation)
 {
-  this->animationList->remove(animation);
+  this->animationList.remove(animation);
 }
 
@@ -85,16 +83,10 @@
 {
   // deleting the Animation List AND all the elements of the List
-  tIterator<Animation>* animIt = this->animationList->getIterator();
-  Animation* anim = animIt->firstElement();
-  while( anim != NULL)
-    {
-      delete anim;
-      this->animationList->remove(anim);
-      anim = animIt->nextElement();
-    }
-  delete animIt;
-
-  delete this->animationList;
-  this->animationList = new tList<Animation>();
+  while(this->animationList.size() > 0)
+  {
+    Animation* anim = this->animationList.front();
+    this->animationList.pop_front();
+    delete anim;
+  }
 }
 
@@ -102,28 +94,25 @@
  *  Ticks all the animations in animationList
  * @param timePassed the time passed since the last tick.
-*/
+ */
 void AnimationPlayer::tick(float timePassed)
 {
   if (this->bRunning)
+  {
+      // iterate through all the animations and tick them.
+    list<Animation*>::iterator anim;
+    for (anim = this->animationList.begin(); anim != this->animationList.end(); anim++)
     {
-      // iterate through all the animations and tick them.
-      tIterator<Animation>* animIt = this->animationList->getIterator();
-      Animation* anim = animIt->firstElement();
-      while( anim != NULL)
-        {
-          anim->tick(timePassed);
-          if(unlikely(anim->ifDelete()))
-          {
-            this->animationList->remove(anim);
-            delete anim;
-          }
-          anim = animIt->nextElement();
-        }
-      delete animIt;
+      (*anim)->tick(timePassed);
+      if(unlikely((*anim)->ifDelete()))
+      {
+        this->animationList.remove(*anim);
+        delete *anim;
+      }
     }
+  }
 }
 /**
  *  starts playing the AnimationPlayer
-*/
+ */
 void AnimationPlayer::play()
 {
@@ -133,5 +122,5 @@
 /**
  *  pauses playing of the AnimationPlayer
-*/
+ */
 void AnimationPlayer::pause()
 {
@@ -146,16 +135,8 @@
 Animation* AnimationPlayer::getAnimationFromBaseObject(const BaseObject* baseObject) const
 {
-  tIterator<Animation>* animIt = this->animationList->getIterator();
-  Animation* anim = animIt->firstElement();
-  while( anim != NULL)
-    {
-      if(anim->getBaseObject() == baseObject)
-        {
-          delete animIt;
-          return anim;
-        }
-      anim = animIt->nextElement();
-    }
-  delete animIt;
+  list<Animation*>::const_iterator anim;
+  for (anim = this->animationList.begin(); anim != this->animationList.end(); anim++)
+    if((*anim)->getBaseObject() == baseObject)
+      return *anim;
   return NULL;
 }
@@ -172,16 +153,12 @@
   PRINT(0)("+------------------------------------+\n");
   PRINT(0)("| Reference: %p\n", this);
-  PRINT(0)("| CountOfAnims %d\n", this->animationList->getSize());
+  PRINT(0)("| CountOfAnims %d\n", this->animationList.size());
   PRINT(0)("-Animation Information---------------+\n");
   // Per ANIMATION DEBUG
-  tIterator<Animation>* animIt = this->animationList->getIterator();
-  Animation* anim = animIt->firstElement();
-  while( anim != NULL)
+  list<Animation*>::iterator anim;
+  for (anim = this->animationList.begin(); anim != this->animationList.end(); anim++)
     {
       //      anim->debug();
-      anim = animIt->nextElement();
     }
-  delete animIt;
-
   PRINT(0)("+--------------------------------AP--+\n");
 }
Index: trunk/src/util/animation/animation_player.h
===================================================================
--- trunk/src/util/animation/animation_player.h	(revision 5776)
+++ trunk/src/util/animation/animation_player.h	(revision 5777)
@@ -8,4 +8,6 @@
 #include "base_object.h"
 #include "animation.h"
+
+#include <list>
 
 /* FORWARD DECLARATION */
@@ -54,5 +56,5 @@
 
   /* class specific */
-  tList<Animation>*            animationList;         //!< A List of Animations to be handled.
+  std::list<Animation*>        animationList;         //!< A List of Animations to be handled.
   bool                         bRunning;              //!< If the AnimationPlayer is running.
 };
