Fix fixes and disable chams when disable_visuals
This commit is contained in:
parent
4ccc490c83
commit
c75ef7a136
@ -1514,9 +1514,9 @@ void DoSlowAim(Vector &input_angle)
|
||||
{
|
||||
slow_delta = input_angle - viewangles;
|
||||
|
||||
if (slow_delta.y > 180)
|
||||
while (slow_delta.y > 180)
|
||||
slow_delta.y -= 360;
|
||||
if (slow_delta.y < -180)
|
||||
while (slow_delta.y < -180)
|
||||
slow_delta.y += 360;
|
||||
|
||||
slow_delta /= slow_aim;
|
||||
|
@ -278,11 +278,8 @@ static bool doRageBackstab()
|
||||
auto angle = GetAimAtAngles(g_pLocalPlayer->v_Eye, aim_pos, LOCAL_E);
|
||||
if (!angleCheck(ent, std::nullopt, angle) && !canFaceStab(ent))
|
||||
continue;
|
||||
if (doSwingTraceAngle(angle, trace))
|
||||
if (doSwingTraceAngle(angle, trace) && ((IClientEntity *) trace.m_pEnt)->entindex() == i)
|
||||
{
|
||||
// Make sure trace hit the enemy
|
||||
if ((IClientEntity *) trace.m_pEnt != g_IEntityList->GetClientEntity(ent->m_IDX))
|
||||
return false;
|
||||
current_user_cmd->buttons |= IN_ATTACK;
|
||||
g_pLocalPlayer->bUseSilentAngles = true;
|
||||
current_user_cmd->viewangles = angle;
|
||||
|
@ -389,15 +389,6 @@ bool ShouldChargePlayer(int idx)
|
||||
const float damage_accum_duration = g_GlobalVars->curtime - data[idx].accum_damage_start;
|
||||
const int health = target->m_iHealth();
|
||||
|
||||
// Uber on "CHARGE ME DOCTOR!"
|
||||
if (pop_uber_voice)
|
||||
{
|
||||
// Hey you wanna get deleted?
|
||||
auto uber_array = std::move(called_medic);
|
||||
for (auto i : uber_array)
|
||||
if (i == idx)
|
||||
return true;
|
||||
}
|
||||
if (health > g_pPlayerResource->GetMaxHealth(target))
|
||||
return false;
|
||||
if (!data[idx].accum_damage_start)
|
||||
@ -712,22 +703,22 @@ void CreateMove()
|
||||
{
|
||||
current_user_cmd->buttons |= IN_ATTACK2;
|
||||
}
|
||||
// Uber on "CHARGE ME DOCTOR!"
|
||||
if (pop_uber_voice)
|
||||
{
|
||||
auto uber_array = std::move(called_medic);
|
||||
for (auto i : uber_array)
|
||||
if (i == CurrentHealingTargetIDX)
|
||||
{
|
||||
current_user_cmd->buttons |= IN_ATTACK2;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (pop_uber_auto && ShouldPop())
|
||||
current_user_cmd->buttons |= IN_ATTACK2;
|
||||
}
|
||||
|
||||
// Uber on "CHARGE ME DOCTOR!"
|
||||
if (pop_uber_voice)
|
||||
{
|
||||
// Hey you wanna get deleted?
|
||||
auto uber_array = std::move(called_medic);
|
||||
for (auto i : uber_array)
|
||||
if (i == CurrentHealingTargetIDX)
|
||||
current_user_cmd->buttons |= IN_ATTACK2;
|
||||
}
|
||||
}
|
||||
|
||||
void rvarCallback(settings::VariableBase<int> &var, int after)
|
||||
|
@ -213,9 +213,9 @@ void DoSlowAim(Vector &input_angle, int speed)
|
||||
{
|
||||
Vector slow_delta = input_angle - viewangles;
|
||||
|
||||
if (slow_delta.y > 180)
|
||||
while (slow_delta.y > 180)
|
||||
slow_delta.y -= 360;
|
||||
if (slow_delta.y < -180)
|
||||
while (slow_delta.y < -180)
|
||||
slow_delta.y += 360;
|
||||
|
||||
slow_delta /= speed;
|
||||
|
@ -209,40 +209,43 @@ public:
|
||||
|
||||
std::vector<DrawEntry> attachment_draw_list;
|
||||
|
||||
static InitRoutine init_dme([]() {
|
||||
EC::Register(
|
||||
EC::LevelShutdown,
|
||||
[]() {
|
||||
if (init_mat)
|
||||
static InitRoutine init_dme(
|
||||
[]()
|
||||
{
|
||||
EC::Register(
|
||||
EC::LevelShutdown,
|
||||
[]()
|
||||
{
|
||||
mats.Shutdown();
|
||||
init_mat = false;
|
||||
}
|
||||
attachment_draw_list.clear();
|
||||
},
|
||||
"dme_lvl_shutdown");
|
||||
if (init_mat)
|
||||
{
|
||||
mats.Shutdown();
|
||||
init_mat = false;
|
||||
}
|
||||
attachment_draw_list.clear();
|
||||
},
|
||||
"dme_lvl_shutdown");
|
||||
|
||||
halfambert.installChangeCallback(rvarCallback<bool>);
|
||||
additive.installChangeCallback(rvarCallback<int>);
|
||||
pearlescent.installChangeCallback(rvarCallback<int>);
|
||||
halfambert.installChangeCallback(rvarCallback<bool>);
|
||||
additive.installChangeCallback(rvarCallback<int>);
|
||||
pearlescent.installChangeCallback(rvarCallback<int>);
|
||||
|
||||
phong_enable.installChangeCallback(rvarCallback<bool>);
|
||||
phong_boost.installChangeCallback(rvarCallback<int>);
|
||||
phong_exponent.installChangeCallback(rvarCallback<float>);
|
||||
phong_fresnelrange.installChangeCallback(rvarCallback<bool>);
|
||||
phong_fresnelrange_1.installChangeCallback(rvarCallback<float>);
|
||||
phong_fresnelrange_2.installChangeCallback(rvarCallback<float>);
|
||||
phong_fresnelrange_3.installChangeCallback(rvarCallback<float>);
|
||||
phong_enable.installChangeCallback(rvarCallback<bool>);
|
||||
phong_boost.installChangeCallback(rvarCallback<int>);
|
||||
phong_exponent.installChangeCallback(rvarCallback<float>);
|
||||
phong_fresnelrange.installChangeCallback(rvarCallback<bool>);
|
||||
phong_fresnelrange_1.installChangeCallback(rvarCallback<float>);
|
||||
phong_fresnelrange_2.installChangeCallback(rvarCallback<float>);
|
||||
phong_fresnelrange_3.installChangeCallback(rvarCallback<float>);
|
||||
|
||||
rimlighting.installChangeCallback(rvarCallback<bool>);
|
||||
rimlighting_boost.installChangeCallback(rvarCallback<float>);
|
||||
rimlighting_exponent.installChangeCallback(rvarCallback<float>);
|
||||
rimlighting.installChangeCallback(rvarCallback<bool>);
|
||||
rimlighting_boost.installChangeCallback(rvarCallback<float>);
|
||||
rimlighting_exponent.installChangeCallback(rvarCallback<float>);
|
||||
|
||||
envmap.installChangeCallback(rvarCallback<bool>);
|
||||
envmapfresnel.installChangeCallback(rvarCallback<float>);
|
||||
envmap_tint.installChangeCallback(rvarCallback<bool>);
|
||||
envmap_matt.installChangeCallback(rvarCallback<bool>);
|
||||
});
|
||||
envmap.installChangeCallback(rvarCallback<bool>);
|
||||
envmapfresnel.installChangeCallback(rvarCallback<float>);
|
||||
envmap_tint.installChangeCallback(rvarCallback<bool>);
|
||||
envmap_matt.installChangeCallback(rvarCallback<bool>);
|
||||
});
|
||||
|
||||
// Purpose => Returns true if we should render provided internal entity
|
||||
bool ShouldRenderChams(IClientEntity *entity)
|
||||
@ -532,7 +535,7 @@ void ApplyChams(ChamColors colors, bool recurse, bool render_original, bool over
|
||||
|
||||
DEFINE_HOOKED_METHOD(DrawModelExecute, void, IVModelRender *this_, const DrawModelState_t &state, const ModelRenderInfo_t &info, matrix3x4_t *bone)
|
||||
{
|
||||
if (!isHackActive() || effect_glow::g_EffectGlow.drawing || chams_attachment_drawing || (*clean_screenshots && g_IEngine->IsTakingScreenshot()) || CE_BAD(LOCAL_E) || (!enable && !no_hats && !no_arms && !blend_zoom && !arms_chams && !local_weapon_chams /*&& !(hacks::tf2::backtrack::chams && hacks::tf2::backtrack::isBacktrackEnabled)*/))
|
||||
if (!isHackActive() || effect_glow::g_EffectGlow.drawing || chams_attachment_drawing || (*clean_screenshots && g_IEngine->IsTakingScreenshot()) || disable_visuals || CE_BAD(LOCAL_E) || (!enable && !no_hats && !no_arms && !blend_zoom && !arms_chams && !local_weapon_chams /*&& !(hacks::tf2::backtrack::chams && hacks::tf2::backtrack::isBacktrackEnabled)*/))
|
||||
return original::DrawModelExecute(this_, state, info, bone);
|
||||
|
||||
PROF_SECTION(DrawModelExecute);
|
||||
|
@ -94,25 +94,13 @@ void CreateMove()
|
||||
// Beggars check
|
||||
if (CE_INT(LOCAL_W, netvar.iItemDefinitionIndex) == 730)
|
||||
{
|
||||
bool should_nospread = !(current_late_user_cmd->buttons & IN_ATTACK);
|
||||
|
||||
// Check if player is charging rockets
|
||||
if (!CE_INT(LOCAL_W, netvar.m_iClip1) && CE_INT(LOCAL_W, netvar.iReloadMode) == 0)
|
||||
should_nospread = false;
|
||||
|
||||
if (!should_nospread)
|
||||
if (CE_INT(LOCAL_W, netvar.m_iClip1) == 0 || CE_INT(LOCAL_W, netvar.iReloadMode) != 0)
|
||||
return;
|
||||
}
|
||||
// Huntsman check
|
||||
else if (LOCAL_W->m_iClassID() == CL_CLASS(CTFCompoundBow))
|
||||
{
|
||||
bool should_nospread = !(current_late_user_cmd->buttons & IN_ATTACK);
|
||||
|
||||
// Check if player is charging an arrow
|
||||
if (CE_FLOAT(LOCAL_W, netvar.flChargeBeginTime) == 0)
|
||||
should_nospread = false;
|
||||
|
||||
if (!should_nospread)
|
||||
if (current_late_user_cmd->buttons & IN_ATTACK || CE_FLOAT(LOCAL_W, netvar.flChargeBeginTime) == 0)
|
||||
return;
|
||||
}
|
||||
// Rest of weapons
|
||||
|
Reference in New Issue
Block a user