summaryrefslogtreecommitdiff
path: root/sourcemod/scripting/include/distbugfix.inc
diff options
context:
space:
mode:
Diffstat (limited to 'sourcemod/scripting/include/distbugfix.inc')
-rw-r--r--sourcemod/scripting/include/distbugfix.inc261
1 files changed, 0 insertions, 261 deletions
diff --git a/sourcemod/scripting/include/distbugfix.inc b/sourcemod/scripting/include/distbugfix.inc
deleted file mode 100644
index 6a7ed18..0000000
--- a/sourcemod/scripting/include/distbugfix.inc
+++ /dev/null
@@ -1,261 +0,0 @@
-
-#if defined _distbug_included
- #endinput
-#endif
-#define _distbug_included
-
-#define DISTBUG_CONFIG_NAME "distbugfix"
-
-#define CHAT_PREFIX "{d}[{l}GC{d}]"
-#define CONSOLE_PREFIX "[GC]"
-#define CHAT_SPACER " {d}|{g} "
-#define DISTBUG_VERSION "2.0.0"
-
-#define MAX_STRAFES 32
-#define MAX_EDGE 32.0
-#define MAX_JUMP_FRAMES 150 // for frame based arrays
-#define MAX_BHOP_FRAMES 8
-
-#define MAX_COOKIE_SIZE 32
-
-enum
-{
- SETTINGS_DISTBUG_ENABLED = (1 << 0),
- SETTINGS_SHOW_VEER_BEAM = (1 << 1),
- SETTINGS_SHOW_JUMP_BEAM = (1 << 2),
- SETTINGS_SHOW_HUD_GRAPH = (1 << 3),
- SETTINGS_DISABLE_STRAFE_STATS = (1 << 4),
- SETTINGS_DISABLE_STRAFE_GRAPH = (1 << 5),
- SETTINGS_ADV_CHAT_STATS = (1 << 6),
-}
-
-enum JumpType
-{
- // unprintable jumptypes. only for tracking
- JUMPTYPE_NONE,
-
- JUMPTYPE_LJ, // longjump
- JUMPTYPE_WJ, // weirdjump
- JUMPTYPE_LAJ, // ladderjump
- JUMPTYPE_BH, // bunnyhop
- JUMPTYPE_CBH, // crouched bunnyhop
-};
-
-enum JumpDir
-{
- JUMPDIR_FORWARDS,
- JUMPDIR_BACKWARDS,
- JUMPDIR_LEFT,
- JUMPDIR_RIGHT,
-};
-
-enum StrafeType
-{
- STRAFETYPE_OVERLAP, // IN_MOVELEFT and IN_MOVERIGHT are overlapping and sidespeed is 0
- STRAFETYPE_NONE, // IN_MOVELEFT and IN_MOVERIGHT are both not pressed and sidespeed is 0
-
- STRAFETYPE_LEFT, // only IN_MOVELEFT is down and sidespeed isn't 0.
- STRAFETYPE_OVERLAP_LEFT, // IN_MOVELEFT and IN_MOVERIGHT are overlapping, but sidespeed is smaller than 0 (not 0)
- STRAFETYPE_NONE_LEFT, // IN_MOVELEFT and IN_MOVERIGHT are both not pressed and sidespeed is smaller than 0 (not 0)
-
- STRAFETYPE_RIGHT, // only IN_MOVERIGHT is down and sidespeed isn't 0.
- STRAFETYPE_OVERLAP_RIGHT, // IN_MOVELEFT and IN_MOVERIGHT are overlapping, but sidespeed is bigger than 0 (not 0)
- STRAFETYPE_NONE_RIGHT, // IN_MOVELEFT and IN_MOVERIGHT are both not pressed and sidespeed is bigger than 0 (not 0)
-};
-
-enum JumpBeamColour
-{
- JUMPBEAM_NEUTRAL, // speed stays the same
- JUMPBEAM_LOSS, // speed loss
- JUMPBEAM_GAIN, // speed gain
- JUMPBEAM_DUCK, // duck key down
-};
-
-enum struct PlayerData
-{
- int tickCount;
- int buttons;
- int lastButtons;
- int flags;
- int lastFlags;
- int framesOnGround;
- int framesInAir;
- MoveType movetype;
- MoveType lastMovetype;
- float stamina;
- float lastStamina;
- float forwardmove;
- float lastForwardmove;
- float sidemove;
- float lastSidemove;
- float gravity;
- float angles[3];
- float lastAngles[3];
- float position[3];
- float lastPosition[3];
- float velocity[3];
- float lastVelocity[3];
- float lastGroundPos[3]; // last position where the player left the ground.
- float ladderNormal[3];
- bool lastGroundPosWalkedOff;
- bool landedDucked;
-
- int prespeedFog;
- float prespeedStamina;
-
- float jumpGroundZ;
- float jumpPos[3];
- float jumpAngles[3];
- float landGroundZ;
- float landPos[3];
-
- int fwdReleaseFrame;
- int jumpFrame;
- bool trackingJump;
- bool failedJump;
- bool jumpGotFailstats;
-
- // jump data
- JumpType jumpType;
- JumpType lastJumpType;
- JumpDir jumpDir;
- float jumpDistance;
- float jumpPrespeed;
- float jumpMaxspeed;
- float jumpVeer;
- float jumpAirpath;
- float jumpSync;
- float jumpEdge;
- float jumpLandEdge;
- float jumpBlockDist;
- float jumpHeight;
- float jumpJumpoffAngle;
- int jumpAirtime;
- int jumpFwdRelease;
- int jumpOverlap;
- int jumpDeadair;
-
- // strafes!
- int strafeCount;
- float strafeSync[MAX_STRAFES];
- float strafeGain[MAX_STRAFES];
- float strafeLoss[MAX_STRAFES];
- float strafeMax[MAX_STRAFES];
- int strafeAirtime[MAX_STRAFES];
- int strafeOverlap[MAX_STRAFES];
- int strafeDeadair[MAX_STRAFES];
- float strafeAvgGain[MAX_STRAFES];
-
- float strafeAvgEfficiency[MAX_STRAFES];
- int strafeAvgEfficiencyCount[MAX_STRAFES]; // how many samples are in strafeAvgEfficiency
- float strafeMaxEfficiency[MAX_STRAFES];
-
- StrafeType strafeGraph[MAX_JUMP_FRAMES];
- float mouseGraph[MAX_JUMP_FRAMES];
- float jumpBeamX[MAX_JUMP_FRAMES];
- float jumpBeamY[MAX_JUMP_FRAMES];
- JumpBeamColour jumpBeamColour[MAX_JUMP_FRAMES];
-}
-
-/**
- * Check if player is overlapping their MOVERIGHT and MOVELEFT buttons.
- *
- * @param x Buttons;
- * @return True if overlapping, false otherwise.
- */
-stock bool IsOverlapping(int buttons, JumpDir jumpDir)
-{
- if (jumpDir == JUMPDIR_FORWARDS || jumpDir == JUMPDIR_BACKWARDS)
- {
- return (buttons & IN_MOVERIGHT) && (buttons & IN_MOVELEFT);
- }
- // else if (jumpDir == JUMPDIR_LEFT || jumpDir == JUMPDIR_RIGHT)
- return (buttons & IN_FORWARD) && (buttons & IN_BACK);
-}
-
-/**
- * Checks if the player is not holding down their MOVERIGHT and MOVELEFT buttons.
- *
- * @param x Buttons.
- * @return True if they're not holding either, false otherwise.
- */
-stock bool IsDeadAirtime(int buttons, JumpDir jumpDir)
-{
- if (jumpDir == JUMPDIR_FORWARDS || jumpDir == JUMPDIR_BACKWARDS)
- {
- return (!(buttons & IN_MOVERIGHT) && !(buttons & IN_MOVELEFT));
- }
- // else if (jumpDir == JUMPDIR_LEFT || jumpDir == JUMPDIR_RIGHT)
- return (!(buttons & IN_FORWARD) && !(buttons & IN_BACK));
-}
-
-stock void ToggleCVar(ConVar cvar)
-{
- cvar.BoolValue = !cvar.BoolValue;
-}
-
-stock void GetRealLandingOrigin(float landGroundZ, const float origin[3], const float velocity[3], float result[3])
-{
- if ((origin[2] - landGroundZ) == 0.0)
- {
- result = origin;
- return;
- }
-
- // this is like this because it works
- float frametime = GetTickInterval();
- float verticalDistance = origin[2] - (origin[2] + velocity[2] * frametime);
- float fraction = (origin[2] - landGroundZ) / verticalDistance;
-
- float addDistance[3];
- addDistance = velocity;
- ScaleVector(addDistance, frametime * fraction);
-
- AddVectors(origin, addDistance, result);
-}
-
-stock int FloatSign(float value)
-{
- if (value > 0.0)
- {
- return 1;
- }
- else if (value < 0.0)
- {
- return -1;
- }
- return 0;
-}
-
-stock int FloatSign2(float value)
-{
- if (value >= 0.0)
- {
- return 1;
- }
- // else if (value < 0.0)
- return -1;
-}
-
-stock void ShowPanel(int client, int duration, const char[] message)
-{
- Event show_survival_respawn_status = CreateEvent("show_survival_respawn_status");
- if (show_survival_respawn_status == INVALID_HANDLE)
- {
- return;
- }
-
- show_survival_respawn_status.SetString("loc_token", message);
- show_survival_respawn_status.SetInt("duration", duration);
- show_survival_respawn_status.SetInt("userid", -1);
-
- if (client == -1)
- {
- show_survival_respawn_status.Fire();
- }
- else
- {
- show_survival_respawn_status.FireToClient(client);
- show_survival_respawn_status.Cancel();
- }
-}