- Timestamp:
- Jun 2, 2006, 4:19:10 PM (18 years ago)
- Location:
- branches/network/src
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/network/src/lib/network/network_game_manager.cc
r8097 r8120 161 161 { 162 162 if ( (*it)->isA(CL_PLAYABLE) ) 163 { 164 getInstance()->playablesToDelete.push_back( dynamic_cast<Playable*>(*it) ); 163 165 return true; 166 } 164 167 165 168 delete dynamic_cast<Synchronizeable*>(*it); … … 238 241 } 239 242 240 241 242 243 /** 244 * this function will be called periodically by networkManager 245 * @param ds time elapsed since last call of tick 246 */ 247 void NetworkGameManager::tick( float ds ) 248 { 249 //delete playables if they are not assigned to local player anymore 250 for ( std::list<Playable*>::iterator it = playablesToDelete.begin(); it != playablesToDelete.end(); ) 251 { 252 if ( State::getPlayer()->getPlayable() != *it ) 253 { 254 PRINTF(0)("Delete unused playable: %s owner: %d\n", (*it)->getClassName(), (*it)->getOwner() ); 255 std::list<Playable*>::iterator delit = it; 256 it++; 257 delete *delit; 258 playablesToDelete.erase( delit ); 259 continue; 260 } 261 it++; 262 } 263 } 264 265 266 267 -
branches/network/src/lib/network/network_game_manager.h
r8096 r8120 12 12 /* include base_object.h since all classes are derived from this one */ 13 13 #include "synchronizeable.h" 14 #include "playable.h" 14 15 #include "message_manager.h" 15 16 … … 61 62 inline void setGameState( int gameState ){ this->gameState = gameState; } 62 63 inline int getGameState(){ return this->gameState; } 64 65 void tick( float ds ); 63 66 64 67 private: … … 73 76 74 77 int gameState; 78 79 std::list<Playable*> playablesToDelete; 75 80 }; 76 81 -
branches/network/src/lib/network/network_manager.cc
r7954 r8120 30 30 #include "preferences.h" 31 31 #include "network_log.h" 32 #include "network_game_manager.h" 32 33 33 34 … … 149 150 static_cast<NetworkStream*>(*stream)->processData(); 150 151 } 152 153 NetworkGameManager::getInstance()->tick( this->elapsedTime ); 151 154 } 152 155 -
branches/network/src/util/multiplayer_team_deathmatch.cc
r8096 r8120 431 431 if ( stats.getPreferedTeamId() == TEAM_RANDOM ) 432 432 { 433 stats.setPreferedTeamId( get TeamForNewUser() );433 stats.setPreferedTeamId( getRandomTeam() ); 434 434 teamChange( stats.getUserId() ); 435 435 } -
branches/network/src/world_entities/playable.cc
r8096 r8120 79 79 // this->setPlayer(NULL); 80 80 // IN ITS DESTRUCTOR. 81 detachCamera();81 82 82 assert(this->currentPlayer == NULL); 83 83 } … … 283 283 void Playable::detachCamera() 284 284 { 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 }295 285 } 296 286 -
branches/network/src/world_entities/spectator.cc
r8068 r8120 71 71 { 72 72 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(); 75 75 } 76 76 … … 104 104 yMouse *= time / 10; 105 105 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 111 117 xMouse = yMouse = 0; 112 118 } 113 119 114 120 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 ); 115 147 } 116 148 -
branches/network/src/world_entities/spectator.h
r8068 r8120 35 35 Quaternion mouseDir; //!< the direction where the player wants to fly 36 36 37 Quaternion rotY; 38 Quaternion rotAxis; 37 //Quaternion rotY; 38 //Quaternion rotAxis; 39 float angleX; 40 float angleY; 39 41 }; 40 42
Note: See TracChangeset
for help on using the changeset viewer.