Index: trunk/src/world_entities/Makefile.am
===================================================================
--- trunk/src/world_entities/Makefile.am	(revision 6431)
+++ trunk/src/world_entities/Makefile.am	(revision 6432)
@@ -1,65 +1,88 @@
-MAINSRCDIR=..
-include $(MAINSRCDIR)/defs/include_paths.am
+#MAINSRCDIR=..
+#include $(MAINSRCDIR)/defs/include_paths.am
 
-noinst_LIBRARIES = libORXworld_entities.a
+#noinst_LIBRARIES = libORXworld_entities.a
+#libORXworld_entities_a_SOURCES =
+#subdirs = .
 
-libORXworld_entities_a_SOURCES = \
-                  world_entity.cc \
-                  camera.cc \
-                  playable.cc \
-		  player.cc \
-                  npc.cc \
-                  npc2.cc \
-                  environment.cc \
-                  skysphere.cc \
-                  skybox.cc \
-                  terrain.cc \
-                  satellite.cc \
-                  character_attributes.cc \
-                  test_entity.cc \
-                  space_ships/space_ship.cc \
-                  creatures/md2_creature.cc \
-                  weapons/weapon_manager.cc \
-                  weapons/weapon.cc \
-                  weapons/test_gun.cc \
-                  weapons/turret.cc \
-                  weapons/projectile.cc \
-                  weapons/test_bullet.cc \
-                  weapons/rocket.cc \
-                  weapons/laser.cc \
-		  weapons/ground_turret.cc \
-                  weapons/crosshair.cc \
-		  weapons/ground_turret.cc \
-                  power_ups/power_up.cc \
-                  power_ups/turret_power_up.cc \
-                  power_ups/laser_power_up.cc
+WorldEntities_SOURCES_ = \
+                  world_entities/world_entity.cc \
+                  world_entities/camera.cc \
+                  world_entities/playable.cc \
+                  world_entities/player.cc \
+                  world_entities/npcs/npc.cc \
+                  world_entities/npcs/npc_test1.cc \
+                  world_entities/npcs/npc_test.cc \
+                  world_entities/npcs/ground_turret.cc \
+                  world_entities/environment.cc \
+                  world_entities/skysphere.cc \
+                  world_entities/skybox.cc \
+                  world_entities/terrain.cc \
+                  world_entities/satellite.cc \
+                  world_entities/character_attributes.cc \
+                  world_entities/test_entity.cc \
+                  world_entities/weapons/weapon_manager.cc \
+                  world_entities/weapons/weapon.cc \
+                  world_entities/weapons/projectile.cc \
+                  world_entities/weapons/test_gun.cc \
+                  world_entities/weapons/turret.cc \
+                  world_entities/weapons/aiming_turret.cc \
+                  world_entities/weapons/targeting_turret.cc \
+                  world_entities/weapons/cannon.cc \
+                  world_entities/weapons/test_bullet.cc \
+                  world_entities/weapons/rocket.cc \
+                  world_entities/weapons/guided_missile.cc \
+                  world_entities/weapons/laser.cc \
+                  world_entities/weapons/aim.cc \
+                  world_entities/weapons/bomb.cc \
+                  world_entities/weapons/crosshair.cc \
+                  world_entities/power_ups/power_up.cc \
+                  world_entities/power_ups/turret_power_up.cc \
+                  world_entities/power_ups/laser_power_up.cc \
+                  world_entities/power_ups/weapon_power_up.cc \
+                  world_entities/power_ups/param_power_up.cc \
+                  world_entities/space_ships/space_ship.cc \
+                  world_entities/space_ships/helicopter.cc \
+                  world_entities/creatures/md2_creature.cc \
+                  world_entities/spawning_point.cc
 
