| 1377 | } |
| 1378 | |
| 1379 | void 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; |
nothing calls this directly
no test coverage detected