Index: branches/presentation/src/world_entities/creatures/fps_player.cc
===================================================================
--- branches/presentation/src/world_entities/creatures/fps_player.cc	(revision 9165)
+++ branches/presentation/src/world_entities/creatures/fps_player.cc	(revision 9166)
@@ -32,4 +32,5 @@
 
 #include "aabb.h"
+
 
 #include "key_mapper.h"
@@ -90,4 +91,5 @@
   this->bJump = false;
   this->bPosBut = false;
+  this->bFire = false;
 
   this->xMouse = 0.0f;
@@ -143,4 +145,8 @@
   this->getWeaponManager().getFixedTarget()->setRelCoor(1000,0,0);
 
+  this->aimingSystem = new AimingSystem();
+  this->addChild(this->aimingSystem);
+  this->aimingSystem->toList(OM_LIST(this->getOMListNumber() + 1));
+
 
   // network registration
@@ -245,7 +251,22 @@
 
 
-
-
-  Playable::tick( time );
+  this->getWeaponManager().tick(time);
+  if( this->bFire)
+  {
+    this->getWeaponManager().fire();
+
+    WorldEntity* target = this->aimingSystem->getNearestTarget();
+    if( target != NULL)
+    {
+      PRINTF(0)("hit hit hit, got: %s\n", target->getClassName());
+    }
+    else
+    {
+      PRINTF(0)("nothing hit\n");
+    }
+  }
+
+
+
 
   if( ( xMouse != 0 || yMouse != 0 ) && (this->getOwner() == SharedNetworkData::getInstance()->getHostID() || !State::isOnline() ) )
@@ -407,5 +428,11 @@
   }
   else if( event.type == KeyMapper::PEV_JUMP)
+  {
     this->bJump = event.bPressed;
+  }
+  else if( event.type == KeyMapper::PEV_FIRE1)
+  {
+    this->bFire = event.bPressed;
+  }
 }
 
@@ -420,5 +447,5 @@
 {
   Playable::destroy( killer );
-  
+
   toList( OM_DEAD );
 }
Index: branches/presentation/src/world_entities/creatures/fps_player.h
===================================================================
--- branches/presentation/src/world_entities/creatures/fps_player.h	(revision 9165)
+++ branches/presentation/src/world_entities/creatures/fps_player.h	(revision 9166)
@@ -48,4 +48,5 @@
     bool                  bJump;              //!< jumping
     bool                  bPosBut;             //!< position button
+    bool                  bFire;              //!< fire button
 
     float                 xMouse;             //!< mouse moved in x-Direction
Index: branches/presentation/src/world_entities/weapons/aiming_system.cc
===================================================================
--- branches/presentation/src/world_entities/weapons/aiming_system.cc	(revision 9165)
+++ branches/presentation/src/world_entities/weapons/aiming_system.cc	(revision 9166)
@@ -21,4 +21,6 @@
 
 #include "state.h"
+
+#include "aabb.h"
 
 #include <vector>
@@ -55,4 +57,6 @@
   this->setClassID(CL_CROSSHAIR, "AimingSystem");
   this->setName("AimingSystem");
+
+  this->loadModel("models/guns/targeting_system_body.obj");
 }
 
@@ -78,5 +82,5 @@
  * @returns the nerest target
  */
-inline WorldEntity* AimingSystem::getNearestTarget()
+WorldEntity* AimingSystem::getNearestTarget()
 {
   if( this->selectionList.size() == 0)
@@ -132,3 +136,5 @@
 void AimingSystem::draw() const
 {
+//   if( this->getModelAABB() != NULL)
+//     this->getModelAABB()->drawBV(0, 1);
 }
Index: branches/presentation/src/world_entities/weapons/aiming_system.h
===================================================================
--- branches/presentation/src/world_entities/weapons/aiming_system.h	(revision 9165)
+++ branches/presentation/src/world_entities/weapons/aiming_system.h	(revision 9166)
@@ -32,5 +32,5 @@
   inline PNode* getTarget(PNode* target) { return this->getParent(); };
 
-  inline WorldEntity* getNearestTarget();
+  WorldEntity* getNearestTarget();
 
 
Index: branches/presentation/src/world_entities/world_entity.h
===================================================================
--- branches/presentation/src/world_entities/world_entity.h	(revision 9165)
+++ branches/presentation/src/world_entities/world_entity.h	(revision 9166)
@@ -75,5 +75,5 @@
   inline BVTree* getOBBTree() const { return this->obbTree; };
   void drawBVTree(int depth, int drawMode) const;
-  inline AABB* getModelAABB() { return (this->aabbNode)?this->aabbNode->getAABB():NULL;}
+  inline AABB* getModelAABB() const { return (this->aabbNode)?this->aabbNode->getAABB():NULL;}
 
   /* --- Collision Reaction Block --- */
@@ -198,8 +198,8 @@
   int                     list_write;                      //!< entity's list
   int                     list_handle;                     //!< handle for list changes
-  
+
   float                   health_write;
   int                     health_handle;
-  
+
   float                   healthMax_write;
   int                     healthMax_handle;