-noinst_HEADERS = \
-                 world_entity.h \
-                 camera.h \
-                 playable.h \
-		 player.h \
-                 npc.h \
-                 npc2.h \
-                 environment.h \
-                 skysphere.h \
-                 skybox.h \
-                 terrain.h \
-                 satellite.h \
-                 character_attributes.h \
-                 test_entity.h \
-		 space_ships/space_ship.h \
-		 creatures/md2_creature.cc \
-                 weapons/weapon_manager.h \
-                 weapons/weapon.h \
-                 weapons/projectile.h \
-                 weapons/test_gun.h \
-                 weapons/turret.h \
-                 weapons/test_bullet.h \
-                 weapons/crosshair.h \
-                 power_ups/power_up.h \
-                 power_ups/turret_power_up.h \
-                 power_ups/laser_power_up.h
-
-
-SUBDIRS = .          .
+WorldEntities_HEADERS_ = \
+                 world_entities/world_entity.h \
+                 world_entities/camera.h \
+                 world_entities/extendable.h \
+                 world_entities/playable.h \
+                 world_entities/player.h \
+                 world_entities/npcs/npc.h \
+                 world_entities/npcs/npc_test.h \
+                 world_entities/npcs/npc_test1.h \
+                 world_entities/environment.h \
+                 world_entities/skysphere.h \
+                 world_entities/skybox.h \
+                 world_entities/terrain.h \
+                 world_entities/satellite.h \
+                 world_entities/character_attributes.h \
+                 world_entities/test_entity.h \
+                 world_entities/weapons/weapon_manager.h \
+                 world_entities/weapons/weapon.h \
+                 world_entities/weapons/projectile.h \
+                 world_entities/weapons/test_gun.h \
+                 world_entities/weapons/cannon.h \
+                 world_entities/weapons/turret.h \
+                 world_entities/weapons/aiming_turret.h \
+                 world_entities/weapons/targeting_turret.h \
+                 world_entities/weapons/test_bullet.h \
+                 world_entities/weapons/rocket.h \
+                 world_entities/weapons/guided_missile.h \
+                 world_entities/weapons/laser.h \
+                 world_entities/weapons/aim.h \
+                 world_entities/weapons/bomb.h \
+                 world_entities/weapons/crosshair.h \
+                 world_entities/power_ups/power_up.h \
+                 world_entities/power_ups/turret_power_up.h \
+                 world_entities/power_ups/laser_power_up.h \
+                 world_entities/power_ups/param_power_up.h \
+                 world_entities/power_ups/weapon_power_up.h \
+                 world_entities/space_ships/space_ship.h \
+                 world_entities/space_ships/helicopter.h \
+                 world_entities/creatures/md2_creature.h \
+                 world_entities/spawning_point.h
Index: trunk/src/world_entities/npcs/ground_turret.cc
===================================================================
--- trunk/src/world_entities/npcs/ground_turret.cc	(revision 6432)
+++ trunk/src/world_entities/npcs/ground_turret.cc	(revision 6432)
@@ -0,0 +1,203 @@
+/*
+   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: Manuel Leuenberger
+   co-programmer: ...
+*/
+
+#include "ground_turret.h"
+#include "model.h"
+#include "world_entities/weapons/turret.h"
+
+#include "factory.h"
+#include "network_game_manager.h"
+#include "load_param.h"
+
+CREATE_FACTORY(GroundTurret, CL_GROUND_TURRET);
+
+using namespace std;
+
+
+/**
+ * constructs and loads a GroundTurret from a XML-element
+ * @param root the XML-element to load from
+ */
+GroundTurret::GroundTurret(const TiXmlElement* root)
+{
+  this->init();
+  if (root != NULL)
+    this->loadParams(root);
+}
+
+
+/**
+ * standard deconstructor
+ */
+GroundTurret::~GroundTurret ()
+{
+
+}
+
+
+/**
+ * initializes the GroundTurret
+ * @todo change this to what you wish
+ */
+void GroundTurret::init()
+{
+  this->setClassID(CL_GROUND_TURRET, "GroundTurret");
+  this->loadModel("models/ground_turret.obj", 5);
+  this->left = NULL;
+  this->right = NULL;
+
+  /*  left = new Turret();
+  left->setParent(this);
+  left->setRelCoor(0,10,0);
+  right = new Turret();
+  right->setParent(this);
+  right->setRelCoor(0,10,0);*/
+}
+
+
+/**
+ * loads a GroundTurret from a XML-element
+ * @param root the XML-element to load from
+ * @todo make the class Loadable
+ */
+void GroundTurret::loadParams(const TiXmlElement* root)
+{
+  // all the clases this Entity is directly derived from must be called in this way, to load all settings.
+  static_cast<NPC*>(this)->loadParams(root);
+
+
+  /**
+   * @todo: make the class Loadable
+   */
+  const TiXmlElement* element;
+
+  element = root->FirstChildElement("weapon-left");
+  if (element != NULL) element = element->FirstChildElement();
+  this->left = dynamic_cast<Weapon*>( Factory::fabricate( element) );
+  if (this->left)
+  {
+    this->left->setParent(this);
+    this->left->toList(this->getOMListNumber());
+    this->left->setRelCoor(0,10,-5);
+  }
+
+  element = root->FirstChildElement("weapon-right");
+  if (element != NULL)  if (element != NULL) element = element->FirstChildElement();
+  this->right = dynamic_cast<Weapon*>( Factory::fabricate( element) );
+  if (this->right)
+  {
+    this->right->setParent(this);
+    this->right->toList(this->getOMListNumber());
+    this->right->setRelCoor(0,10,5);
+  }
+}
+
+/**
+ * advances the GroundTurret about time seconds
+ * @param time the Time to step
+ */
+void GroundTurret::tick(float time)
+{
+
+}
+
+/**
+ * draws this worldEntity
+ */
+void GroundTurret::draw () const
+{
+  WorldEntity::draw();
+
+  if (this->left != NULL)
+    this->left->draw();
+  if (this->right != NULL)
+    this->right->draw();
+}
+
+
+/**
+ *
+ *
+ */
+void GroundTurret::collidesWith (WorldEntity* entity, const Vector& location)
+{
+  if (entity->isA(CL_PROJECTILE))
+    this->setAbsDirSoft(Quaternion(-90, Vector(0,0,1)), 90);
+}
+
+/**
+ *
+ *
+ */
+void GroundTurret::postSpawn ()
+{
+
+}
+
+/**
+ *
+ *
+ */
+void GroundTurret::leftWorld ()
+{
+
+}
+
+/**
+ * Writes data from network containing information about the state
+ * @param data pointer to data
+ * @param length length of data
+ * @param sender hostID of sender
+ */
+int GroundTurret::writeBytes( const byte * data, int length, int sender )
+{
+  setRequestedSync( false );
+  setIsOutOfSync( false );
+
+  SYNCHELP_READ_BEGIN();
+
+  SYNCHELP_READ_FKT( WorldEntity::writeState );
+
+  return SYNCHELP_READ_N;
+}
+
+/**
+ * data copied in data will bee sent to another host
+ * @param data pointer to data
+ * @param maxLength max length of data
+ * @return the number of bytes writen
+ */
+int GroundTurret::readBytes( byte * data, int maxLength, int * reciever )
+{
+  SYNCHELP_WRITE_BEGIN();
+
+  if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() )
+  {
+    (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() );
+    setRequestedSync( true );
+  }
+
+  int rec = this->getRequestSync();
+  if ( rec > 0 )
+  {
+    *reciever = rec;
+
+    SYNCHELP_WRITE_FKT( WorldEntity::readState );
+
+  }
+
+  *reciever = 0;
+  return SYNCHELP_WRITE_N;
+}
Index: trunk/src/world_entities/npcs/ground_turret.h
===================================================================
--- trunk/src/world_entities/npcs/ground_turret.h	(revision 6432)
+++ trunk/src/world_entities/npcs/ground_turret.h	(revision 6432)
@@ -0,0 +1,39 @@
+/*!
+ * @file ground_turret.h
+ * @brief description
+*/
+
+#ifndef _GROUND_TURRET_H
+#define _GROUND_TURRET_H
+
+#include "npcs/npc.h"
+
+class Weapon;
+
+//! A Class to ...
+class GroundTurret : public NPC
+{
+
+ public:
+  GroundTurret(const TiXmlElement* root = NULL);
+  virtual ~GroundTurret();
+
+  void init();
+  void loadParams(const TiXmlElement* root);
+
+  virtual void postSpawn ();
+  virtual void leftWorld ();
+
+
+  virtual void draw() const;
+  virtual void tick(float time);
+  virtual void collidesWith (WorldEntity* entity, const Vector& location);
+
+  virtual int writeBytes(const byte* data, int length, int sender);
+  virtual int readBytes(byte* data, int maxLength, int * reciever);
+
+ private:
+   Weapon *left, *right;
+};
+
+#endif /* _GROUND_TURRET_H */
Index: trunk/src/world_entities/weapons/ground_turret.cc
===================================================================
--- trunk/src/world_entities/weapons/ground_turret.cc	(revision 6431)
+++ 	(revision )
@@ -1,203 +1,0 @@
-/*
-   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: Manuel Leuenberger
-   co-programmer: ...
-*/
-
-#include "ground_turret.h"
-#include "model.h"
-#include "turret.h"
-
-#include "factory.h"
-#include "network_game_manager.h"
-#include "load_param.h"
-
-CREATE_FACTORY(GroundTurret, CL_GROUND_TURRET);
-
-using namespace std;
-
-
-/**
- * constructs and loads a GroundTurret from a XML-element
- * @param root the XML-element to load from
- */
-GroundTurret::GroundTurret(const TiXmlElement* root)
-{
-  this->init();
-  if (root != NULL)
-    this->loadParams(root);
-}
-
-
-/**
- * standard deconstructor
- */
-GroundTurret::~GroundTurret ()
-{
-
-}
-
-
-/**
- * initializes the GroundTurret
- * @todo change this to what you wish
- */
-void GroundTurret::init()
-{
-  this->setClassID(CL_GROUND_TURRET, "GroundTurret");
-  this->loadModel("models/ground_turret.obj", 5);
-  this->left = NULL;
-  this->right = NULL;
-
-  /*  left = new Turret();
-  left->setParent(this);
-  left->setRelCoor(0,10,0);
-  right = new Turret();
-  right->setParent(this);
-  right->setRelCoor(0,10,0);*/
-}
-
-
-/**
- * loads a GroundTurret from a XML-element
- * @param root the XML-element to load from
- * @todo make the class Loadable
- */
-void GroundTurret::loadParams(const TiXmlElement* root)
-{
-  // all the clases this Entity is directly derived from must be called in this way, to load all settings.
-  static_cast<NPC*>(this)->loadParams(root);
-
-
-  /**
-   * @todo: make the class Loadable
-   */
-  const TiXmlElement* element;
-
-  element = root->FirstChildElement("weapon-left");
-  if (element != NULL) element = element->FirstChildElement();
-  this->left = dynamic_cast<Weapon*>( Factory::fabricate( element) );
-  if (this->left)
-  {
-    this->left->setParent(this);
-    this->left->toList(this->getOMListNumber());
-    this->left->setRelCoor(0,10,-5);
-  }
-
-  element = root->FirstChildElement("weapon-right");
-  if (element != NULL)  if (element != NULL) element = element->FirstChildElement();
-  this->right = dynamic_cast<Weapon*>( Factory::fabricate( element) );
-  if (this->right)
-  {
-    this->right->setParent(this);
-    this->right->toList(this->getOMListNumber());
-    this->right->setRelCoor(0,10,5);
-  }
-}
-
-/**
- * advances the GroundTurret about time seconds
- * @param time the Time to step
- */
-void GroundTurret::tick(float time)
-{
-
-}
-
-/**
- * draws this worldEntity
- */
-void GroundTurret::draw () const
-{
-  WorldEntity::draw();
-
-  if (this->left != NULL)
-    this->left->draw();
-  if (this->right != NULL)
-    this->right->draw();
-}
-
-
-/**
- *
- *
- */
-void GroundTurret::collidesWith (WorldEntity* entity, const Vector& location)
-{
-  if (entity->isA(CL_PROJECTILE))
-    this->setAbsDirSoft(Quaternion(-90, Vector(0,0,1)), 90);
-}
-
-/**
- *
- *
- */
-void GroundTurret::postSpawn ()
-{
-
-}
-
-/**
- *
- *
- */
-void GroundTurret::leftWorld ()
-{
-
-}
-
-/**
- * Writes data from network containing information about the state
- * @param data pointer to data
- * @param length length of data
- * @param sender hostID of sender
- */
-int GroundTurret::writeBytes( const byte * data, int length, int sender )
-{
-  setRequestedSync( false );
-  setIsOutOfSync( false );
-
-  SYNCHELP_READ_BEGIN();
-
-  SYNCHELP_READ_FKT( WorldEntity::writeState );
-
-  return SYNCHELP_READ_N;
-}
-
-/**
- * data copied in data will bee sent to another host
- * @param data pointer to data
- * @param maxLength max length of data
- * @return the number of bytes writen
- */
-int GroundTurret::readBytes( byte * data, int maxLength, int * reciever )
-{
-  SYNCHELP_WRITE_BEGIN();
-
-  if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() )
-  {
-    (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() );
-    setRequestedSync( true );
-  }
-
-  int rec = this->getRequestSync();
-  if ( rec > 0 )
-  {
-    *reciever = rec;
-
-    SYNCHELP_WRITE_FKT( WorldEntity::readState );
-
-  }
-
-  *reciever = 0;
-  return SYNCHELP_WRITE_N;
-}
Index: trunk/src/world_entities/weapons/ground_turret.h
===================================================================
--- trunk/src/world_entities/weapons/ground_turret.h	(revision 6431)
+++ 	(revision )
@@ -1,39 +1,0 @@
-/*!
- * @file ground_turret.h
- * @brief description
-*/
-
-#ifndef _GROUND_TURRET_H
-#define _GROUND_TURRET_H
-
-#include "npcs/npc.h"
-
-class Weapon;
-
-//! A Class to ...
-class GroundTurret : public NPC
-{
-
- public:
-  GroundTurret(const TiXmlElement* root = NULL);
-  virtual ~GroundTurret();
-
-  void init();
-  void loadParams(const TiXmlElement* root);
-
-  virtual void postSpawn ();
-  virtual void leftWorld ();
-
-
-  virtual void draw() const;
-  virtual void tick(float time);
-  virtual void collidesWith (WorldEntity* entity, const Vector& location);
-
-  virtual int writeBytes(const byte* data, int length, int sender);
-  virtual int readBytes(byte* data, int maxLength, int * reciever);
-
- private:
-   Weapon *left, *right;
-};
-
-#endif /* _GROUND_TURRET_H */
