Add debug command to show the bot's prediction

This commit is contained in:
Sally Coolatta 2021-02-26 02:41:41 -05:00
parent 43a92892e9
commit 4b158c44cd
4 changed files with 25 additions and 1 deletions

View file

@ -432,6 +432,7 @@ consvar_t cv_kartdebugdistribution = CVAR_INIT ("kartdebugdistribution", "Off",
consvar_t cv_kartdebughuddrop = CVAR_INIT ("kartdebughuddrop", "Off", CV_NETVAR|CV_CHEAT|CV_NOSHOWHELP, CV_OnOff, NULL);
static CV_PossibleValue_t kartdebugwaypoint_cons_t[] = {{0, "Off"}, {1, "Forwards"}, {2, "Backwards"}, {0, NULL}};
consvar_t cv_kartdebugwaypoints = CVAR_INIT ("kartdebugwaypoints", "Off", CV_NETVAR|CV_CHEAT|CV_NOSHOWHELP, kartdebugwaypoint_cons_t, NULL);
consvar_t cv_kartdebugbotpredict = CVAR_INIT ("kartdebugbotpredict", "Off", CV_NETVAR|CV_CHEAT|CV_NOSHOWHELP, CV_OnOff, NULL);
consvar_t cv_kartdebugcheckpoint = CVAR_INIT ("kartdebugcheckpoint", "Off", CV_NOSHOWHELP, CV_OnOff, NULL);
consvar_t cv_kartdebugnodes = CVAR_INIT ("kartdebugnodes", "Off", CV_NOSHOWHELP, CV_OnOff, NULL);

View file

@ -93,7 +93,7 @@ extern consvar_t cv_votetime;
extern consvar_t cv_kartdebugitem, cv_kartdebugamount, cv_kartallowgiveitem, cv_kartdebugshrink, cv_kartdebugdistribution, cv_kartdebughuddrop;
extern consvar_t cv_kartdebugcheckpoint, cv_kartdebugnodes, cv_kartdebugcolorize;
extern consvar_t cv_kartdebugwaypoints;
extern consvar_t cv_kartdebugwaypoints, cv_kartdebugbotpredict;
extern consvar_t cv_itemfinder;

View file

@ -837,6 +837,23 @@ static INT16 K_FindBotController(mobj_t *mo)
return -1;
}
static void K_DrawPredictionDebug(botprediction_t *predict, player_t *player)
{
mobj_t *debugmobj = NULL;
debugmobj = P_SpawnMobj(predict->x, predict->y, player->mo->z, MT_SPARK);
P_SetMobjState(debugmobj, S_THOK);
debugmobj->frame &= ~FF_TRANSMASK;
debugmobj->frame |= FF_TRANS20;
debugmobj->color = SKINCOLOR_ORANGE;
debugmobj->scale *= 2;
debugmobj->state->tics = 2;
debugmobj->state->nextstate = S_NULL;
}
/*--------------------------------------------------
void K_BuildBotTiccmd(player_t *player, ticcmd_t *cmd)
@ -1158,6 +1175,11 @@ void K_BuildBotTiccmd(player_t *player, ticcmd_t *cmd)
}
}
if (cv_kartdebugbotpredict.value == 1 && player - players == displayplayers[0])
{
K_DrawPredictionDebug(predict, player);
}
// Free the prediction we made earlier
if (predict != NULL)
{

View file

@ -252,6 +252,7 @@ void K_RegisterKartStuff(void)
CV_RegisterVar(&cv_kartdebugdistribution);
CV_RegisterVar(&cv_kartdebughuddrop);
CV_RegisterVar(&cv_kartdebugwaypoints);
CV_RegisterVar(&cv_kartdebugbotpredict);
CV_RegisterVar(&cv_kartdebugcheckpoint);
CV_RegisterVar(&cv_kartdebugnodes);