mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Add K_DirectorIsAvailable
Fixes director not working correctly if there are duplicates in displayplayers.
This commit is contained in:
parent
d020c9faaa
commit
8b79689d81
4 changed files with 10 additions and 2 deletions
|
|
@ -245,7 +245,7 @@ class TiccmdBuilder
|
|||
|
||||
bool director_input()
|
||||
{
|
||||
if (demo.freecam || G_IsPartyLocal(displayplayers[forplayer()]) == true)
|
||||
if (demo.freecam || !K_DirectorIsAvailable(viewnum))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include "k_director.h"
|
||||
#include "d_netcmd.h"
|
||||
#include "p_local.h"
|
||||
#include "g_party.h"
|
||||
|
||||
#define SWITCHTIME TICRATE * 5 // cooldown between unforced switches
|
||||
#define BOREDOMTIME 3 * TICRATE / 2 // how long until players considered far apart?
|
||||
|
|
@ -322,3 +323,9 @@ void K_ToggleDirector(boolean active)
|
|||
|
||||
directorinfo.active = active;
|
||||
}
|
||||
|
||||
boolean K_DirectorIsAvailable(UINT8 viewnum)
|
||||
{
|
||||
return viewnum <= r_splitscreen && viewnum < G_PartySize(consoleplayer) &&
|
||||
displayplayers[viewnum] != G_PartyMember(consoleplayer, viewnum);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ void K_UpdateDirector(void);
|
|||
void K_DrawDirectorDebugger(void);
|
||||
void K_DirectorFollowAttack(player_t *player, mobj_t *inflictor, mobj_t *source);
|
||||
void K_ToggleDirector(boolean active);
|
||||
boolean K_DirectorIsAvailable(UINT8 viewnum);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
|
|
|
|||
|
|
@ -5618,7 +5618,7 @@ void K_drawKartHUD(void)
|
|||
|
||||
K_drawKartPowerUps();
|
||||
|
||||
if (G_IsPartyLocal(displayplayers[viewnum]) == false)
|
||||
if (K_DirectorIsAvailable(viewnum) == true)
|
||||
{
|
||||
K_drawDirectorHUD();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue