Index: branches/camera/src/story_entities/game_world.cc
===================================================================
--- branches/camera/src/story_entities/game_world.cc	(revision 10236)
+++ branches/camera/src/story_entities/game_world.cc	(revision 10238)
@@ -548,6 +548,9 @@
 void GameWorld::applyCameraSettings()
 {
-  this->dataTank->localCamera->apply ();
-  this->dataTank->localCamera->project ();
+
+  State::getCamera()->apply ();
+  State::getCamera()->project ();
+  //this->dataTank->localCamera->apply ();
+  //this->dataTank->localCamera->project ();
   GraphicsEngine::storeMatrices();
 }
Index: branches/camera/src/world_entities/blackscreen.cc
===================================================================
--- branches/camera/src/world_entities/blackscreen.cc	(revision 10236)
+++ branches/camera/src/world_entities/blackscreen.cc	(revision 10238)
@@ -50,5 +50,5 @@
   if( root != NULL)
     this->loadParams(root);
-  i=0;
+  i=0.5;
   state=0;
 }
@@ -115,5 +115,5 @@
 
 glColor4f(0, 0, 0, i);
-this->material->select();
+/*this->material->select();
   glBegin(GL_QUADS);
   glVertex3f(State::getCameraNode()->getAbsCoorX()+3,State::getCameraNode()->getAbsCoorY() -100.0f,
@@ -125,4 +125,12 @@
   glVertex3f(State::getCameraNode()->getAbsCoorX()+3, State::getCameraNode()->getAbsCoorY()+100.0f,
              State::getCameraNode()->getAbsCoorZ()-100.0f);
+*/
+
+ glBegin(GL_QUADS);
+glVertex3f(0,-100.0f,-100.0f);
+glVertex3f(0,-100.0f,+100.0f);
+glVertex3f(0,+100.0f,+100.0f);
+glVertex3f(0,+100.0f,-100.0f);
+
 
 
Index: branches/camera/src/world_entities/camera.cc
===================================================================
--- branches/camera/src/world_entities/camera.cc	(revision 10236)
+++ branches/camera/src/world_entities/camera.cc	(revision 10238)
@@ -19,5 +19,4 @@
 #include "glincl.h"
 #include "vector.h"
-#include "state.h"
 #include "shell_command.h"
 #include "targets.h"
@@ -37,5 +36,5 @@
   this->setName("camera");
   this->target = new CameraTarget();
-
+  this->target->masta=this;
   this->subscribeEvent(ES_GAME, KeyMapper::PEV_VIEW0);
   this->subscribeEvent(ES_GAME, KeyMapper::PEV_VIEW1);
@@ -318,5 +317,4 @@
   rotateBy.z=0;
   target=createStick();
-
 }
 
@@ -324,6 +322,6 @@
 void CameraTarget::detach()
 {
-  State::getCameraNode()->setParentSoft(target);
-  State::getCameraTargetNode()->setParentSoft(target);
+  masta->setParentSoft(target);
+  masta->getTargetNode()->setParentSoft(target);
 }
 
