clamping in spin AA + some new modes

This commit is contained in:
nullifiedcat 2017-03-26 09:09:42 +03:00
parent e3b1857512
commit 46c2b109fc

View File

@ -15,14 +15,13 @@ namespace hacks { namespace shared { namespace antiaim {
CatVar enabled(CV_SWITCH, "aa_enabled", "0", "Anti-Aim", "Master AntiAim switch");
CatVar yaw(CV_FLOAT, "aa_yaw", "0.0", "Yaw", "Static yaw (left/right)", 360.0);
CatVar pitch(CV_FLOAT, "aa_pitch", "-89.0", "Pitch", "Static pitch (up/down)", -89.0, 89.0);
CatEnum yaw_mode_enum({ "KEEP", "STATIC", "RANDOM", "SPIN" });
CatEnum pitch_mode_enum({ "KEEP", "STATIC", "RANDOM" });
CatEnum yaw_mode_enum({ "KEEP", "STATIC", "JITTER", "BIGRANDOM", "RANDOM", "SPIN" });
CatEnum pitch_mode_enum({ "KEEP", "STATIC", "JITTER", "RANDOM", "FAKE?" });
CatVar yaw_mode(yaw_mode_enum, "aa_yaw_mode", "3", "Yaw mode", "Yaw mode");
CatVar pitch_mode(pitch_mode_enum, "aa_pitch_mode", "1", "Pitch mode", "Pitch mode");
CatVar roll(CV_FLOAT, "aa_roll", "0", "Roll", "Roll angle (viewangles.z)", -180, 180);
CatVar no_clamping(CV_SWITCH, "aa_no_clamp", "0", "Don't clamp angles", "Use this with STATIC mode for unclamped manual angles");
CatVar spin(CV_FLOAT, "aa_spin", "10.0", "Spin speed", "Spin speed (degrees/second)");
//CatVar lisp(CV_SWITCH, "aa_lisp", "0", "Lisp angles", "Big numbers");
float cur_yaw = 0.0f;
int safe_space = 0;
@ -68,16 +67,27 @@ void ProcessUserCmd(CUserCmd* cmd) {
if (!ShouldAA(cmd)) return;
float& p = cmd->viewangles.x;
float& y = cmd->viewangles.y;
static bool flip = false;
bool clamp = !no_clamping;
switch ((int)yaw_mode) {
case 1: // FIXED
y = (float)yaw;
break;
case 2: // RANDOM
case 2: // JITTER
if (flip) y += 90;
else y -= 90;
break;
case 3: // BIGRANDOM
y = RandFloatRange(-65536.0f, 65536.0f);
clamp = false;
break;
case 4: // RANDOM
y = RandFloatRange(-180.0f, 180.0f);
break;
case 3: // SPIN
case 5: // SPIN
cur_yaw += (float)spin;
if (cur_yaw > 180) cur_yaw = -180;
if (cur_yaw < 180) cur_yaw = 180;
y = cur_yaw;
break;
}
@ -86,11 +96,18 @@ void ProcessUserCmd(CUserCmd* cmd) {
p = (float)pitch;
break;
case 2:
if (flip) p += 30.0f;
else p -= 30.0f;
break;
case 3:
p = RandFloatRange(-89.0f, 89.0f);
break;
case 4:
p = flip ? 89.0f : -89.0f;
break;
}
if (!no_clamping) fClampAngle(cmd->viewangles);
flip = !flip;
if (clamp) fClampAngle(cmd->viewangles);
if (roll) cmd->viewangles.z = (float)roll;
g_pLocalPlayer->bUseSilentAngles = true;
}