Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 8120 in orxonox.OLD for branches/network/src/world_entities


Ignore:
Timestamp:
Jun 2, 2006, 4:19:10 PM (18 years ago)
Author:
rennerc
Message:

spectator movement works now
old Playables will be deleted
teamchoice random works now

Location:
branches/network/src/world_entities
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/network/src/world_entities/playable.cc

    r8096 r8120  
    7979  // this->setPlayer(NULL);
    8080  // IN ITS DESTRUCTOR.
    81   detachCamera();
     81 
    8282  assert(this->currentPlayer == NULL);
    8383}
     
    283283void  Playable::detachCamera()
    284284{
    285   PRINTF(0)("detach camera\n");
    286   if ( (PNode*)(State::getCameraTarget()) == this )
    287   {
    288     PRINTF(0)("lookAt nullParent\n");
    289    
    290     State::getCameraNode()->setParentSoft(PNode::getNullParent());
    291     State::getCameraTargetNode()->setParentSoft(PNode::getNullParent());
    292    
    293     State::getCamera()->lookAt( PNode::getNullParent() );
    294   }
    295285}
    296286
  • branches/network/src/world_entities/spectator.cc

    r8068 r8120  
    7171{
    7272  this->mouseDir =  rot;
    73   this->rotY = Quaternion( rot.getHeading(), Vector( 0, 1, 0) );
    74   this->rotAxis = Quaternion( rot.getAttitude(), Vector( 0, 0, 1 ) );
     73  this->angleY = rot.getHeading();
     74  this->angleX = rot.getAttitude();
    7575}
    7676
     
    104104    yMouse *= time / 10;
    105105   
    106     this->rotY *= Quaternion(-M_PI/4.0*this->xMouse, Vector(0,1,0));
    107     this->rotAxis *= Quaternion(-M_PI/4.0*this->yMouse, Vector(0,0,1) );
    108 
    109     this->mouseDir = rotY * rotAxis;
    110     //this->mouseDir *= Quaternion(-M_PI/4.0*this->yMouse, Vector(0,0,1));
     106    angleX -= xMouse;
     107    angleY -= yMouse;
     108   
     109    if ( angleY > 2.05 )
     110      angleY = 2.05;
     111   
     112    if ( angleY < -1.15 )
     113      angleY = -1.15;
     114   
     115    this->mouseDir = Quaternion( angleX, Vector( 0, 1, 0 ) ) * Quaternion( angleY, Vector( 0, 0, 1 ) );
     116   
    111117    xMouse = yMouse = 0;
    112118  }
    113119 
    114120  this->setAbsDir( this->mouseDir );
     121 
     122  Vector velocity;
     123 
     124  if ( this->bForward )
     125  {
     126    velocity += this->getAbsDirX();
     127  }
     128 
     129  if ( this->bBackward )
     130  {
     131    velocity -= this->getAbsDirX();
     132  }
     133 
     134  if ( this->bRight )
     135  {
     136    velocity += this->getAbsDirZ();
     137  }
     138 
     139  if ( this->bLeft )
     140  {
     141    velocity -= this->getAbsDirZ();
     142  }
     143 
     144  velocity *= 100;
     145 
     146  this->shiftCoor( velocity*time );
    115147}
    116148
  • branches/network/src/world_entities/spectator.h

    r8068 r8120  
    3535    Quaternion            mouseDir;           //!< the direction where the player wants to fly
    3636
    37     Quaternion            rotY;
    38     Quaternion            rotAxis;
     37    //Quaternion            rotY;
     38    //Quaternion            rotAxis;
     39    float                 angleX;
     40    float                 angleY;
    3941};
    4042
Note: See TracChangeset for help on using the changeset viewer.