Make bots use the same turncode as players: Redone
No more extra ticcmd bits so its less complicated
This commit is contained in:
parent
47a5ed9b4b
commit
9ee65fc0e7
2 changed files with 6 additions and 14 deletions
|
|
@ -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
|
||||
|
|
|
|||
16
src/p_user.c
16
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;
|
||||
|
|
|
|||
Loading…
Reference in a new issue