Index: trunk/src/util/Makefile.am
===================================================================
--- trunk/src/util/Makefile.am	(revision 7198)
+++ trunk/src/util/Makefile.am	(revision 7221)
@@ -15,6 +15,7 @@
 			animation/animation_player.cc \
 			\
-			track/pilot_node.cc \
-			track/track_manager.cc \
+			track/pilot_node.cc
+
+#			track/track_manager.cc \
 			track/track_node.cc
 
@@ -31,5 +32,6 @@
 			animation/t_animation.h \
 			\
-			track/pilot_node.h \
-			track/track_manager.h \
+			track/pilot_node.h
+
+#			track/track_manager.h \
 			track/track_node.h
Index: trunk/src/util/fast_factory.cc
===================================================================
--- trunk/src/util/fast_factory.cc	(revision 7198)
+++ trunk/src/util/fast_factory.cc	(revision 7221)
@@ -29,5 +29,5 @@
  * @return a new FastFactory
  */
-FastFactory::FastFactory (ClassID classID, const char* fastFactoryName)
+FastFactory::FastFactory (ClassID classID, const std::string& fastFactoryName)
 {
   this->setClassID(CL_FAST_FACTORY, "FastFactory");
@@ -119,5 +119,5 @@
  * @returns true if found, false otherwise.
  */
-FastFactory* FastFactory::searchFastFactory(const char* fastFactoryName)
+FastFactory* FastFactory::searchFastFactory(const std::string& fastFactoryName)
 {
   if (FastFactory::first == NULL)
@@ -128,5 +128,5 @@
     while (tmpFac != NULL)
     {
-      if (strcmp(tmpFac->getName(), fastFactoryName))
+      if (fastFactoryName == tmpFac->getName())
         return tmpFac;
       tmpFac = tmpFac->next;
Index: trunk/src/util/fast_factory.h
===================================================================
--- trunk/src/util/fast_factory.h	(revision 7198)
+++ trunk/src/util/fast_factory.h	(revision 7221)
@@ -80,10 +80,10 @@
 
     static FastFactory* searchFastFactory(ClassID classID);
-    static FastFactory* searchFastFactory(const char* fastFactoryName);
+    static FastFactory* searchFastFactory(const std::string& fastFactoryName);
 
     ClassID getStoredID() const { return this->storedClassID; };
 
   protected:
-    FastFactory (ClassID classID, const char* fastFactoryName = NULL);
+    FastFactory (ClassID classID, const std::string& fastFactoryName = "");
 
     /** sets the Next factory in the list @param nextFactory the next factory */
@@ -121,8 +121,8 @@
   {
   public:
-    static tFastFactory<T>* getFastFactory(ClassID classID, const char* fastFactoryName = NULL);
+    static tFastFactory<T>* getFastFactory(ClassID classID, const std::string& fastFactoryName = NULL);
 
   private:
-    tFastFactory(ClassID classID, const char* fastFactoryName);
+    tFastFactory(ClassID classID, const std::string& fastFactoryName);
 
     virtual void fabricate();
@@ -136,5 +136,5 @@
  */
 template<class T>
-tFastFactory<T>::tFastFactory(ClassID classID, const char* fastFactoryName)
+tFastFactory<T>::tFastFactory(ClassID classID, const std::string& fastFactoryName)
     : FastFactory(classID, fastFactoryName)
 {}
@@ -147,5 +147,5 @@
  */
 template<class T>
-tFastFactory<T>* tFastFactory<T>::getFastFactory(ClassID classID, const char* fastFactoryName)
+    tFastFactory<T>* tFastFactory<T>::getFastFactory(ClassID classID, const std::string& fastFactoryName)
 {
   tFastFactory<T>* tmpFac = NULL;
Index: trunk/src/util/multiplayer_team_deathmatch.cc
===================================================================
--- trunk/src/util/multiplayer_team_deathmatch.cc	(revision 7198)
+++ trunk/src/util/multiplayer_team_deathmatch.cc	(revision 7221)
@@ -92,5 +92,5 @@
 
 
-void MultiplayerTeamDeathmatch::setDeathScreen(const char* imageName)
+void MultiplayerTeamDeathmatch::setDeathScreen(const std::string& imageName)
 {
   if( this->deathScreen)
Index: trunk/src/util/multiplayer_team_deathmatch.h
===================================================================
--- trunk/src/util/multiplayer_team_deathmatch.h	(revision 7198)
+++ trunk/src/util/multiplayer_team_deathmatch.h	(revision 7221)
@@ -38,5 +38,5 @@
     inline void setDeathPenaltyTimeout(float time) { this->deathTimeout = time; }
     inline void setMaxKills(int kills) { this->maxKills = kills; }
-    void setDeathScreen(const char* imageName);
+    void setDeathScreen(const std::string& imageName);
 
   protected:
Index: trunk/src/util/object_manager.cc
===================================================================
--- trunk/src/util/object_manager.cc	(revision 7198)
+++ trunk/src/util/object_manager.cc	(revision 7221)
@@ -97,5 +97,5 @@
  * this function also does a transformation from omList as char* to OM_LIST.
  */
-void ObjectManager::toList (WorldEntity* entity, const char* omList)
+void ObjectManager::toList (WorldEntity* entity, const std::string& omList)
 {
   this->toList(entity, ObjectManager::StringToOMList(omList));
@@ -153,10 +153,10 @@
  * @param level: level 0: only show list info; level 1: also show entities and their names.
  */
-void ObjectManager::debug(const char* listName, unsigned int level)
+void ObjectManager::debug(const std::string& listName, unsigned int level)
 {
   PRINT(0)("=================================\n");
   PRINT(0)("=ObjectManager-DEBUG=============\n");
   PRINT(0)("=================================\n");
-  if (listName == NULL || listName[0] == '\0')
+  if (listName.empty())
     for (unsigned int i = 0; i < OM_SIZE; ++i)
       debug((OM_LIST) i, level);
@@ -189,10 +189,10 @@
  * @returns the OM_LIST transformed from listName. or the default, if not found or NULL.
  */
-OM_LIST ObjectManager::StringToOMList(const char* listName)
-{
-  if (unlikely(listName == NULL)) return OM_DEFAULT_LIST;
+OM_LIST ObjectManager::StringToOMList(const std::string& listName)
+{
+  if (unlikely(listName.empty())) return OM_DEFAULT_LIST;
 
   for(unsigned int i = 0; i < OM_SIZE; ++i) {
-    if(!strcmp(listName, ObjectManager::objectManagerListNames[i])) {
+    if(listName == ObjectManager::objectManagerListNames[i]) {
       return (OM_LIST)i;
     }
Index: trunk/src/util/object_manager.h
===================================================================
--- trunk/src/util/object_manager.h	(revision 7198)
+++ trunk/src/util/object_manager.h	(revision 7221)
@@ -76,5 +76,5 @@
 
   void toList (WorldEntity* entity, OM_LIST omList = OM_DEFAULT_LIST);
-  void toList (WorldEntity* entity, const char* omList);
+  void toList (WorldEntity* entity, const std::string& omList);
 
 
@@ -85,7 +85,7 @@
 
   void debug(OM_LIST omList, unsigned int level = 0) const;
-  void debug(const char* listName = NULL, unsigned int level = 0);
+  void debug(const std::string& listName = "", unsigned int level = 0);
 
-  static OM_LIST StringToOMList(const char* listName);
+  static OM_LIST StringToOMList(const std::string& listName);
   static const char* OMListToString(OM_LIST omList);
 
Index: trunk/src/util/track/track_manager.cc
===================================================================
--- trunk/src/util/track/track_manager.cc	(revision 7198)
+++ trunk/src/util/track/track_manager.cc	(revision 7221)
@@ -123,5 +123,5 @@
  * @returns The TrackElement if Found, NULL otherwise.
 */
-TrackElement* TrackElement::findByName(const char* trackName)
+TrackElement* TrackElement::findByName(const std::string& trackName)
 {
   // return if Found.
@@ -532,5 +532,5 @@
  * @param trackName the Name of the Track to work on
 */
-void TrackManager::workOnS(const char* trackName)
+void TrackManager::workOnS(const std::string& trackName)
 {
   TrackElement* tmpElem = this->firstTrackElem->findByName(trackName);
@@ -657,5 +657,5 @@
    @todo this must be better
 */
-void TrackManager::setSavePointS(const char* nextElementName)
+void TrackManager::setSavePointS(const std::string& nextElementName)
 {
   this->setSavePoint(NULL);
@@ -725,5 +725,5 @@
   for(int i = 0; i < count; i++)
     {
-      this->firstTrackElem->findByID(trackIDs[i])->setName(va_arg(name, const char*));
+      this->firstTrackElem->findByID(trackIDs[i])->setName(va_arg(name, const std::string&));
     }
   va_end(name);
@@ -734,5 +734,5 @@
    \see TrackManager::fork(unsigned int count, ...)
 */
-void TrackManager::forkS(const char* forkString)
+void TrackManager::forkS(const std::string& forkString)
 {
   SubString strings(forkString, ',');
@@ -860,5 +860,5 @@
   for(int i = 0; i < count; i++)
     {
-      const char* name = va_arg (NAME, char*);
+      const std::string& name = va_arg (NAME, char*);
       TrackElement* tmpElem = this->firstTrackElem->findByName(name);
       if (tmpElem)
@@ -875,5 +875,5 @@
    \see void TrackManager::join(unsigned int count, ...)
 */
-void TrackManager::joinS(const char* joinString)
+void TrackManager::joinS(const std::string& joinString)
 {
   SubString strings(joinString, ',');
@@ -884,10 +884,10 @@
   for(unsigned int i = 0; i < strings.getCount(); i++)
     {
-      TrackElement* tmpElem = this->firstTrackElem->findByName(strings.getString(i));
+      TrackElement* tmpElem = this->firstTrackElem->findByName(strings.getString(i).c_str());
       if (tmpElem != NULL)
         trackIDs[i] = tmpElem->ID;
       else
       {
-        PRINTF(1)("Trying to join a Track, of which the name does not exist: %s\n", strings.getString(i));
+        PRINTF(1)("Trying to join a Track, of which the name does not exist: %s\n", strings.getString(i).c_str());
         trackIDs[i] = -1;
       }
Index: trunk/src/util/track/track_manager.h
===================================================================
--- trunk/src/util/track/track_manager.h	(revision 7198)
+++ trunk/src/util/track/track_manager.h	(revision 7221)
@@ -46,5 +46,5 @@
 
   TrackElement* findByID(unsigned int trackID);
-  TrackElement* findByName(const char* trackName);
+  TrackElement* findByName(const std::string& trackName);
   bool backLoopCheck() const;
 
@@ -142,5 +142,5 @@
   // Methods to change the Path (initialisation)
   void workOn(unsigned int trackID);
-  void workOnS(const char* trackName);
+  void workOnS(const std::string& trackName);
 
   /** \see setCurveType(CurveType curveType, TrackElement* trackElem); @param curveType the type of the Curve */
@@ -153,14 +153,14 @@
   void addHotPoint(float x, float y, float z);
   int addHotPointV(Vector newPoint, TrackElement* trackElem = NULL);
-  void setSavePointS(const char* nextElementName);
+  void setSavePointS(const std::string& nextElementName);
   void setSavePoint(TrackElement* trackElem = NULL);
   void fork(unsigned int count, ...);
   void forkS(unsigned int count, ...);
-  void forkS(const char* forkString);
+  void forkS(const std::string& forkString);
   void forkV(unsigned int count, int* trackIDs, char** trackNames, TrackElement* trackElem = NULL);
   void condition(unsigned int trackID, CONDITION cond, void* subject);
   void condition(CONDITION cond, void* subject, TrackElement* trackElem = NULL);
   void join(unsigned int count, ...);
-  void joinS(const char* joinString);
+  void joinS(const std::string& joinString);
   void joinS(unsigned int cound, ...);
   void joinV(unsigned int count, int* trackIDs);
