Make bots use the same turncode as players: Redone

No more extra ticcmd bits so its less complicated
This commit is contained in:
NepDisk 2025-07-16 10:22:10 -04:00
parent 47a5ed9b4b
commit 9ee65fc0e7
2 changed files with 6 additions and 14 deletions

View file

@ -1669,6 +1669,8 @@ static void K_BuildBotTiccmdNormal(player_t *player, ticcmd_t *cmd)
{
// You're commiting to your turn, you're allowed!
cmd->turning = turnamt;
if (P_CanPlayerTurn(player, cmd))
cmd->angle += K_GetKartTurnValue(player, turnamt);
}
}
@ -1704,6 +1706,8 @@ void K_BuildBotTiccmd(
return;
}
cmd->angle = player->mo->angle >> TICCMD_REDUCE;
// Complete override of all ticcmd functionality.
// May add more hooks to individual pieces of bot ticcmd,
// but this should always be here so anyone can roll

View file

@ -2086,13 +2086,6 @@ static void P_UpdatePlayerAngle(player_t *player)
P_UpdatePlayerAiming(player);
}
static void P_UpdateBotAngle(player_t* player)
{
angle_t angleChange = K_GetKartTurnValue(player, player->cmd.turning) << TICCMD_REDUCE;
P_SetPlayerAngle(player, player->angleturn + angleChange);
player->mo->angle = player->angleturn;
}
//
// P_MovePlayer
void P_MovePlayer(player_t *player)
@ -2126,10 +2119,7 @@ void P_MovePlayer(player_t *player)
// MOVEMENT CODE //
//////////////////////
if (K_PlayerUsesBotMovement(player))
P_UpdateBotAngle(player);
else
P_UpdatePlayerAngle(player);
P_UpdatePlayerAngle(player);
ticruned++;
if (!(cmd->flags & TICCMD_RECEIVED))
@ -2924,9 +2914,7 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
if (demo.playback)
{
if (K_PlayerUsesBotMovement(player))
focusangle = mo->angle; // Bots don't even send cmd angle; they always turn where they want to!
else if (leveltime <= introtime)
if (leveltime <= introtime)
focusangle = mo->angle; // Can't turn yet. P_UpdatePlayerAngle will ignore angle in stale ticcmds, chasecam should too.
else
focusangle = player->cmd.angle << TICCMD_REDUCE;