@@ -336,17 +334,17 @@
 void CameraTarget::atach(PNode* object)
 {
-  State::getCameraNode()->setParentSoft(object);
-  State::getCameraTargetNode()->setParentSoft(object);
-}
-
-
-
-
-Vector CameraTarget::iterate(float dt, const Vector* target, const Vector* cam)
+  masta->setParentSoft(object);
+  masta->getTargetNode()->setParentSoft(object);
+}
+
+
+
+
+Vector CameraTarget::iterate(float dt, const Vector* Target, const Vector* cam)
 {
 
 
   Vector tmpVec;
-  tmpVec= (*target - *cam);
+  tmpVec= (*Target - *cam);
   tmpVec.normalize();
   return  tmpVec;
@@ -360,5 +358,5 @@
  {
 
-   Vector tmpVec= iterate(dt,  &translateTo,  &(State::getCameraNode()->getAbsCoor()));
+   Vector tmpVec= iterate(dt,  &translateTo,  &(masta->getAbsCoor()));
     glLoadIdentity();
     target->shiftCoor(speed*tmpVec.x, speed*tmpVec.y, speed*tmpVec.z);
@@ -399,8 +397,5 @@
 void CameraTarget::test()
 {
-glLoadIdentity();
-
-atach(target);
-
+  atach(target);
 }
 
Index: branches/camera/src/world_entities/camera.h
===================================================================
--- branches/camera/src/world_entities/camera.h	(revision 10236)
+++ branches/camera/src/world_entities/camera.h	(revision 10238)
@@ -96,8 +96,11 @@
   PNode* target;
   PNode* freeTarget;
+  Camera* masta;
+  Vector translateTo;
+  Vector rotateBy;
+
 
 public:
-  Vector translateTo;
-  Vector rotateBy;
+
   void detach();
   void atach(PNode* object);
Index: branches/camera/src/world_entities/cameraman.cc
===================================================================
--- branches/camera/src/world_entities/cameraman.cc	(revision 10236)
+++ branches/camera/src/world_entities/cameraman.cc	(revision 10238)
@@ -16,7 +16,7 @@
 #include "shell_command.h"
 #include "cameraman.h"
-
+#include "game_world_data.h"
 #include "state.h"
-
+#include "iostream.h"
 
 
@@ -24,8 +24,10 @@
 cameraman::cameraman()
 {
+  cout << "TTTT*" << cameras.size();
   currentCam=State::getCamera();
   this->cameras.push_back(currentCam);
   currentCam->target->detach();
-
+  cout << "TTTT*" << cameras.size();
+  State::setCamera(currentCam, currentCam->getTarget());
 }
 
@@ -33,7 +35,8 @@
 void cameraman::createCam()
 {
-  Camera* newCamera=new Camera();
-  this->cameras.push_back(newCamera);
-  newCamera->target->detach();
+ // Camera* newCamera=new Camera();
+  this->cameras.push_back(new Camera());
+  //cameras[cameras.size()-1]->target->detach();
+
 }
 
@@ -42,6 +45,9 @@
   if (cameraNo<cameras.size())
   {
+  cout << "TTTTT" << currentCam << "TTTT \n";
   currentCam=cameras[cameraNo];
+  cout << "TTTT" << currentCam << "*" << cameras.size() << "*TTTTT\n" ;
   State::setCamera(currentCam, currentCam->getTarget());
+  cout << cameras[0];
   }
 
Index: branches/camera/src/world_entities/test_entity.cc
===================================================================
--- branches/camera/src/world_entities/test_entity.cc	(revision 10236)
+++ branches/camera/src/world_entities/test_entity.cc	(revision 10238)
@@ -26,6 +26,6 @@
 
 #include "state.h"
-
-
+#include "shell_command.h"
+#include "game_world_data.h"
 
 #include "class_id_DEPRECATED.h"
@@ -43,4 +43,10 @@
 }
 
+
+SHELL_COMMAND(test, TestEntity,test);
+SHELL_COMMAND(t2, TestEntity,t2);
+SHELL_COMMAND(t3, TestEntity,t3);
+SHELL_COMMAND(t4, TestEntity, t4);
+SHELL_COMMAND(t5, TestEntity,t5);
 
 /**
@@ -70,13 +76,35 @@
   this->registerObject(this, TestEntity::_objectList);
   this->toList(OM_GROUP_00);
-  CM= new cameraman();
-  test();
+
 }
 
 void TestEntity::test()
 {
-  CM->moveCurrCam(-200, 0, 0);
+  CM= new cameraman();
   CM->createCam();
-  CM->moveCam(0, -200, 0, 1);
+  //CM->moveCurrCam(-300, 0, 0);
+  CM->moveCam(-300, 0, 0, 0);
+}
+
+void TestEntity::t2()
+{
+  CM->moveCurrCam(+600, 0, 0);
+
+}
+
+void TestEntity::t3()
+{
+
+  CM->setCam(1);
+}
+
+void TestEntity::t4()
+{
+  CM->moveCurrCam(-500,0,0);
+}
+
+void TestEntity::t5()
+{
+  CM->setCam(0);
 }
 
Index: branches/camera/src/world_entities/test_entity.h
===================================================================
--- branches/camera/src/world_entities/test_entity.h	(revision 10236)
+++ branches/camera/src/world_entities/test_entity.h	(revision 10238)
@@ -24,4 +24,8 @@
     virtual void loadParams(const TiXmlElement* root);
     void test();
+    void t2();
+    void t3();
+    void t4();
+    void t5();
     void changeState (bool);
     virtual void tick (float time);
