Fix a Backtrack crash

This commit is contained in:
BenCat07 2021-08-01 01:52:36 +02:00
parent 6ecef25a49
commit 16cd633b9c

View File

@ -170,8 +170,13 @@ void adjustPing(INetChannel *ch)
// Move target entity to tick // Move target entity to tick
void MoveToTick(BacktrackData data) void MoveToTick(BacktrackData data)
{ {
if (IDX_BAD(data.entidx) || data.entidx > g_IEngine->GetMaxClients())
return;
CachedEntity *target = ENTITY(data.entidx); CachedEntity *target = ENTITY(data.entidx);
if (CE_BAD(target))
return;
// Set entity data to match the target data // Set entity data to match the target data
re::C_BasePlayer::SetAbsOrigin(RAW_ENT(target), data.m_vecOrigin); re::C_BasePlayer::SetAbsOrigin(RAW_ENT(target), data.m_vecOrigin);
re::C_BasePlayer::GetEyeAngles(RAW_ENT(target)) = data.m_vecAngles; re::C_BasePlayer::GetEyeAngles(RAW_ENT(target)) = data.m_vecAngles;
@ -390,7 +395,9 @@ void Draw()
} }
#endif #endif
static InitRoutine init([]() { static InitRoutine init(
[]()
{
EC::Register(EC::CreateMove, CreateMoveEarly, "bt_update", EC::very_early); EC::Register(EC::CreateMove, CreateMoveEarly, "bt_update", EC::very_early);
EC::Register(EC::CreateMove, CreateMoveLate, "bt_createmove", EC::very_late); EC::Register(EC::CreateMove, CreateMoveLate, "bt_createmove", EC::very_late);
EC::Register(EC::Shutdown, Shutdown, "bt_shutdown"); EC::Register(EC::Shutdown, Shutdown, "bt_shutdown");