mirror of
https://github.com/shavitush/bhoptimer.git
synced 2025-12-07 02:18:26 +00:00
add shavit_misc_bad_setlocalangles_fix
This commit is contained in:
parent
6fc6ca86bc
commit
79baadf541
@ -110,6 +110,7 @@ Convar gCV_WRMessages = null;
|
|||||||
Convar gCV_BhopSounds = null;
|
Convar gCV_BhopSounds = null;
|
||||||
Convar gCV_RestrictNoclip = null;
|
Convar gCV_RestrictNoclip = null;
|
||||||
Convar gCV_SpecScoreboardOrder = null;
|
Convar gCV_SpecScoreboardOrder = null;
|
||||||
|
Convar gCV_BadSetLocalAnglesFix = null;
|
||||||
ConVar gCV_PauseMovement = null;
|
ConVar gCV_PauseMovement = null;
|
||||||
|
|
||||||
// external cvars
|
// external cvars
|
||||||
@ -282,6 +283,11 @@ public void OnPluginStart()
|
|||||||
gCV_RestrictNoclip = new Convar("shavit_misc_restrictnoclip", "0", "Should noclip be be restricted\n0 - Disabled\n1 - No vertical velocity while in noclip in start zone\n2 - No noclip in start zone", 0, true, 0.0, true, 2.0);
|
gCV_RestrictNoclip = new Convar("shavit_misc_restrictnoclip", "0", "Should noclip be be restricted\n0 - Disabled\n1 - No vertical velocity while in noclip in start zone\n2 - No noclip in start zone", 0, true, 0.0, true, 2.0);
|
||||||
gCV_SpecScoreboardOrder = new Convar("shavit_misc_spec_scoreboard_order", "1", "Use scoreboard ordering for players when changing target when spectating.", 0, true, 0.0, true, 1.0);
|
gCV_SpecScoreboardOrder = new Convar("shavit_misc_spec_scoreboard_order", "1", "Use scoreboard ordering for players when changing target when spectating.", 0, true, 0.0, true, 1.0);
|
||||||
|
|
||||||
|
if (gEV_Type != Engine_CSGO)
|
||||||
|
{
|
||||||
|
gCV_BadSetLocalAnglesFix = new Convar("shavit_misc_bad_setlocalangles_fix", "1", "Fix 'Bad SetLocalAngles' on func_rotating entities.", 0, true, 0.0, true, 1.0);
|
||||||
|
}
|
||||||
|
|
||||||
gCV_HideRadar.AddChangeHook(OnConVarChanged);
|
gCV_HideRadar.AddChangeHook(OnConVarChanged);
|
||||||
Convar.AutoExecConfig();
|
Convar.AutoExecConfig();
|
||||||
|
|
||||||
@ -927,6 +933,12 @@ public MRESReturn CCSPlayer__GetPlayerMaxSpeed(int pThis, DHookReturn hReturn)
|
|||||||
return MRES_Override;
|
return MRES_Override;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float normalize_ang(float ang)
|
||||||
|
{
|
||||||
|
while (ang > 180.0) ang -= 360.0;
|
||||||
|
while (ang < -180.0) ang += 360.0; return ang;
|
||||||
|
}
|
||||||
|
|
||||||
public Action Timer_Cron(Handle timer)
|
public Action Timer_Cron(Handle timer)
|
||||||
{
|
{
|
||||||
if(gCV_HideRadar.BoolValue && gEV_Type == Engine_CSS)
|
if(gCV_HideRadar.BoolValue && gEV_Type == Engine_CSS)
|
||||||
@ -955,6 +967,25 @@ public Action Timer_Cron(Handle timer)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (gEV_Type != Engine_CSGO && gCV_BadSetLocalAnglesFix.BoolValue)
|
||||||
|
{
|
||||||
|
int ent = -1;
|
||||||
|
|
||||||
|
while ((ent = FindEntityByClassname(ent, "func_rotating")) != -1)
|
||||||
|
{
|
||||||
|
float ang[3], newang[3];
|
||||||
|
GetEntPropVector(ent, Prop_Send, "m_angRotation", ang);
|
||||||
|
newang[0] = normalize_ang(ang[0]);
|
||||||
|
newang[2] = normalize_ang(ang[1]);
|
||||||
|
newang[2] = normalize_ang(ang[2]);
|
||||||
|
|
||||||
|
if (newang[0] != ang[0] || newang[1] != ang[1] || newang[2] != ang[2])
|
||||||
|
{
|
||||||
|
SetEntPropVector(ent, Prop_Send, "m_angRotation", newang);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return Plugin_Continue;
|
return Plugin_Continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user