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

Method ProcessEvents

src/game/client/gameclient.cpp:1379–1468  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1377}
1378
1379void CGameClient::ProcessEvents()
1380{
1381 if(m_SuppressEvents)
1382 return;
1383
1384 int SnapType = IClient::SNAP_CURRENT;
1385 int Num = Client()->SnapNumItems(SnapType);
1386 for(int Index = 0; Index < Num; Index++)
1387 {
1388 const IClient::CSnapItem Item = Client()->SnapGetItem(SnapType, Index);
1389
1390 // TODO: We don't have enough info about us, others, to know a correct alpha or volume value.
1391 const float Alpha = 1.0f;
1392 const float Volume = 1.0f;
1393
1394 if(Item.m_Type == NETEVENTTYPE_DAMAGEIND)
1395 {
1396 const CNetEvent_DamageInd *pEvent = (const CNetEvent_DamageInd *)Item.m_pData;
1397
1398 vec2 DamageIndPos = vec2(pEvent->m_X, pEvent->m_Y);
1399 if(!m_PredictedWorld.CheckPredictedEventHandled(CGameWorld::CPredictedEvent(Item.m_Type, DamageIndPos, -1, Client()->GameTick(g_Config.m_ClDummy), pEvent->m_Angle)))
1400 {
1401 m_Effects.DamageIndicator(vec2(pEvent->m_X, pEvent->m_Y), direction(pEvent->m_Angle / 256.0f), Alpha);
1402 }
1403 }
1404 else if(Item.m_Type == NETEVENTTYPE_EXPLOSION)
1405 {
1406 const CNetEvent_Explosion *pEvent = (const CNetEvent_Explosion *)Item.m_pData;
1407
1408 vec2 ExplosionPos = vec2(pEvent->m_X, pEvent->m_Y);
1409 if(!m_PredictedWorld.CheckPredictedEventHandled(CGameWorld::CPredictedEvent(Item.m_Type, ExplosionPos, -1, Client()->GameTick(g_Config.m_ClDummy))))
1410 {
1411 m_Effects.Explosion(ExplosionPos, Alpha);
1412 }
1413 }
1414 else if(Item.m_Type == NETEVENTTYPE_HAMMERHIT)
1415 {
1416 const CNetEvent_HammerHit *pEvent = (const CNetEvent_HammerHit *)Item.m_pData;
1417
1418 vec2 HammerHitPos = vec2(pEvent->m_X, pEvent->m_Y);
1419 if(!m_PredictedWorld.CheckPredictedEventHandled(CGameWorld::CPredictedEvent(Item.m_Type, HammerHitPos, -1, Client()->GameTick(g_Config.m_ClDummy))))
1420 {
1421 m_Effects.HammerHit(HammerHitPos, Alpha, Volume);
1422 }
1423 }
1424 else if(Item.m_Type == NETEVENTTYPE_BIRTHDAY)
1425 {
1426 const CNetEvent_Birthday *pEvent = (const CNetEvent_Birthday *)Item.m_pData;
1427 m_Effects.Confetti(vec2(pEvent->m_X, pEvent->m_Y), Alpha);
1428 }
1429 else if(Item.m_Type == NETEVENTTYPE_FINISH)
1430 {
1431 const CNetEvent_Finish *pEvent = (const CNetEvent_Finish *)Item.m_pData;
1432 m_Effects.Confetti(vec2(pEvent->m_X, pEvent->m_Y), Alpha);
1433 }
1434 else if(Item.m_Type == NETEVENTTYPE_SPAWN)
1435 {
1436 const CNetEvent_Spawn *pEvent = (const CNetEvent_Spawn *)Item.m_pData;

Callers

nothing calls this directly

Calls 15

CPredictedEventClass · 0.85
directionFunction · 0.85
DamageIndicatorMethod · 0.80
ExplosionMethod · 0.80
HammerHitMethod · 0.80
ConfettiMethod · 0.80
PlayerSpawnMethod · 0.80
PlayerDeathMethod · 0.80
ClientFunction · 0.50
ConfigFunction · 0.50
SnapNumItemsMethod · 0.45

Tested by

no test coverage detected