From 23ca6b1326840fed983cc71ca505e970aa64fbec Mon Sep 17 00:00:00 2001 From: NepDisk <16447892+NepDisk@users.noreply.github.com> Date: Sat, 3 Aug 2024 02:58:02 -0400 Subject: [PATCH] Give bots thier own non localangle dependent turning code --- src/p_user.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/p_user.c b/src/p_user.c index e86c55e33..8a2a62a0b 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -2064,6 +2064,35 @@ static void P_UpdatePlayerAngle(player_t *player) } } +static void P_UpdateBotAngle(player_t* player) +{ + angle_t angleChange = K_GetKartTurnValue(player, player->cmd.turning) << TICCMD_REDUCE; + player->steering = player->cmd.turning; + UINT8 i; + + P_SetPlayerAngle(player, player->angleturn + angleChange); + player->mo->angle = player->angleturn; + + if (!cv_allowmlook.value || player->spectator == false) + { + player->aiming = 0; + } + else + { + player->aiming += (player->cmd.aiming << TICCMD_REDUCE); + player->aiming = G_ClipAimingPitch((INT32*) &player->aiming); + } + + for (i = 0; i <= r_splitscreen; i++) + { + if (player == &players[displayplayers[i]]) + { + localaiming[i] = player->aiming; + break; + } + } +} + // // P_SpectatorMovement // @@ -2136,7 +2165,10 @@ void P_MovePlayer(player_t *player) // MOVEMENT CODE // ////////////////////// - P_UpdatePlayerAngle(player); + if (K_PlayerUsesBotMovement(player)) + P_UpdateBotAngle(player); + else + P_UpdatePlayerAngle(player); ticruned++; if (!(cmd->flags & TICCMD_RECEIVED))