Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void ServerGameLogic::GetSpawnPositionAfterDeath(const r3dPoint3D& GamePos, r3dPoint3D* pos, float* dir)
- {
- if(gCPMgr.numControlPoints_ == 0)
- {
- r3dOutToLog("!!!!!!!!!!!! THERE IS NO CONTROL POINT !!!!!!!\n");
- *pos = r3dPoint3D(0, 0, 0);
- *dir = 0;
- return;
- }
- // spawn to closest point
- float minDist = 99999999.0f;
- for(int i=0; i<gCPMgr.numControlPoints_; i++)
- {
- const BasePlayerSpawnPoint* spawn = gCPMgr.controlPoints_[i];
- float dist = (GamePos - spawn->GetPosition()).LengthSq();
- if (dist < minDist) //found closest spawn point
- {
- int spawnPoint = (int)u_GetRandom(0, (float)spawn->m_NumSpawnPoints);
- *pos = spawn->m_SpawnPoints[spawnPoint].pos;
- *dir = spawn->m_SpawnPoints[spawnPoint].dir;
- minDist = dist;
- }
- }
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement