Index: code/branches/main_reto_vs05/src/weapon/barrel_gun.cc
===================================================================
--- code/branches/main_reto_vs05/src/weapon/barrel_gun.cc	(revision 232)
+++ code/branches/main_reto_vs05/src/weapon/barrel_gun.cc	(revision 288)
@@ -95,5 +95,5 @@
   void BarrelGun::primaryFiring(unsigned int time)
   {
-    if (time > 1000/primaryFiringRate_)
+    if (time > (unsigned int)1000/primaryFiringRate_)
     {
       currentState_ = IDLE;
@@ -133,5 +133,5 @@
   void BarrelGun::secondaryFiring(unsigned int time)
   {
-    if (time > 1000/secondaryFiringRate_)
+    if (time > (unsigned int)1000/secondaryFiringRate_)
       currentState_ = IDLE;
   }
Index: code/branches/main_reto_vs05/src/weapon/base_weapon.cc
===================================================================
--- code/branches/main_reto_vs05/src/weapon/base_weapon.cc	(revision 288)
+++ code/branches/main_reto_vs05/src/weapon/base_weapon.cc	(revision 288)
@@ -0,0 +1,180 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *
+ *
+ *   License notice:
+ *
+ *   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 3 of the License, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#include "OgreMath.h"
+#include "OgreVector3.h"
+#include "OgreStringConverter.h"
+#include "OgreSceneNode.h"
+#include "OgreEntity.h"
+#include "OgreSceneManager.h"
+
+#include "bullet.h"
+#include "bullet_manager.h"
+#include "inertial_node.h"
+#include "ammunition_dump.h"
+#include "run_manager.h"
+
+#include "base_weapon.h"
+
+
+namespace orxonox {
+namespace weapon {
+  using namespace Ogre;
+
+  BaseWeapon::BaseWeapon(InertialNode *node, AmmunitionDump *ammoDump)
+    : sceneMgr_(RunManager::getSingletonPtr()->getSceneManagerPtr()), node_(node),
+      bulletCounter_(0), primaryFireRequest_(false), currentState_(IDLE),
+      secondaryFireRequest_(false),
+      bulletManager_(RunManager::getSingletonPtr()->getBulletManagerPtr()),
+      secondaryFired_(false),
+      timeSinceNextActionAdded_(0), actionAdded_(false), nextAction_(NOTHING),
+      ammoDump_(ammoDump)
+  {
+    leftAmmo_ = 0;
+  }
+
+
+  BaseWeapon::~BaseWeapon()
+  {
+  }
+
+
+  bool BaseWeapon::addAction(const Action act)
+  {
+    if (nextAction_ == NOTHING)
+    {
+      nextAction_ = act;
+      actionAdded_ = true;
+      return true;
+    }
+    else
+      return false;
+  }
+
+
+  void BaseWeapon::primaryFireRequest()
+  {
+    primaryFireRequest_ = true;
+  }
+
+
+  void BaseWeapon::secondaryFireRequest()
+  {
+    secondaryFireRequest_ = true;
+  }
+
+
+  bool BaseWeapon::tick(unsigned long time, Real deltaTime)
+  {
+    // process action adder
+    if (actionAdded_)
+    {
+      timeSinceNextActionAdded_ = time;
+      actionAdded_ = false;
+    }
+
+    if (currentState_ != IDLE)
+    {
+      switch (currentState_)
+      {
+      case PRIMARY_FIRE:
+        primaryFiring((unsigned int)(time - actionStartTime_));
+        break;
+
+      case SECONDARY_FIRE:
+        secondaryFiring((unsigned int)(time - actionStartTime_));
+        break;
+
+      case RELOADING:
+        break;
+
+      case CHANGING_AMMO:
+        break;
+      }
+    }
+
+    if (currentState_ == IDLE)
+    {
+      // first, process next action
+      if (nextAction_ != NOTHING)
+      {
+        actionStartTime_ = time;
+        switch (nextAction_)
+        {
+        case RELOAD:
+          leftAmmo_ += ammoDump_->getAmmunition("Barrel", magazineSize_ - leftAmmo_);
+          break;
+
+        case CHANGE_AMMO:
+          break;
+
+        case SPECIAL:
+          break;
+
+        default:
+          break;
+        }
+
+        // pay attention when multithreaded!
+        nextAction_ = NOTHING;
+      }
+      else
+      {
+        // secondly, execute firing
+        if (primaryFireRequest_ && !(secondaryFired_ && secondaryFireRequest_))
+        {
+          actionStartTime_ = time;
+          currentState_ = PRIMARY_FIRE;
+          secondaryFired_ = false;
+          primaryFire();
+        }
+        else if (secondaryFireRequest_)
+        {
+          actionStartTime_ = time;
+          currentState_ = SECONDARY_FIRE;
+          secondaryFired_ = true;
+          secondaryFire();
+        }
+      }
+    }
+
+    primaryFireRequest_ = false;
+    secondaryFireRequest_ = false;
+
+    if (time - timeSinceNextActionAdded_ > nextActionValidityPeriod_)
+      nextAction_ = NOTHING;
+
+    return true;
+  }
+
+
+  int BaseWeapon::getAmmoState()
+  {
+    return leftAmmo_;
+  }
+}
+}
Index: code/branches/main_reto_vs05/src/weapon/base_weapon.cpp
===================================================================
--- code/branches/main_reto_vs05/src/weapon/base_weapon.cpp	(revision 232)
+++ 	(revision )
@@ -1,177 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *
- *
- *   License notice:
- *
- *   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 3 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-#include "OgreMath.h"
-#include "OgreVector3.h"
-#include "OgreStringConverter.h"
-#include "OgreSceneNode.h"
-#include "OgreEntity.h"
-#include "OgreSceneManager.h"
-
-#include "bullet.h"
-#include "bullet_manager.h"
-#include "inertial_node.h"
-#include "ammunition_dump.h"
-#include "run_manager.h"
-
-#include "base_weapon.h"
-
-
-namespace orxonox {
-namespace weapon {
-  using namespace Ogre;
-
-  BaseWeapon::BaseWeapon(InertialNode *node, AmmunitionDump *ammoDump)
-    : sceneMgr_(RunManager::getSingletonPtr()->getSceneManagerPtr()), node_(node),
-      bulletCounter_(0), primaryFireRequest_(false), currentState_(IDLE),
-      secondaryFireRequest_(false),
-      bulletManager_(RunManager::getSingletonPtr()->getBulletManagerPtr()),
-      secondaryFired_(false),
-      timeSinceNextActionAdded_(0), actionAdded_(false), nextAction_(NOTHING),
-      ammoDump_(ammoDump)
-  {
-    leftAmmo_ = 0;
-  }
-
-
-  BaseWeapon::~BaseWeapon()
-  {
-  }
-
-
-  bool BaseWeapon::addAction(const Action act)
-  {
-    if (nextAction_ == NOTHING)
-    {
-      nextAction_ = act;
-      actionAdded_ = true;
-      return true;
-    }
-    else
-      return false;
-  }
-
-
-  void BaseWeapon::primaryFireRequest()
-  {
-    primaryFireRequest_ = true;
-  }
-
-
-  void BaseWeapon::secondaryFireRequest()
-  {
-    secondaryFireRequest_ = true;
-  }
-
-
-  bool BaseWeapon::tick(unsigned long time, Real deltaTime)
-  {
-    // process action adder
-    if (actionAdded_)
-    {
-      timeSinceNextActionAdded_ = time;
-      actionAdded_ = false;
-    }
-
-    switch (currentState_)
-    {
-    case IDLE:
-      // first, process next action
-      if (nextAction_ != NOTHING)
-      {
-        actionStartTime_ = time;
-        switch (nextAction_)
-        {
-        case RELOAD:
-          leftAmmo_ += ammoDump_->getAmmunition("Barrel", magazineSize_ - leftAmmo_);
-          break;
-
-        case CHANGE_AMMO:
-          break;
-
-        case SPECIAL:
-          break;
-
-        default:
-          break;
-        }
-
-        // pay attention when multithreaded!
-        nextAction_ = NOTHING;
-      }
-      else
-      {
-        // secondly, execute firing
-        if (primaryFireRequest_ && !(secondaryFired_ && secondaryFireRequest_))
-        {
-          actionStartTime_ = time;
-          currentState_ = PRIMARY_FIRE;
-          secondaryFired_ = false;
-          primaryFire();
-        }
-        else if (secondaryFireRequest_)
-        {
-          actionStartTime_ = time;
-          currentState_ = SECONDARY_FIRE;
-          secondaryFired_ = true;
-          secondaryFire();
-        }
-      }
-
-      break;
-
-    case PRIMARY_FIRE:
-      primaryFiring((unsigned int)(time - actionStartTime_));
-      break;
-
-    case SECONDARY_FIRE:
-      secondaryFiring((unsigned int)(time - actionStartTime_));
-      break;
-
-    case RELOADING:
-      break;
-
-    case CHANGING_AMMO:
-      break;
-    }
-
-    primaryFireRequest_ = false;
-    secondaryFireRequest_ = false;
-
-    if (time - timeSinceNextActionAdded_ > nextActionValidityPeriod_)
-      nextAction_ = NOTHING;
-
-    return true;
-  }
-
-
-  int BaseWeapon::getAmmoState()
-  {
-    return leftAmmo_;
-  }
-}
-}
Index: code/branches/main_reto_vs05/src/weapon/weapon.h
===================================================================
--- code/branches/main_reto_vs05/src/weapon/weapon.h	(revision 232)
+++ 	(revision )
@@ -1,64 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *
- *
- *   License notice:
- *
- *   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 3 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-#if 0
-
-#ifndef WEAPON_H
-#define WEAPON_H
-
-#include "OgrePrerequisites.h"
-#include "OgreString.h"
-
-#include "orxonox_prerequisites.h"
-
-namespace orxonox {
-namespace weapon {
-
-  class Weapon
-  {
-  public:
-    Weapon(const Ogre::String &name, int firePower, int firingRate,
-      Ogre::Real bulletSpeed, int magazineSize)
-          : name_(name), firePower_(firePower), firingRate_(firingRate),
-          bulletSpeed_(bulletSpeed), magazineSize_(magazineSize) { }
-
-    virtual ~Weapon() { }
-
-  public:
-    Ogre::String name_;
-    int firePower_;
-    int firingRate_;
-    Ogre::Real bulletSpeed_;
-    int magazineSize_;
-  };
-
-}
-}
-
-#endif /* WEAPON_H */
-
-#endif
