Index: /branches/terrain/src/lib/collision_detection/cd_engine.cc
===================================================================
--- /branches/terrain/src/lib/collision_detection/cd_engine.cc	(revision 9416)
+++ /branches/terrain/src/lib/collision_detection/cd_engine.cc	(revision 9417)
@@ -24,5 +24,5 @@
 #include "model.h"
 #include "world_entity.h"
-#include "terrain.h"
+#include "terrain_entity.h"
 // #include "player.h"
 
Index: /branches/terrain/src/lib/collision_detection/cd_engine.h
===================================================================
--- /branches/terrain/src/lib/collision_detection/cd_engine.h	(revision 9416)
+++ /branches/terrain/src/lib/collision_detection/cd_engine.h	(revision 9417)
@@ -16,5 +16,5 @@
 class WorldEntity;
 class OBBTree;
-class Terrain;
+class TerrainEntity;
 class BspManager;
 //class Player;
@@ -50,5 +50,5 @@
   inline void disable(const int options) { int temp = this->state & options; this->state ^= temp; }
 
-  inline void setTerrain(Terrain* terrain) { this->terrain = terrain; }
+  inline void setTerrain(TerrainEntity* terrain) { this->terrain = terrain; }
   inline void setBSPModel(BspManager* bspManager) { this->bspManager = bspManager; }
 
@@ -83,5 +83,5 @@
   OBBTree*                rootTree;                         //!< for testing purposes a root tree
 
-  Terrain*                terrain;                          //!< this it a ref to the terrain, serving as a ground for all WE
+  TerrainEntity*          terrain;                          //!< this it a ref to the terrain, serving as a ground for all WE
   BspManager*             bspManager;
 };
Index: /branches/terrain/src/lib/graphics/importer/bsp_file.cc
===================================================================
--- /branches/terrain/src/lib/graphics/importer/bsp_file.cc	(revision 9416)
+++ /branches/terrain/src/lib/graphics/importer/bsp_file.cc	(revision 9417)
@@ -102,10 +102,10 @@
 	this->numTextures = lump.length/sizeof(BspTexture);
 	this->textures = new char[lump.length];
-	file.seekg( lump.offset );	
-	file.read( TEXTURE_SEMANTICS, this->numTextures, 
+	file.seekg( lump.offset );
+	file.read( TEXTURE_SEMANTICS, this->numTextures,
 		this->textures, slurpedBytes );
 }
 void BspFile::readPlanes()
-{	
+{
 	size_t slurpedBytes;
 	bsp_lump& lump = header.lumps[Planes];
@@ -113,5 +113,5 @@
 	this->planes = new plane[this->numPlanes];
 	file.seekg( lump.offset );
-	file.read( PLANE_SEMANTICS, this->numPlanes, 
+	file.read( PLANE_SEMANTICS, this->numPlanes,
 		this->planes, slurpedBytes );
 }
@@ -124,5 +124,5 @@
 	this->nodes = new node[this->numNodes];
 	file.seekg( lump.offset );
-	file.read( NODE_SEMANTICS, this->numNodes, 
+	file.read( NODE_SEMANTICS, this->numNodes,
 		this->nodes, slurpedBytes );
 }
@@ -135,6 +135,6 @@
 	this->leaves = new leaf[this->numLeafs];
 	file.seekg( lump.offset );
-	file.read( LEAF_SEMANTICS, this->numLeafs, 
-		this->leaves, slurpedBytes );	
+	file.read( LEAF_SEMANTICS, this->numLeafs,
+		this->leaves, slurpedBytes );
 }
 
@@ -146,5 +146,5 @@
 	this->leafFaces = (char*)( new int[this->numLeafFaces] );
 	file.seekg( lump.offset );
-	file.read( "i", this->numLeafFaces, 
+	file.read( "i", this->numLeafFaces,
 		this->leafFaces, slurpedBytes );
 }
@@ -157,6 +157,6 @@
 	this->leafBrushes = (char*) ( new int[this->numLeafBrushes] );
 	file.seekg( lump.offset );
-	file.read( "i", this->numLeafBrushes, 
-		this->leafBrushes, slurpedBytes );	
+	file.read( "i", this->numLeafBrushes,
+		this->leafBrushes, slurpedBytes );
 }
 
