Index: /orxonox/trunk/src/Makefile.am
===================================================================
--- /orxonox/trunk/src/Makefile.am	(revision 3795)
+++ /orxonox/trunk/src/Makefile.am	(revision 3796)
@@ -43,4 +43,5 @@
 		 world_entities/environment.cc \
 		 world_entities/skysphere.cc \
+		 world_entities/skybox.cc \
 		 world_entities/terrain.cc \
 		 world_entities/weapon.cc \
@@ -95,4 +96,5 @@
 		 world_entities/environment.h \
 		 world_entities/skysphere.h \
+		 world_entities/skybox.h \
 		 world_entities/power_up.h \
 		 world_entities/terrain.h \
Index: /orxonox/trunk/src/Makefile.in
===================================================================
--- /orxonox/trunk/src/Makefile.in	(revision 3795)
+++ /orxonox/trunk/src/Makefile.in	(revision 3796)
@@ -60,8 +60,9 @@
 	campaign.$(OBJEXT) world.$(OBJEXT) world_entity.$(OBJEXT) \
 	player.$(OBJEXT) environment.$(OBJEXT) skysphere.$(OBJEXT) \
-	terrain.$(OBJEXT) weapon.$(OBJEXT) projectile.$(OBJEXT) \
-	satellite.$(OBJEXT) character_attributes.$(OBJEXT) \
-	test_gun.$(OBJEXT) test_bullet.$(OBJEXT) ai.$(OBJEXT) \
-	p_node.$(OBJEXT) null_parent.$(OBJEXT) helper_parent.$(OBJEXT) \
+	skybox.$(OBJEXT) terrain.$(OBJEXT) weapon.$(OBJEXT) \
+	projectile.$(OBJEXT) satellite.$(OBJEXT) \
+	character_attributes.$(OBJEXT) test_gun.$(OBJEXT) \
+	test_bullet.$(OBJEXT) ai.$(OBJEXT) p_node.$(OBJEXT) \
+	null_parent.$(OBJEXT) helper_parent.$(OBJEXT) \
 	data_tank.$(OBJEXT) graphics_engine.$(OBJEXT) light.$(OBJEXT) \
 	text_engine.$(OBJEXT) array.$(OBJEXT) objModel.$(OBJEXT) \
@@ -99,5 +100,5 @@
 @AMDEP_TRUE@	./$(DEPDIR)/satellite.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/simple_animation.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/skysphere.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/skybox.Po ./$(DEPDIR)/skysphere.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/story_entity.Po ./$(DEPDIR)/terrain.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/test_bullet.Po ./$(DEPDIR)/test_gun.Po \
@@ -254,4 +255,5 @@
 		 world_entities/environment.cc \
 		 world_entities/skysphere.cc \
+		 world_entities/skybox.cc \
 		 world_entities/terrain.cc \
 		 world_entities/weapon.cc \
@@ -306,4 +308,5 @@
 		 world_entities/environment.h \
 		 world_entities/skysphere.h \
+		 world_entities/skybox.h \
 		 world_entities/power_up.h \
 		 world_entities/terrain.h \
