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,14 +395,16 @@ void Draw()
} }
#endif #endif
static InitRoutine init([]() { static InitRoutine init(
EC::Register(EC::CreateMove, CreateMoveEarly, "bt_update", EC::very_early); []()
EC::Register(EC::CreateMove, CreateMoveLate, "bt_createmove", EC::very_late); {
EC::Register(EC::Shutdown, Shutdown, "bt_shutdown"); EC::Register(EC::CreateMove, CreateMoveEarly, "bt_update", EC::very_early);
EC::Register(EC::LevelInit, Shutdown, "bt_shutdown"); EC::Register(EC::CreateMove, CreateMoveLate, "bt_createmove", EC::very_late);
EC::Register(EC::Shutdown, Shutdown, "bt_shutdown");
EC::Register(EC::LevelInit, Shutdown, "bt_shutdown");
#if ENABLE_VISUALS #if ENABLE_VISUALS
EC::Register(EC::Draw, Draw, "bt_draw"); EC::Register(EC::Draw, Draw, "bt_draw");
#endif #endif
}); });
} // namespace hacks::tf2::backtrack } // namespace hacks::tf2::backtrack