| 3747 | } |
| 3748 | |
| 3749 | void CGameClient::HandlePredictedEvents(const int Tick) |
| 3750 | { |
| 3751 | const float Alpha = 1.0f; |
| 3752 | const float Volume = 1.0f; |
| 3753 | |
| 3754 | auto EventsIterator = m_PredictedWorld.m_PredictedEvents.begin(); |
| 3755 | while(EventsIterator != m_PredictedWorld.m_PredictedEvents.end()) |
| 3756 | { |
| 3757 | if(!EventsIterator->m_Handled && EventsIterator->m_Tick <= Tick) |
| 3758 | { |
| 3759 | if(EventsIterator->m_EventId == NETEVENTTYPE_SOUNDWORLD) |
| 3760 | { |
| 3761 | if(m_GameInfo.m_RaceSounds && ((EventsIterator->m_ExtraInfo == SOUND_GUN_FIRE && !g_Config.m_SndGun) || (EventsIterator->m_ExtraInfo == SOUND_PLAYER_PAIN_LONG && !g_Config.m_SndLongPain))) |
| 3762 | { |
| 3763 | EventsIterator = m_PredictedWorld.m_PredictedEvents.erase(EventsIterator); |
| 3764 | continue; |
| 3765 | } |
| 3766 | m_Sounds.PlayAt(CSounds::CHN_WORLD, EventsIterator->m_ExtraInfo, 1.0f, EventsIterator->m_Pos); |
| 3767 | } |
| 3768 | else if(EventsIterator->m_EventId == NETEVENTTYPE_EXPLOSION) |
| 3769 | { |
| 3770 | m_Effects.Explosion(EventsIterator->m_Pos, Alpha); |
| 3771 | } |
| 3772 | else if(EventsIterator->m_EventId == NETEVENTTYPE_HAMMERHIT) |
| 3773 | { |
| 3774 | m_Effects.HammerHit(EventsIterator->m_Pos, Alpha, Volume); |
| 3775 | } |
| 3776 | else if(EventsIterator->m_EventId == NETEVENTTYPE_DAMAGEIND) |
| 3777 | { |
| 3778 | m_Effects.DamageIndicator(EventsIterator->m_Pos, direction(EventsIterator->m_ExtraInfo / 256.0f), Alpha); |
| 3779 | } |
| 3780 | |
| 3781 | EventsIterator->m_Handled = true; |
| 3782 | ++EventsIterator; |
| 3783 | continue; |
| 3784 | } |
| 3785 | else if(Tick - EventsIterator->m_Tick > 3 * Client()->GameTickSpeed()) // 3 seconds |
| 3786 | { |
| 3787 | // remove too old events |
| 3788 | EventsIterator = m_PredictedWorld.m_PredictedEvents.erase(EventsIterator); |
| 3789 | } |
| 3790 | else |
| 3791 | { |
| 3792 | ++EventsIterator; |
| 3793 | } |
| 3794 | } |
| 3795 | } |
| 3796 | |
| 3797 | void CGameClient::DetectStrongHook() |
| 3798 | { |
nothing calls this directly
no test coverage detected