@@ -450,4 +453,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/satellite.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple_animation.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/skybox.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/skysphere.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/story_entity.Po@am__quote@
@@ -591,4 +595,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 skysphere.obj `if test -f 'world_entities/skysphere.cc'; then $(CYGPATH_W) 'world_entities/skysphere.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/skysphere.cc'; fi`
+
+skybox.o: world_entities/skybox.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT skybox.o -MD -MP -MF "$(DEPDIR)/skybox.Tpo" -c -o skybox.o `test -f 'world_entities/skybox.cc' || echo '$(srcdir)/'`world_entities/skybox.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/skybox.Tpo" "$(DEPDIR)/skybox.Po"; else rm -f "$(DEPDIR)/skybox.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='world_entities/skybox.cc' object='skybox.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/skybox.Po' tmpdepfile='$(DEPDIR)/skybox.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 skybox.o `test -f 'world_entities/skybox.cc' || echo '$(srcdir)/'`world_entities/skybox.cc
+
+skybox.obj: world_entities/skybox.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT skybox.obj -MD -MP -MF "$(DEPDIR)/skybox.Tpo" -c -o skybox.obj `if test -f 'world_entities/skybox.cc'; then $(CYGPATH_W) 'world_entities/skybox.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/skybox.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/skybox.Tpo" "$(DEPDIR)/skybox.Po"; else rm -f "$(DEPDIR)/skybox.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='world_entities/skybox.cc' object='skybox.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/skybox.Po' tmpdepfile='$(DEPDIR)/skybox.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 skybox.obj `if test -f 'world_entities/skybox.cc'; then $(CYGPATH_W) 'world_entities/skybox.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/skybox.cc'; fi`
 
 terrain.o: world_entities/terrain.cc
Index: /orxonox/trunk/src/animation.cc
===================================================================
--- /orxonox/trunk/src/animation.cc	(revision 3795)
+++ /orxonox/trunk/src/animation.cc	(revision 3796)
@@ -17,5 +17,4 @@
 #include "animation.h"
 #include "debug.h"
-#include "list.h"
 
 
Index: /orxonox/trunk/src/world_entities/skybox.cc
===================================================================
--- /orxonox/trunk/src/world_entities/skybox.cc	(revision 3796)
+++ /orxonox/trunk/src/world_entities/skybox.cc	(revision 3796)
@@ -0,0 +1,111 @@
+
+/* 
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   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, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: David Gruetter
+   co-programmer: Benjamin Grauer
+   
+   Created by Dave: this file is actually quite similar to player.cc and so is 
+   skybox.h similar to player.h
+   With that said, things should be clear:)
+   
+   Edited:
+   Bensch: more constructors, changeability, comments...
+   Patrick: giving it the common orxonox style, not much to do... good work Dave!
+
+*/
+
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY
+
+
+#include "skybox.h"
+#include "stdincl.h"
+
+#include "material.h"
+#include "vector.h"
+#include "resource_manager.h"
+#include "model.h"
+//#include "world_entity.h"
+
+
+using namespace std;
+
+/**
+   \brief Constructs a SkyBox and takes fileName as a map.
+   \param fileName the file to take as input for the SkyBox
+*/
+SkyBox::SkyBox(char* fileName)
+{
+  this->setClassName("SkyBox");
+
+
+  this->model = (Model*)ResourceManager::getInstance()->load("cube", PRIM, RP_LEVEL);
+  this->setMode(PNODE_MOVEMENT);
+
+  this->setSize(1900.0);
+
+  this->material = new Material("Sky");
+  if (fileName)
+    this->setTexture(fileName);
+  this->material->setIllum(3);
+  this->material->setAmbient(1.0, 1.0, 1.0);
+
+}
+
+
+/**
+   \brief default destructor
+*/
+SkyBox::~SkyBox()
+{
+  PRINTF(3)("Deleting the SkyBox\n");
+  delete this->material;
+}
+
+
+/**
+   \brief Defines which texture should be loaded onto the SkyBox.
+   \param fileName The filename of the Texture
+*/
+void SkyBox::setTexture(char* fileName)
+{
+  this->material->setDiffuseMap(fileName);
+}
+
+
+/**
+   \brief draws the SkyBox
+   
+   This part is normally precessed in the "Painting Phase".
+*/
+void SkyBox::draw()
+{
+  glPushMatrix();
+  glMatrixMode(GL_MODELVIEW);
+  Vector r = this->getAbsCoor();
+  glTranslatef(r.x, r.y, r.z);
+
+  this->material->select();
+
+  this->model->draw();
+
+  glPopMatrix();
+}
+
+
+/**
+   \brief sets the Radius of the Sphere.
+   \param radius The Radius of The Sphere
+*/
+void SkyBox::setSize(float size)
+{
+  this->size = size;
+}
Index: /orxonox/trunk/src/world_entities/skybox.h
===================================================================
--- /orxonox/trunk/src/world_entities/skybox.h	(revision 3796)
+++ /orxonox/trunk/src/world_entities/skybox.h	(revision 3796)
@@ -0,0 +1,41 @@
+/*! 
+    \file skybox.h
+    \brief Definition of the SkyBox, that handles the Display of an atmosphere for orxonox.
+
+    A SkyBox is always centered at the current working Camera, and will only obey the cameras
+    movment but not its rotation.
+*/
+
+#ifndef _SKYBOX_H
+#define _SKYBOX_H
+
+/* INCLUDES */
+#include "world_entity.h"
+
+/* FORWARD DEFINITION */
+class Material;
+class Vector;
+
+//! A Class to handle a Skybox
+class SkyBox : public WorldEntity
+{
+
+ public:
+  SkyBox(char* fileName = NULL);
+  virtual ~SkyBox();
+
+  void setSize(float size);
+  void setTexture(char* fileName);
+
+  virtual void draw();
+
+ private: 
+  Material *material;    //!< A Material for the Skybox.
+  float size;       //!< Radius of the Skybox. This should match the frustum maximum range.
+    
+};
+
+#endif  /* _SKYBOX_H */
+
+
+
