void Hooks::ProcessPacket(void* packet, bool header)
{
g_hooks.m_net_channel.GetOldMethod< ProcessPacket_t >(INetChannel::PROCESSPACKET)(this, packet, header);
g_cl.UpdateIncomingSequences();
// get this from CL_FireEvents string "Failed to execute event for classId" in engine.dll
for (CEventInfo* it{ g_csgo.m_cl->m_events }; it != nullptr; it = it->m_next)
{
if (!it->m_class_id)
continue;
// set all delays to instant.
it->m_fire_delay = 0.f;
}
// game events are actually fired in OnRenderStart which is WAY later after they are received
// effective delay by lerp time, now we call them right after theyre received (all receive proxies are invoked without delay).
g_csgo.m_engine->FireEvents();
}