diff --git a/src/k_bot.cpp b/src/k_bot.cpp index 48d4a9dc4..5369223b9 100644 --- a/src/k_bot.cpp +++ b/src/k_bot.cpp @@ -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 diff --git a/src/p_user.c b/src/p_user.c index a1ce40a40..8a5bda468 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -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;