@@ -168,5 +168,5 @@
 	this->bspModels = new model[this->numBspModels];
 	file.seekg( lump.offset );
-	file.read( MODEL_SEMANTICS, this->numBspModels, 
+	file.read( MODEL_SEMANTICS, this->numBspModels,
 		this->bspModels, slurpedBytes );
 }
@@ -179,5 +179,5 @@
 	this->brushes = new brush[numBrushes];
 	file.seekg( lump.offset );
-	file.read( BRUSH_SEMANTICS, numBrushes, 
+	file.read( BRUSH_SEMANTICS, numBrushes,
 		this->brushes, slurpedBytes );
 }
@@ -189,5 +189,5 @@
 	this->vertice = (char*)( new BspVertex[this->numVertex] );
 	file.seekg( lump.offset );
-	file.read( VERTEX_SEMANTICS, this->numVertex, 
+	file.read( VERTEX_SEMANTICS, this->numVertex,
 		this->vertice, slurpedBytes );
 }
@@ -215,5 +215,5 @@
 	this->faces = new face[this->numFaces];
 	file.seekg( lump.offset );
-	file.read( FACE_SEMANTICS, this->numFaces, 
+	file.read( FACE_SEMANTICS, this->numFaces,
 		this->faces, slurpedBytes );
 }
@@ -226,10 +226,10 @@
 	this->lightMaps = new lightmap[this->numLightMaps];
 	file.seekg( lump.offset );
-	file.read( LIGHTMAP_SEMANTICS, this->numLightMaps, 
+	file.read( LIGHTMAP_SEMANTICS, this->numLightMaps,
 		this->lightMaps, slurpedBytes );
 }
 void BspFile::readLightvols()
 {
-	/* not loaded atm */	
+	/* not loaded atm */
 }
 void BspFile::readBrushSides()
@@ -241,5 +241,5 @@
 	this->brushSides = new brushside[this->numBrushSides];
 	file.seekg( lump.offset );
-	file.read( BRUSHSIDE_SEMANTICS, this->numBrushSides, 
+	file.read( BRUSHSIDE_SEMANTICS, this->numBrushSides,
 		this->brushSides, slurpedBytes );
 }
@@ -251,6 +251,6 @@
 	file.seekg( lump.offset );
 	file.read( "i2", 1, this->visData, slurpedBytes );
-	file.read( "b", lump.length-8, 
-		this->visData+8, slurpedBytes );	
+	file.read( "b", lump.length-8,
+		this->visData+8, slurpedBytes );
 }
 /**
@@ -267,11 +267,11 @@
 	if (file.exists() && file.open( File::ReadOnly ) ) {
     	PRINTF(0)("BSP FILE: Datei %s gefunden. \n", name);
-    	
+
 		//BSP-Files have little endian order.
 		file.setByteorder( LittleEndian );
 		file.read( HEADER_SEMANTICS, (void*)&header, slurpedBytes );
 		if ( header.version != 46 ) {
-			PRINTF(0)("BSP FILE: Wrong BSPVersion. We only handle 0x2e-files!\n");   
-			//!< now, we should do some error handling		
+			PRINTF(0)("BSP FILE: Wrong BSPVersion. We only handle 0x2e-files!\n");
+			//!< now, we should do some error handling
 			return ( -1 );
 		}
@@ -280,6 +280,6 @@
 		readPlanes();
 		readNodes();
-		readLeafs(); readLeafFaces(); readLeafBrushes(); 
-		readModels(); 
+		readLeafs(); readLeafFaces(); readLeafBrushes();
+		readModels();
 		readVertices(); readMeshVerts();
 		readBrushSides(); readBrushes();
@@ -287,5 +287,5 @@
 		readFaces();
 		readLightmaps(); readLightvols();
-		readVisdata(	
+                readVisdata();
     	file.close();
 
Index: /branches/terrain/src/lib/graphics/importer/md3/md3_animation_cfg.cc
===================================================================
--- /branches/terrain/src/lib/graphics/importer/md3/md3_animation_cfg.cc	(revision 9416)
+++ /branches/terrain/src/lib/graphics/importer/md3/md3_animation_cfg.cc	(revision 9417)
@@ -174,5 +174,5 @@
 	}
     }*/
-      */
+
   }
 
Index: /branches/terrain/src/lib/graphics/importer/terrain/terrain_page.h
===================================================================
--- /branches/terrain/src/lib/graphics/importer/terrain/terrain_page.h	(revision 9416)
+++ /branches/terrain/src/lib/graphics/importer/terrain/terrain_page.h	(revision 9417)
Index: /branches/terrain/src/lib/graphics/importer/terrain/terrain_quad.h
===================================================================
--- /branches/terrain/src/lib/graphics/importer/terrain/terrain_quad.h	(revision 9416)
+++ /branches/terrain/src/lib/graphics/importer/terrain/terrain_quad.h	(revision 9417)
@@ -1,15 +1,15 @@
 /*
 	orxonox - the future of 3D-vertical-scrollers
- 
+
 	Copyright (C) 2006 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: Marco Biasini
- 
+
  */
 #ifndef _TERRAIN_QUAD_TREE_H
@@ -24,28 +24,28 @@
 
 typedef enum { TL_CHILD = 0, TR_CHILD = 1, BL_CHILD = 2, BR_CHILD = 3 } TerrainQuadChild;
-	
+
 class TerrainQuad {
 	public:
 		TerrainQuad( Terrain *_owner, int _xOffset, int _zOffset );
 		TerrainQuad( Terrain *_owner, int _x0, int _z0, int _x1, int _z1 );
-		
-		virtual ~TerrainQuad( ) 
+
+		virtual ~TerrainQuad( )
 		{
 			for ( int i = 0; i < 4; ++i ) {
 				if ( !children[i]->isChildless() )
 					SAVE_DELETE( children[i] );
-			}	
+			}
 		}
 		int cull( );
-		
+
 		/**
 		 * Returns the array containing the children quad-nodes of this node in the following
 		 * order: top-left, top-right, bottom-left, bottom-right
 		 */
