MCPcopy Create free account
hub / github.com/ddnet/ddnet / FakeSnap

Method FakeSnap

src/game/server/player.cpp:493–533  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

491}
492
493void CPlayer::FakeSnap()
494{
495 m_SentSnaps++;
496 if(GetClientVersion() >= VERSION_DDNET_OLD)
497 return;
498
499 if(Server()->IsSixup(m_ClientId))
500 return;
501
502 int FakeId = VANILLA_MAX_CLIENTS - 1;
503
504 CNetObj_ClientInfo *pClientInfo = Server()->SnapNewItem<CNetObj_ClientInfo>(FakeId);
505
506 if(!pClientInfo)
507 return;
508
509 StrToInts(pClientInfo->m_aName, std::size(pClientInfo->m_aName), " ");
510 StrToInts(pClientInfo->m_aClan, std::size(pClientInfo->m_aClan), "");
511 StrToInts(pClientInfo->m_aSkin, std::size(pClientInfo->m_aSkin), "default");
512
513 if(m_Paused != PAUSE_PAUSED)
514 return;
515
516 CNetObj_PlayerInfo *pPlayerInfo = Server()->SnapNewItem<CNetObj_PlayerInfo>(FakeId);
517 if(!pPlayerInfo)
518 return;
519
520 pPlayerInfo->m_Latency = m_Latency.m_Min;
521 pPlayerInfo->m_Local = 1;
522 pPlayerInfo->m_ClientId = FakeId;
523 pPlayerInfo->m_Score = FinishTime::NOT_FINISHED_TIMESCORE;
524 pPlayerInfo->m_Team = TEAM_SPECTATORS;
525
526 CNetObj_SpectatorInfo *pSpectatorInfo = Server()->SnapNewItem<CNetObj_SpectatorInfo>(FakeId);
527 if(!pSpectatorInfo)
528 return;
529
530 pSpectatorInfo->m_SpectatorId = m_SpectatorId;
531 pSpectatorInfo->m_X = m_ViewPos.x;
532 pSpectatorInfo->m_Y = m_ViewPos.y;
533}
534
535void CPlayer::OnDisconnect()
536{

Callers 1

OnSnapMethod · 0.80

Calls 3

StrToIntsFunction · 0.85
ServerClass · 0.50
IsSixupMethod · 0.45

Tested by

no test coverage detected