Replace the test cvars with botdata variables

This commit is contained in:
GenericHeroGuy 2025-08-30 14:22:33 +02:00
parent b21319011e
commit 68a644fe2f
5 changed files with 12 additions and 14 deletions

View file

@ -679,10 +679,6 @@ consvar_t cv_schedule = CVAR_INIT ("schedule", "On", CV_NETVAR|CV_CALL, CV_OnOff
consvar_t cv_automate = CVAR_INIT ("automate", "On", CV_NETVAR, CV_OnOff, NULL);
consvar_t cv_test1 = CVAR_INIT ("test1", "200", CV_NETVAR|CV_FLOAT, CV_Signed, NULL);
consvar_t cv_test2 = CVAR_INIT ("test2", "40", CV_NETVAR|CV_FLOAT, CV_Signed, NULL);
consvar_t cv_test3 = CVAR_INIT ("test3", "18", CV_NETVAR|CV_FLOAT, CV_Signed, NULL);
char timedemo_name[256];
boolean timedemo_csv;
char timedemo_csv_id[256];

View file

@ -237,8 +237,6 @@ extern consvar_t cv_director;
extern consvar_t cv_schedule;
extern consvar_t cv_test1, cv_test2, cv_test3;
extern char timedemo_name[256];
extern boolean timedemo_csv;
extern char timedemo_csv_id[256];

View file

@ -1139,8 +1139,7 @@ static void K_BotStartDrift(botdata_t *bd, player_t* player)
// check for waypoints ahead of us with drift settings, based on our current speed
path_t path = {0};
INT32 maxdist = FixedInt(cv_test1.value) + gamespeed*50;
maxdist = FixedMul(maxdist, speedfactor * (bd->driftstate == DRIFTSTATE_ACTIVE ? 1 : 2));
INT32 maxdist = FixedMul(bd->driftmaxdist, speedfactor * (bd->driftstate == DRIFTSTATE_ACTIVE ? 1 : 2));
if (maxdist >= 0 && K_PathfindThruCircuit(player->currentwaypoint, maxdist, &path, false, false))
{
@ -1322,7 +1321,7 @@ static INT32 K_HandleBotTrack(botdata_t *bd, player_t *player, angle_t destangle
fixed_t driftpower = angofs - FixedDiv(anglediff2, ANG1);
// arbitrary divider on the final driftpower
driftpower /= FixedInt(cv_test2.value);
driftpower /= bd->driftpowerdiv;
// brakedrift if we're steering too hard
if (abs(driftpower) >= FRACUNIT)
@ -1702,7 +1701,7 @@ void K_BotTicker(player_t *player)
// so no need to worry about doing that ourselves.
K_BotStartDrift(bd, player);
INT32 limit = FixedInt(cv_test3.value) - gamespeed*5;
INT32 limit = bd->driftstatedelay;
INT32 dtime = ++bd->drifttime;
// the faster we are going, the sooner we need to drift
@ -1827,6 +1826,11 @@ void K_BotRespawn(player_t *player)
botdata_t *bd = &botdata[player - players];
memset(bd, 0, sizeof(*bd));
bd->driftstate = DRIFTSTATE_AUTO;
// drift parameters, just fixed values for now
bd->driftmaxdist = 200 + gamespeed*50;
bd->driftpowerdiv = 40;
bd->driftstatedelay = TICRATE/2 - gamespeed*5;
}
void K_BotResetItemConfirm(player_t *player, boolean setdelay)

View file

@ -86,6 +86,10 @@ struct botdata_t
tic_t drifttime; // Time spent drifting
tic_t driftlockout; // do not allow drifting for this many tics
UINT16 driftmaxdist; // how far to look for drift waypoints
UINT16 driftpowerdiv; // arbitrary divider on drift turning
UINT16 driftstatedelay; // max time to wait between drift state changes
boolean acceldown, brakedown, driftdown, itemdown; // buttons
boolean dolookback; // look out behind you
boolean itemwasdown; // last tic's item button

View file

@ -385,10 +385,6 @@ void K_RegisterKartStuff(void)
CV_RegisterVar(&cv_itemtimers);
CV_RegisterVar(&cv_saltyhop);
CV_RegisterVar(&cv_test1);
CV_RegisterVar(&cv_test2);
CV_RegisterVar(&cv_test3);
CV_RegisterVar(&cv_naturalcamera);
}