-		inline pTerrainQuad* getChildren( ) 
-		{ 
-			return children; 
+		inline pTerrainQuad* getChildren( )
+		{
+			return children;
 		}
-		
+
 		/**
 		 * Sets the child-nodes to the specified _children elements.
@@ -56,13 +56,13 @@
 				children[i] = _children[i];
 		}
-		
+
 		inline bool isChildless() { return ( children[0] == NULL ); }
-		
+
 		/**
 		 * Returns the child node given by _child. The returned node may be null.
 		 */
-		inline pTerrainQuad getChild( TerrainQuadChild _child ) 
-		{ 
-			return children[_child]; 
+		inline pTerrainQuad getChild( TerrainQuadChild _child )
+		{
+			return children[_child];
 		}
 		inline void setScale( Vector _scale )
@@ -88,5 +88,5 @@
 		inline int getWidth() { return width; }
 		inline int getHeight() { return height; }
-		
+
 	protected:
 		TerrainQuad( ) {}
Index: /branches/terrain/src/lib/math/plane.h
===================================================================
--- /branches/terrain/src/lib/math/plane.h	(revision 9416)
+++ /branches/terrain/src/lib/math/plane.h	(revision 9417)
@@ -47,5 +47,10 @@
   Plane () : n(Vector(1,1,1)), k(0) {}
   ~Plane () {}
-
+  inline const Plane& operator= ( const Plane& _p )
+  {
+    this->n = _p.n;
+    this->k = _p.k;
+    return *this;
+  }
   Vector intersectLine (const Line& l) const;
   float distancePoint (const Vector& p) const;
Index: /branches/terrain/src/lib/util/filesys/binary_file.cc
===================================================================
--- /branches/terrain/src/lib/util/filesys/binary_file.cc	(revision 9416)
+++ /branches/terrain/src/lib/util/filesys/binary_file.cc	(revision 9417)
@@ -5,201 +5,228 @@
 int bytesize( const char _c )
 {
-	switch( _c) {
-		case 'f':
-		case 'i':
-			return 4;
-		case 'b':
-			return 1;
-		case 's':
-			return 2;
-		default:
-			return 0;
-	}
+  switch( _c)
+  {
+    case 'f':
+    case 'i':
+      return 4;
+    case 'b':
+      return 1;
+    case 's':
+      return 2;
+    default:
+      return 0;
+  }
 }
 
 pDataSemantics BinaryFile::compileSemantics( const char *_semantics )
 {
-	const char *curr = _semantics;
-	char *tmp = new char[strlen(_semantics)];
-	//Find out how many subchunks exist.
-	pDataSemantics chunk = new DataSemantics();
-	bool terminated = false;
-	int open = 0;
-	while ( *curr ) {
-		switch( *curr ) {
-			case 'i':
-			case 'f':
-			case 'b':
-			case 's':
-				chunk->numChunkNodes++;
-				break;
-			case '(':
-				terminated = false;
-				chunk->numChunkNodes++;
-				while ( *curr && terminated == false ) {
-					if ( *curr == ')' )
-						terminated = true;
-					curr++;
-				}
-				if ( !terminated ) {
-					printf( "Syntax error: ')' is missing" );
-					delete chunk;
-					return NULL;
-				}
-				break;
-			default:
-				break;
-		}
-		curr++;
-	}
-	//Compile the chunks...
-	chunk->chunks = new pDataSemantics[chunk->numChunkNodes];
-	int currChunk = 0;
-	curr = _semantics;
-	while ( *curr ) {
-		switch( *curr ) {
-			case 'i':
-			case 'f':
-			case 'b':
-			case 's':
-				chunk->chunks[currChunk] = new DataSemantics();
-				chunk->chunks[currChunk]->isTerminal = true;
-				chunk->chunks[currChunk]->type = bytesize( *curr );
-				chunk->chunks[currChunk]->totalSize = bytesize( *curr );
-				currChunk++;
-				break;
-			case '(':
-				curr++;
-				open = 0;
-				memset( tmp, 0, strlen( _semantics ) );
-				char * cp = tmp;
-				while ( *curr ) {
-					if ( *curr == '(' )
-						open++;
-					if ( *curr == ')' ) {
-						if ( open )
-							open--;
-						else
-							break;
-					}
-					*cp = *curr;
-					cp++;
-					curr++;
-				}
-				*cp = '\0';
-				chunk->chunks[currChunk] = compileSemantics( tmp );
-				currChunk++;
-				break;
-			case ')':
-				printf( "Syntax error: ')' shouldn't appear here\n" );
-				delete[] tmp; delete chunk;
-				return NULL;
-				break;
-			default:
-				int multiplier = 1, quantifier = 0;
-				const char *start = curr;
-				const char *end = curr;
-				while ( isdigit( *end ) ) {
-					end++;
-				}
-				for ( const char *d = end-1; d >=start; --d ) {
-					quantifier+=multiplier*(*d-'0');
-					multiplier*=10;
-				}
-				if ( start == end ) {
-					printf( "Syntax error: '%c' is not known.\n", *curr );
-					delete[] tmp; delete chunk;
-					return NULL;
-				}
-				if ( currChunk ) {
-					chunk->chunks[currChunk-1]->quantifier = quantifier;
-					chunk->chunks[currChunk-1]->totalSize*= quantifier;
-				}
-				else {
-					printf( "Syntax error: Quantifier without a preceding type\n" );
-					delete[] tmp; delete chunk;
-					return NULL;
-				}
-				curr = end-1;
-				break;
-		}
-		curr++;
-	}
-	for ( int i = 0; i < chunk->numChunkNodes; ++i ) {
-		chunk->totalSize+= chunk->chunks[i]->totalSize;
-	}
-	delete[] tmp;
-	return chunk;
+  const char *curr = _semantics;
+  char *tmp = new char[strlen(_semantics)];
+  //Find out how many subchunks exist.
+  pDataSemantics chunk = new DataSemantics();
+  bool terminated = false;
+  int open = 0;
+  while ( *curr )
+  {
+    switch( *curr )
+    {
+      case 'i':
+      case 'f':
+      case 'b':
+      case 's':
+        chunk->numChunkNodes++;
+        break;
+      case '(':
+        terminated = false;
+        chunk->numChunkNodes++;
+        while ( *curr && terminated == false )
+        {
+          if ( *curr == ')' )
+            terminated = true;
+          curr++;
+        }
+        if ( !terminated )
+        {
+          printf( "Syntax error: ')' is missing" );
+          delete chunk;
+          return NULL;
+        }
+        break;
+      default:
+        break;
+    }
+    curr++;
+  }
+  //Compile the chunks...
+  chunk->chunks = new pDataSemantics[chunk->numChunkNodes];
+  int currChunk = 0;
+  curr = _semantics;
+  while ( *curr )
+  {
+    switch( *curr )
+    {
+      case 'i':
+      case 'f':
+      case 'b':
+      case 's':
+        chunk->chunks[currChunk] = new DataSemantics();
+        chunk->chunks[currChunk]->isTerminal = true;
+        chunk->chunks[currChunk]->type = bytesize( *curr );
+        chunk->chunks[currChunk]->totalSize = bytesize( *curr );
+        currChunk++;
+        break;
+        case '(': {
+        curr++;
+        open = 0;
+        memset( tmp, 0, strlen( _semantics ) );
+        char * cp = tmp;
+        while ( *curr )
+        {
+          if ( *curr == '(' )
+            open++;
+          if ( *curr == ')' )
+          {
+            if ( open )
+              open--;
+            else
+              break;
+          }
+          *cp = *curr;
+          cp++;
+          curr++;
+        }
+        *cp = '\0';
+        chunk->chunks[currChunk] = compileSemantics( tmp );
+        currChunk++;
+        }
+        break;
+      case ')':
+        printf( "Syntax error: ')' shouldn't appear here\n" );
+        delete[] tmp; delete chunk;
+        return NULL;
+        break;
+      default:
+        int multiplier = 1, quantifier = 0;
+        const char *start = curr;
+        const char *end = curr;
+        while ( isdigit( *end ) )
+        {
+          end++;
+        }
+        for ( const char *d = end-1; d >=start; --d )
+        {
+          quantifier+=multiplier*(*d-'0');
+          multiplier*=10;
+        }
+        if ( start == end )
+        {
+          printf( "Syntax error: '%c' is not known.\n", *curr );
+          delete[] tmp; delete chunk;
+          return NULL;
+        }
+        if ( currChunk )
+        {
+          chunk->chunks[currChunk-1]->quantifier = quantifier;
+          chunk->chunks[currChunk-1]->totalSize*= quantifier;
+        }
+        else
+        {
+          printf( "Syntax error: Quantifier without a preceding type\n" );
+          delete[] tmp; delete chunk;
+          return NULL;
+        }
+        curr = end-1;
+        break;
+    }
+    curr++;
+  }
+  for ( int i = 0; i < chunk->numChunkNodes; ++i )
+  {
+    chunk->totalSize+= chunk->chunks[i]->totalSize;
+  }
+  delete[] tmp;
+  return chunk;
 }
 
 void convert_data( pDataSemantics _comp, void *_data )
 {
-	char *ptr = (char*)_data;
-	short *sptr;
-	int *iptr;
-	if ( _comp->isTerminal ) {
-		switch( _comp->type ) {
-			case TT_INT:
-				iptr = (int*)ptr;
-				for ( int i = 0; i < _comp->quantifier; ++i ) {
-					swap32( iptr );
-					iptr++;
-				}
-				break;
-			case TT_SHORT:
-				sptr = (short*)ptr;
-				for ( int i = 0; i < _comp->quantifier; ++i ) {
-					swap16( sptr );
-					sptr++;
-				}
-				break;
-			case TT_BYTE:
-				break;
-		}
-	}
-	else {
-		for ( int j = 0; j < _comp->quantifier; ++j ) {
-			for ( int i = 0; i < _comp->numChunkNodes; ++i ) {
-				convert_data( _comp->chunks[i], ptr );
-				ptr+= _comp->chunks[i]->totalSize;
-			}
-		}
-
-	}
+  char *ptr = (char*)_data;
+  short *sptr;
+  int *iptr;
+  if ( _comp->isTerminal )
+  {
+    switch( _comp->type )
+    {
+      case TT_INT:
+        iptr = (int*)ptr;
+        for ( int i = 0; i < _comp->quantifier; ++i )
+        {
+          swap32( iptr );
+          iptr++;
+        }
+        break;
+      case TT_SHORT:
+        sptr = (short*)ptr;
+        for ( int i = 0; i < _comp->quantifier; ++i )
+        {
+          swap16( sptr );
+          sptr++;
+        }
+        break;
+      case TT_BYTE:
+        break;
+    }
+  }
+  else
+  {
+    for ( int j = 0; j < _comp->quantifier; ++j )
+    {
+      for ( int i = 0; i < _comp->numChunkNodes; ++i )
+      {
+        convert_data( _comp->chunks[i], ptr );
+        ptr+= _comp->chunks[i]->totalSize;
+      }
+    }
+
+  }
 }
 void BinaryFile::read( const char *_semantics, int _chunks,
-	void* _buf, size_t& _bytesRead )
-{
-	pDataSemantics comp = compileSemantics( _semantics );
-	fread( _buf, comp->totalSize, _chunks, this->handle() );
-	if ( byteorder != NATIVE_BYTEORDER ) {
-		for ( int i = 0; i < _chunks; ++i ) {
-			convert_data( comp, (char*)_buf+i*comp->totalSize );
-		}
-	}
-	_bytesRead = comp->totalSize*_chunks;
-	delete comp;
+                       void* _buf, size_t& _bytesRead )
+{
+  pDataSemantics comp = compileSemantics( _semantics );
+  fread( _buf, comp->totalSize, _chunks, this->handle() );
+  if ( byteorder != NATIVE_BYTEORDER )
+  {
+    for ( int i = 0; i < _chunks; ++i )
+    {
+      convert_data( comp, (char*)_buf+i*comp->totalSize );
+    }
+  }
+  _bytesRead = comp->totalSize*_chunks;
+  delete comp;
 }
 void BinaryFile::read( const char *_semantics,
-	void* _buf, size_t& _bytesRead )
-{
-	pDataSemantics comp = compileSemantics( _semantics );
-	fread( _buf, comp->totalSize, 1, this->handle() );
-
-	if ( byteorder != NATIVE_BYTEORDER ) {
-		convert_data( comp, _buf );
-	}
-	delete comp;
+                       void* _buf, size_t& _bytesRead )
+{
+  pDataSemantics comp = compileSemantics( _semantics );
+  fread( _buf, comp->totalSize, 1, this->handle() );
+
+  if ( byteorder != NATIVE_BYTEORDER )
+  {
+    convert_data( comp, _buf );
+  }
+  delete comp;
 }
 
 void BinaryFile::write( const char *_semantics,
-	void* _buf, size_t& _bytesWritten )
-{
-	pDataSemantics comp = compileSemantics( _semantics );
-	if ( byteorder != NATIVE_BYTEORDER ) {
-		convert_data( comp, _buf );
-	}
-	_bytesWritten = comp->totalSize;
-	fwrite( _buf, comp->totalSize, 1, this->handle() );
-	delete comp;
-}
+                        void* _buf, size_t& _bytesWritten )
+{
+  pDataSemantics comp = compileSemantics( _semantics );
+  if ( byteorder != NATIVE_BYTEORDER )
+  {
+    convert_data( comp, _buf );
+  }
+  _bytesWritten = comp->totalSize;
+  fwrite( _buf, comp->totalSize, 1, this->handle() );
+  delete comp;
+}
Index: /branches/terrain/src/story_entities/game_world.cc
===================================================================
--- /branches/terrain/src/story_entities/game_world.cc	(revision 9416)
+++ /branches/terrain/src/story_entities/game_world.cc	(revision 9417)
@@ -30,7 +30,7 @@
 #include "camera.h"
 #include "environment.h"
-#include "terrain.h"
+#include "terrain_entity.h"
 #include "test_entity.h"
-#include "terrain.h"
+#include "terrain_entity.h"
 #include "playable.h"
 #include "environments/mapped_water.h"
Index: /branches/terrain/src/story_entities/game_world_data.cc
===================================================================
--- /branches/terrain/src/story_entities/game_world_data.cc	(revision 9416)
+++ /branches/terrain/src/story_entities/game_world_data.cc	(revision 9417)
@@ -31,5 +31,5 @@
 #include "player.h"
 #include "camera.h"
-#include "terrain.h"
+#include "terrain_entity.h"
 #include "skybox.h"
 #include "md2/md2Model.h"
@@ -222,5 +222,5 @@
       if( element->Value() == "Terrain" && created->isA(CL_TERRAIN))
       {
-        this->terrain = dynamic_cast<Terrain*>(created);
+        this->terrain = dynamic_cast<TerrainEntity*>(created);
         CDEngine::getInstance()->setTerrain(terrain);
       }
Index: /branches/terrain/src/story_entities/game_world_data.h
===================================================================
--- /branches/terrain/src/story_entities/game_world_data.h	(revision 9416)
+++ /branches/terrain/src/story_entities/game_world_data.h	(revision 9417)
@@ -14,5 +14,5 @@
 class Camera;
 class Player;
-class Terrain;
+class TerrainEntity;
 class WorldEntity;
 
@@ -58,5 +58,5 @@
     Player*                       localPlayer;    //!< The player, you fly through the level.
     WorldEntity*                  sky;            //!< The environmental sky of orxonox
-    Terrain*                      terrain;        //!< The terrain - ground
+    TerrainEntity*                terrain;        //!< The terrain - ground
 
     OrxSound::OggPlayer*          music;          //!< Reference to the SoundEngine's music player (OggPlayer)
Index: /branches/terrain/src/story_entities/multi_player_world_data.cc
===================================================================
--- /branches/terrain/src/story_entities/multi_player_world_data.cc	(revision 9416)
+++ /branches/terrain/src/story_entities/multi_player_world_data.cc	(revision 9417)
@@ -31,7 +31,6 @@
 #include "camera.h"
 #include "environment.h"
-#include "terrain.h"
+#include "terrain_entity.h"
 #include "test_entity.h"
-#include "terrain.h"
 #include "md2/md2Model.h"
 #include "world_entities/projectiles/projectile.h"
@@ -161,7 +160,7 @@
         if( element->Value() != NULL && !strcmp( element->Value(), "SkyBox"))
           this->sky = dynamic_cast<WorldEntity*>(created);
-        if( element->Value() != NULL && !strcmp( element->Value(), "Terrain"))
+        if( element->Value() != NULL && !strcmp( element->Value(), "TerrainEntityF"))
         {
-          this->terrain = dynamic_cast<Terrain*>(created);
+          this->terrain = dynamic_cast<TerrainEntity*>(created);
           CDEngine::getInstance()->setTerrain(terrain);
         }
@@ -194,5 +193,5 @@
           if( element->Value() != NULL && !strcmp( element->Value(), "Terrain"))
           {
-            this->terrain = dynamic_cast<Terrain*>(created);
+            this->terrain = dynamic_cast<TerrainEntity*>(created);
             CDEngine::getInstance()->setTerrain(terrain);
           }
Index: /branches/terrain/src/util/multiplayer_team_deathmatch.cc
===================================================================
--- /branches/terrain/src/util/multiplayer_team_deathmatch.cc	(revision 9416)
+++ /branches/terrain/src/util/multiplayer_team_deathmatch.cc	(revision 9417)
@@ -32,5 +32,5 @@
 
 #include "shared_network_data.h"
-#include "terrain.h"
+#include "terrain_entity.h"
 #include "class_list.h"
 #include "space_ships/space_ship.h"
