Index: branches/single_player_map/src/lib/collision_detection/cd_engine.cc
===================================================================
--- branches/single_player_map/src/lib/collision_detection/cd_engine.cc	(revision 8889)
+++ branches/single_player_map/src/lib/collision_detection/cd_engine.cc	(revision 8890)
@@ -84,5 +84,5 @@
         if( likely((*entity2) != this->terrain))
         {
-          PRINTF(4)("checking object %s against %s\n", (*entity1)->getName(), (*entity2)->getName());
+          PRINTF(5)("checking object %s (%s) against %s (%s)\n", (*entity1)->getClassName(), (*entity1)->getName(), (*entity2)->getClassName(), (*entity2)->getName());
           tree = (*entity1)->getOBBTree();
           if( likely(tree != NULL) && (*entity2)->getOBBTree() != NULL)
Index: branches/single_player_map/src/world_entities/creatures/fps_player.cc
===================================================================
--- branches/single_player_map/src/world_entities/creatures/fps_player.cc	(revision 8889)
+++ branches/single_player_map/src/world_entities/creatures/fps_player.cc	(revision 8890)
@@ -26,4 +26,5 @@
 #include "weapons/turret.h"
 #include "weapons/cannon.h"
+#include "weapons/fps_sniper_rifle.h"
 
 #include "key_mapper.h"
@@ -109,11 +110,11 @@
   dynamic_cast<Element2D*>(this->getWeaponManager().getFixedTarget())->setVisibility( false);
 
-  Weapon* wpRight = new TestGun(0);
+  Weapon* wpRight = new FPSSniperRifle(0);
   wpRight->setName("testGun Right");
-  Weapon* wpLeft = new TestGun(1);
+/*  Weapon* wpLeft = new TestGun(1);*/
 //   Weapon* wpLeft = new Turret();
-  wpLeft->setName("testGun Left");
-
-  this->addWeapon(wpLeft, 1, 0);
+//   wpLeft->setName("testGun Left");
+
+//   this->addWeapon(wpLeft, 1, 0);
   this->addWeapon(wpRight,1 ,1);
   this->getWeaponManager().changeWeaponConfig(1);
Index: branches/single_player_map/src/world_entities/door.cc
===================================================================
--- branches/single_player_map/src/world_entities/door.cc	(revision 8889)
+++ branches/single_player_map/src/world_entities/door.cc	(revision 8890)
@@ -53,8 +53,17 @@
 Door::Door(const TiXmlElement* root)
 {
-  this->init();
+
+  this->setClassID(CL_DOOR, "Door");
+  this->scale = 1.0f;
 
   if( root != NULL)
     this->loadParams(root);
+
+  this->toList(OM_COMMON);
+  this->bLocked = false;
+
+  this->loadMD2Texture("maps/doors.jpg");
+  this->loadModel("models/creatures/doors.md2", this->scale);
+  this->setAnimation(DOOR_CLOSE, MD2_ANIM_ONCE);
 }
 
@@ -64,17 +73,4 @@
 
 
-
-void Door::init()
-{
-  this->setClassID(CL_DOOR, "Door");
-  this->toList(OM_COMMON);
-
-  this->bLocked = false;
-
-
-  this->loadMD2Texture("maps/doors.jpg");
-  this->loadModel("models/creatures/doors.md2", 1.0);
-  this->setAnimation(DOOR_CLOSE, MD2_ANIM_ONCE);
-}
 
 /**
@@ -86,7 +82,10 @@
   WorldEntity::loadParams(root);
 
-  LoadParam(root, "", this, Door, setActionRadius)
+  LoadParam(root, "action-radius", this, Door, setActionRadius)
       .describe("sets the action radius of the door")
       .defaultValues(3.0);
+  LoadParam(root, "scale", this, Door, setScale)
+      .describe("sets the scale of the door")
+      .defaultValues(1.0);
 }
 
@@ -115,5 +114,9 @@
     ((InteractiveModel*)this->getModel(0))->tick(time);
 
-  this->checkOpen();
+  if( this->checkOpen() && !this->bOpen)
+    this->open();
+  else if( bOpen)
+    this->close();
+
 }
 
@@ -128,5 +131,5 @@
 
   this->setAnimation(DOOR_OPEN, MD2_ANIM_ONCE);
-
+  this->bOpen = true;
 }
 
@@ -137,5 +140,6 @@
 void Door::close()
 {
-
+  this->setAnimation(DOOR_CLOSE, MD2_ANIM_ONCE);
+  this->bOpen = false;
 }
 
Index: branches/single_player_map/src/world_entities/door.h
===================================================================
--- branches/single_player_map/src/world_entities/door.h	(revision 8889)
+++ branches/single_player_map/src/world_entities/door.h	(revision 8890)
@@ -26,8 +26,8 @@
     virtual ~Door ();
 
-    void init();
     virtual void loadParams(const TiXmlElement* root);
 
     void setActionRadius(float radius) { this->actionRadius = radius; }
+    void setScale(float scale) { this->scale = scale; }
 
     void open();
@@ -51,6 +51,8 @@
     bool           bLocked;           //!< true if this door is locked
     float          actionRadius;      //!< action radius
+    float          scale;             //!< the scale of the model
 
     static sAnim   animationList[2];  //!< list of the animations
+
 
 };
Index: branches/single_player_map/src/world_entities/npcs/generic_npc.h
===================================================================
--- branches/single_player_map/src/world_entities/npcs/generic_npc.h	(revision 8889)
+++ branches/single_player_map/src/world_entities/npcs/generic_npc.h	(revision 8890)
@@ -84,4 +84,5 @@
   void destroy();
 
+
  private:
    OrxSound::SoundSource                   soundSource;
Index: branches/single_player_map/src/world_entities/weapons/fps_sniper_rifle.cc
===================================================================
--- branches/single_player_map/src/world_entities/weapons/fps_sniper_rifle.cc	(revision 8889)
+++ branches/single_player_map/src/world_entities/weapons/fps_sniper_rifle.cc	(revision 8890)
@@ -76,5 +76,5 @@
 //  this->model = (Model*)ResourceManager::getInstance()->load("models/guns/test_gun.obj", OBJ, RP_CAMPAIGN);
 
-  this->loadModel("models/guns/test_gun.obj");
+  this->loadModel("models/guns/fps_sniper_rifle.obj");
 
   this->setStateDuration(WS_SHOOTING, .1);
Index: branches/single_player_map/src/world_entities/weapons/fps_sniper_rifle.h
===================================================================
--- branches/single_player_map/src/world_entities/weapons/fps_sniper_rifle.h	(revision 8889)
+++ branches/single_player_map/src/world_entities/weapons/fps_sniper_rifle.h	(revision 8890)
@@ -21,6 +21,6 @@
 
 
-#ifndef _TEST_GUN_H
-#define _TEST_GUN_H
+#ifndef _FPS_SNIPER_RIFLE_H
+#define _FPS_SNIPER_RIFLE_H
 
 #include "weapon.h"
@@ -55,3 +55,3 @@
 
   };
-#endif /* _TEST_GUN_H */
+#endif /* _FPS_SNIPER_RIFLE_H */
