diff --git a/src/k_bot.c b/src/k_bot.c index 21cd4f18e..5219b5c96 100644 --- a/src/k_bot.c +++ b/src/k_bot.c @@ -625,6 +625,10 @@ static botprediction_t *K_CreateBotPrediction(player_t *player) for (i = 0; i < wp->numnextwaypoints; i++) { + if (!K_GetWaypointIsEnabled(wp->nextwaypoints[i])) + { + continue; + } if (K_GetWaypointIsShortcut(wp->nextwaypoints[i]) && !K_BotCanTakeCut(player)) { diff --git a/src/k_kart.c b/src/k_kart.c index 0d87dbe12..c8a5ba147 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -6295,6 +6295,11 @@ static waypoint_t *K_GetPlayerNextWaypoint(player_t *player) { for (i = 0U; i < waypoint->numnextwaypoints; i++) { + if (!K_GetWaypointIsEnabled(waypoint->nextwaypoints[i])) + { + continue; + } + if (K_PlayerUsesBotMovement(player) == true && K_GetWaypointIsShortcut(waypoint->nextwaypoints[i]) == true && K_BotCanTakeCut(player) == false) @@ -6350,6 +6355,11 @@ static waypoint_t *K_GetPlayerNextWaypoint(player_t *player) { for (i = 0U; i < waypoint->numprevwaypoints; i++) { + if (!K_GetWaypointIsEnabled(waypoint->prevwaypoints[i])) + { + continue; + } + angletowaypoint = R_PointToAngle2( player->mo->x, player->mo->y, waypoint->prevwaypoints[i]->mobj->x, waypoint->prevwaypoints[i]->mobj->y); diff --git a/src/k_waypoint.c b/src/k_waypoint.c index 73f8de23d..3e3dee582 100644 --- a/src/k_waypoint.c +++ b/src/k_waypoint.c @@ -280,6 +280,11 @@ waypoint_t *K_GetBestWaypointForMobj(mobj_t *const mobj) checkwaypoint = &waypointheap[i]; + if (!K_GetWaypointIsEnabled(checkwaypoint)) + { + continue; + } + checkdist = P_AproxDistance( (mobj->x / FRACUNIT) - (checkwaypoint->mobj->x / FRACUNIT), (mobj->y / FRACUNIT) - (checkwaypoint->mobj->y / FRACUNIT));