Add drafting base distance cvar

This commit is contained in:
NepDisk 2025-08-26 09:51:24 -04:00
parent 467f89a4f1
commit 7df5a255a8
3 changed files with 4 additions and 1 deletions

View file

@ -528,6 +528,7 @@ consvar_t cv_kartslopeboost = CVAR_INIT ("kartslopeboost", "No", CV_NETVAR|CV_CA
consvar_t cv_kartdrafting = CVAR_INIT ("kartdrafting", "No", CV_NETVAR|CV_CALL|CV_NOINIT, CV_YesNo, KartDrafting_OnChange);
consvar_t cv_kartdrafting_closedraft = CVAR_INIT ("kartdrafting_closedraft", "Off", CV_NETVAR, CV_OnOff, NULL);
consvar_t cv_kartdrafting_basedistance = CVAR_INIT ("kartdrafting_basedistance", "2560", CV_NETVAR|CV_CHEAT, CV_Unsigned, NULL);
// Invincibility modifiers
static CV_PossibleValue_t invintype_cons_t[] = {{0, "Legacy"}, {1, "Alternative"}, {0, NULL}};

View file

@ -173,6 +173,7 @@ extern consvar_t cv_kartstacking_slope_stackable;
extern consvar_t cv_kartdrafting;
extern consvar_t cv_kartdrafting_closedraft;
extern consvar_t cv_kartdrafting_basedistance;
extern consvar_t cv_kartstacking_drafting_minspeed;
extern consvar_t cv_kartstacking_drafting_maxspeed;

View file

@ -349,6 +349,7 @@ void K_RegisterKartStuff(void)
CV_RegisterVar(&cv_kartdrafting);
CV_RegisterVar(&cv_kartdrafting_closedraft);
CV_RegisterVar(&cv_kartdrafting_basedistance);
CV_RegisterVar(&cv_kartstacking_drafting_minspeed);
CV_RegisterVar(&cv_kartstacking_drafting_maxspeed);
@ -2400,7 +2401,7 @@ static void K_UpdateDraft(player_t *player)
// Distance you have to be to draft. If you're still accelerating, then this distance is lessened.
// This distance biases toward low weight! (min weight gets ??? units, max weight gets 2560 units)
// This distance is also scaled based on game speed.
draftdistance = (2560 + (128 * (9 - player->kartweight))) * player->mo->scale;
draftdistance = (cv_kartdrafting_basedistance.value + (128 * (9 - player->kartweight))) * player->mo->scale;
if (player->speed < topspd)
draftdistance = FixedMul(draftdistance, FixedDiv(player->speed, topspd));
draftdistance = FixedMul(draftdistance, K_GetKartGameSpeedScalar(gamespeed));