From 7df5a255a8940e87f6340cef7ebc5cace5b21b02 Mon Sep 17 00:00:00 2001 From: NepDisk Date: Tue, 26 Aug 2025 09:51:24 -0400 Subject: [PATCH] Add drafting base distance cvar --- src/d_netcmd.c | 1 + src/d_netcmd.h | 1 + src/k_kart.c | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 4a0ab5c8f..bfdaa55f0 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -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}}; diff --git a/src/d_netcmd.h b/src/d_netcmd.h index 957838d00..55e146f21 100644 --- a/src/d_netcmd.h +++ b/src/d_netcmd.h @@ -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; diff --git a/src/k_kart.c b/src/k_kart.c index 8fce20c71..8bbd50dab 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -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));