Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.76 KB | None | 0 0
  1. void ServerGameLogic::GetSpawnPositionAfterDeath(const r3dPoint3D& GamePos, r3dPoint3D* pos, float* dir)
  2. {
  3. if(gCPMgr.numControlPoints_ == 0)
  4. {
  5. r3dOutToLog("!!!!!!!!!!!! THERE IS NO CONTROL POINT !!!!!!!\n");
  6. *pos = r3dPoint3D(0, 0, 0);
  7. *dir = 0;
  8. return;
  9. }
  10. // spawn to closest point
  11. float minDist = 99999999.0f;
  12. for(int i=0; i<gCPMgr.numControlPoints_; i++)
  13. {
  14. const BasePlayerSpawnPoint* spawn = gCPMgr.controlPoints_[i];
  15. float dist = (GamePos - spawn->GetPosition()).LengthSq();
  16. if (dist < minDist) //found closest spawn point
  17. {
  18. int spawnPoint = (int)u_GetRandom(0, (float)spawn->m_NumSpawnPoints);
  19. *pos = spawn->m_SpawnPoints[spawnPoint].pos;
  20. *dir = spawn->m_SpawnPoints[spawnPoint].dir;
  21. minDist = dist;
  22. }
  23. }
  24. return;
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement