Index: /orxonox/trunk/src/Makefile.am
===================================================================
--- /orxonox/trunk/src/Makefile.am	(revision 3454)
+++ /orxonox/trunk/src/Makefile.am	(revision 3455)
@@ -38,5 +38,6 @@
 		 glmenu_imagescreen.cc \
 		 skysphere.cc \
-		 light.cc
+		 light.cc \
+		 sfont/cone3dfont.cc 
 
 noinst_HEADERS = ability.h \
Index: /orxonox/trunk/src/Makefile.in
===================================================================
--- /orxonox/trunk/src/Makefile.in	(revision 3454)
+++ /orxonox/trunk/src/Makefile.in	(revision 3455)
@@ -64,5 +64,5 @@
 	helper_parent.$(OBJEXT) track_manager.$(OBJEXT) \
 	matrix.$(OBJEXT) curve.$(OBJEXT) glmenu_imagescreen.$(OBJEXT) \
-	skysphere.$(OBJEXT) light.$(OBJEXT)
+	skysphere.$(OBJEXT) light.$(OBJEXT) cone3dfont.$(OBJEXT)
 orxonox_OBJECTS = $(am_orxonox_OBJECTS)
 orxonox_LDADD = $(LDADD)
@@ -74,5 +74,6 @@
 @AMDEP_TRUE@	./$(DEPDIR)/base_object.Po ./$(DEPDIR)/camera.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/campaign.Po ./$(DEPDIR)/collision.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/command_node.Po ./$(DEPDIR)/curve.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/command_node.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/cone3dfont.Po ./$(DEPDIR)/curve.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/data_tank.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/environment.Po \
@@ -248,5 +249,6 @@
 		 glmenu_imagescreen.cc \
 		 skysphere.cc \
-		 light.cc
+		 light.cc \
+		 sfont/cone3dfont.cc 
 
 noinst_HEADERS = ability.h \
@@ -379,4 +381,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collision.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/command_node.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cone3dfont.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/curve.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data_tank.Po@am__quote@
@@ -500,4 +503,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o texture.obj `if test -f 'importer/texture.cc'; then $(CYGPATH_W) 'importer/texture.cc'; else $(CYGPATH_W) '$(srcdir)/importer/texture.cc'; fi`
+
+cone3dfont.o: sfont/cone3dfont.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cone3dfont.o -MD -MP -MF "$(DEPDIR)/cone3dfont.Tpo" -c -o cone3dfont.o `test -f 'sfont/cone3dfont.cc' || echo '$(srcdir)/'`sfont/cone3dfont.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/cone3dfont.Tpo" "$(DEPDIR)/cone3dfont.Po"; else rm -f "$(DEPDIR)/cone3dfont.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='sfont/cone3dfont.cc' object='cone3dfont.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/cone3dfont.Po' tmpdepfile='$(DEPDIR)/cone3dfont.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cone3dfont.o `test -f 'sfont/cone3dfont.cc' || echo '$(srcdir)/'`sfont/cone3dfont.cc
+
+cone3dfont.obj: sfont/cone3dfont.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cone3dfont.obj -MD -MP -MF "$(DEPDIR)/cone3dfont.Tpo" -c -o cone3dfont.obj `if test -f 'sfont/cone3dfont.cc'; then $(CYGPATH_W) 'sfont/cone3dfont.cc'; else $(CYGPATH_W) '$(srcdir)/sfont/cone3dfont.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/cone3dfont.Tpo" "$(DEPDIR)/cone3dfont.Po"; else rm -f "$(DEPDIR)/cone3dfont.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='sfont/cone3dfont.cc' object='cone3dfont.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/cone3dfont.Po' tmpdepfile='$(DEPDIR)/cone3dfont.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cone3dfont.obj `if test -f 'sfont/cone3dfont.cc'; then $(CYGPATH_W) 'sfont/cone3dfont.cc'; else $(CYGPATH_W) '$(srcdir)/sfont/cone3dfont.cc'; fi`
 uninstall-info-am:
 
Index: /orxonox/trunk/src/sfont/cone3dfont.cc
===================================================================
--- /orxonox/trunk/src/sfont/cone3dfont.cc	(revision 3455)
+++ /orxonox/trunk/src/sfont/cone3dfont.cc	(revision 3455)
@@ -0,0 +1,145 @@
+/***************************************************************************
+                          cone3dfont.cpp  -  description
+                             -------------------
+    copyright            : (C) 2001 by Marius Andra aka Cone3D
+    email                : marius@hot.ee
+    ICQ                  : 43999510
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "cone3dfont.h"
+#include <stdarg.h>
+
+#include "../importer/texture.h"
+
+int Cone3DFont::SetSize(float x, float y)       // Set the size of the font
+{
+  sizex=x;
+  sizey=y;
+  
+  return 1;
+}
+
+int Cone3DFont::BuildFont(char *file)          // Build Our Font Display List
+{
+  int loop1;
+  float cx, cy;
+  
+  font = new Texture();
+  font->loadImage(file);
+  
+  base=glGenLists(256);                          // Creating 256 Display Lists
+  glBindTexture(GL_TEXTURE_2D, font->getTexture()); // Select Our Font Texture
+  for (loop1=0; loop1<256; loop1++)              // Loop Through All 256 Lists
+    {
+      cx=(float)(loop1%16)/16.0f;                  // X Position Of Current Character
+      cy=(float)(loop1/16)/16.0f;                  // Y Position Of Current Character
+      
+      glNewList(base+loop1,GL_COMPILE);            // Start Building A List
+      glBegin(GL_QUADS);                           // Use A Quad For Each Character
+      glTexCoord2f(cx,1.0f-cy-0.0625f);          // Texture Coord (Bottom Left)
+      glVertex2d(0,16);                          // Vertex Coord (Bottom Left)
+      glTexCoord2f(cx+0.0625f,1.0f-cy-0.0625f);  // Texture Coord (Bottom Right)
+      glVertex2i(16,16);                         // Vertex Coord (Bottom Right)
+      glTexCoord2f(cx+0.0625f,1.0f-cy-0.001f);   // Texture Coord (Top Right)
+      glVertex2i(16,0);                          // Vertex Coord (Top Right)
+      glTexCoord2f(cx,1.0f-cy-0.001f);           // Texture Coord (Top Left)
+      glVertex2i(0,0);                           // Vertex Coord (Top Left)
+      glEnd();                                     // Done Building Our Quad (Character)
+      glTranslated(12,0,0);                        // Move To The Right Of The Character
+      glEndList();                                 // Done Building The Display List
+    }                                              // Loop Until All 256 Are Built
+  return 1;
+}
+
+int Cone3DFont::KillFont(GLvoid)                          // Delete The Font From Memory
+{
+  glDeleteLists(base,256);                       // Delete All 256 Display Lists
+  return 1;
+}
+
+int Cone3DFont::PrintText(GLint x, GLint y, char type, char *fmt,...)// Where The Printing Happens
+{
+  char    text[1024];                            // Holds Our String
+  int blendOn,scissorOn,textureOn,lightOn;  // Holds the previous GL settings
+  int depthOn,matrixMode,screenStats[4],blendSrc,blendDst;
+  char typ=type;
+
+  va_list ap;                                    // Pointer To List Of Arguments
+
+  if (fmt == NULL)                               // If There's No Text
+    return 1;                                      // Do Nothing
+  
+  va_start(ap, fmt);                             // Parses The String For Variables
+  vsprintf(text, fmt, ap);                       // And Converts Symbols To Actual Numbers
+  va_end(ap);                                    // Results Are Stored In Text
+  
+  if (type>3)                                     // Did User Choose An Invalid Character Set?
+    type=3;                                       // If So, Select Set 2 (Italic)
+  
+  textureOn = glIsEnabled(GL_TEXTURE_2D); // Were textures enabled?
+  depthOn = glIsEnabled(GL_DEPTH_TEST);  // Was GL_DEPTH_TEST enabled?
+  lightOn = glIsEnabled(GL_LIGHTING); // Was GL_LIGHTING enabled?
+  scissorOn = glIsEnabled(GL_SCISSOR_TEST);  // etc.
+  glGetIntegerv(GL_MATRIX_MODE, &matrixMode);
+  glGetIntegerv(GL_VIEWPORT, screenStats);
+  blendOn= glIsEnabled(GL_BLEND);
+  glGetIntegerv(GL_BLEND_SRC, &blendSrc);
+  glGetIntegerv(GL_BLEND_DST, &blendDst);
+  
+  if (depthOn) glDisable(GL_DEPTH_TEST);  // If they were enabled/disabled
+  if (!textureOn) glEnable(GL_TEXTURE_2D); // then enable/disable them
+  if (!blendOn) glEnable(GL_BLEND);
+  if (!scissorOn) glEnable(GL_SCISSOR_TEST);
+  if (lightOn) glDisable(GL_LIGHTING);
+  glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // Set the correct blending mode
+  
+  glMatrixMode(GL_PROJECTION); // and initalize Ortho mode
+  glPushMatrix();
+  glLoadIdentity();
+  glOrtho(0.0f,screenStats[2],screenStats[3],0.0f,-1.0f,1.0f);
+  glMatrixMode(GL_MODELVIEW);
+  glPushMatrix();
+  glBindTexture(GL_TEXTURE_2D, font->getTexture());
+
+  if(type>1) typ=typ-2;
+  glLoadIdentity();
+  glTranslated(x,y,0);
+  glListBase(base-32+(128*typ));
+  glScalef(sizex,sizey,1.0f);
+  glCallLists(strlen(text),GL_UNSIGNED_BYTE, text); // Write The Text To The Screen
+  
+  if(type>1)
+    {
+      glLoadIdentity();
+      glTranslated(x+1,y,0);
+      glListBase(base-32+(128*(type-2)));
+      glScalef(sizex,sizey,1.0f);
+      glCallLists(strlen(text),GL_UNSIGNED_BYTE, text); // Write The Text To The Screen
+    }
+
+  glBindTexture(GL_TEXTURE_2D, 0); // Fix everything up
+  glMatrixMode(GL_PROJECTION);
+  glPopMatrix();
+  glMatrixMode(GL_MODELVIEW);
+  glPopMatrix();
+
+  if (depthOn) glEnable(GL_DEPTH_TEST);
+  if (!textureOn) glDisable(GL_TEXTURE_2D);
+  if (!blendOn) glDisable(GL_BLEND);
+  if (!scissorOn) glDisable(GL_SCISSOR_TEST);
+  if (lightOn) glEnable(GL_LIGHTING);
+
+  glBlendFunc(blendSrc, blendDst);
+  glMatrixMode(matrixMode);
+
+  return 1;
+}
Index: /orxonox/trunk/src/sfont/cone3dfont.h
===================================================================
--- /orxonox/trunk/src/sfont/cone3dfont.h	(revision 3455)
+++ /orxonox/trunk/src/sfont/cone3dfont.h	(revision 3455)
@@ -0,0 +1,42 @@
+/***************************************************************************
+                          cone3dfont.h  -  description
+                             -------------------
+    copyright            : (C) 2001 by Marius Andra aka Cone3D
+    email                : marius@hot.ee
+    ICQ                  : 43999510
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/*
+  This file is extended to the needs of the orxonox-project.
+  The main difference to the version of Marius is, that textures get 
+  loaded by orxonox Texture-class
+*/
+
+class Texture;
+
+
+class Cone3DFont
+{
+public:
+  Cone3DFont() {sizex=1.0f; sizey=1.0f;};
+	~Cone3DFont() {KillFont();};
+  int BuildFont(char *file);
+  int PrintText(int x, int y, char type, char *fmt, ...);
+  int KillFont();
+  int SetSize(float x, float y);
+
+  //  Cone3DTGA font;
+private:
+  int base;
+  float sizex,sizey;
+  Texture* font;
+
+};
Index: /orxonox/trunk/src/world.cc
===================================================================
--- /orxonox/trunk/src/world.cc	(revision 3454)
+++ /orxonox/trunk/src/world.cc	(revision 3455)
@@ -29,4 +29,5 @@
 #include "skysphere.h"
 #include "light.h"
+#include "sfont/cone3dfont.h"
 
 using namespace std;
@@ -200,18 +201,12 @@
 void World::load()
 {
-  // LIGHT initialisation
-  light = Light::getInstance();
-  light->addLight(0);
-  light->setAttenuation(QUADRATIC, 1.0);
-  light->setPosition(20.0, 10.0, 20.0);
-  light->setDiffuseColor(1,1,1);
-  //  light->addLight(1);
-  //  light->setPosition(20, 10, -20);
-  //  light->setDiffuseColor(0,0,0);
-  light->debug();
-
   //  BezierCurve* tmpCurve = new BezierCurve();
   if(this->debugWorldNr != -1)
     {
+      // initializing Font
+      testFont = new Cone3DFont();
+      testFont->BuildFont("../data/pictures/font.tga");
+
+      // initializing the TrackManager
       trackManager = TrackManager::getInstance();
       trackManager->addPoint(Vector(0,-5,0));
@@ -583,4 +578,18 @@
   */
   glEndList();
+  // LIGHT initialisation
+  light = Light::getInstance();
+  light->addLight(0);
+  light->setAttenuation(QUADRATIC, 1.0);
+  light->setAttenuation(CONSTANT, 2.0);
+  light->setAttenuation(QUADRATIC, 1.0);
+  light->setPosition(10.0, 1.0, 0.0);
+  light->setDiffuseColor(1,1,1);
+  //  light->addLight(1);
+  //  light->setPosition(20, 10, -20);
+  //  light->setDiffuseColor(0,0,0);
+  light->debug();
+
+
 }
 
@@ -648,7 +657,8 @@
   // draw debug coord system
   glCallList (objectList);
-
   //! \todo skysphere is a WorldEntity and should be inside of the world-entity-list.
   skySphere->draw();
+
+  testFont->PrintText(10, 10, 1, "orxonox_" PACKAGE_VERSION);
 
 }
Index: /orxonox/trunk/src/world.h
===================================================================
--- /orxonox/trunk/src/world.h	(revision 3454)
+++ /orxonox/trunk/src/world.h	(revision 3455)
@@ -18,4 +18,5 @@
 class Skysphere;
 class Light;
+class Cone3DFont;
 
 //! The game world
@@ -72,4 +73,5 @@
   bool bPause;                  //!< pause mode
 
+  Cone3DFont* testFont;         //!< A test Font. \todo fix this, so it is for real.
   GLMenuImageScreen* glmis;     //!< The Level-Loader Display
 
