Fix fixes and disable chams when disable_visuals

This commit is contained in:
vicinity-gush8 2021-12-25 15:34:15 +01:00 committed by LightCat
parent 4ccc490c83
commit c75ef7a136
6 changed files with 50 additions and 71 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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)

View File

@ -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;

View File

@ -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);

View File

@ -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