blankart/src/k_director.h
NepDisk aa48a92174 Make the director force switch to a sink user
Lets catch rare high moments™️ in action.
2025-10-28 22:23:28 -04:00

44 lines
1.5 KiB
C

// BLANKART
//-----------------------------------------------------------------------------
// Copyright (C) 2024 by AJ "Tyron" Martinez.
// Copyright (C) 2024 by James Robert Roman.
//
// This program is free software distributed under the
// terms of the GNU General Public License, version 2.
// See the 'LICENSE' file for more details.
//-----------------------------------------------------------------------------
/// \file k_director.h
/// \brief SRB2kart automatic spectator camera.
#ifndef __K_DIRECTOR_H__
#define __K_DIRECTOR_H__
#ifdef __cplusplus
extern "C" {
#endif
#include "doomtype.h"
#include "doomdef.h"
#define DIRECTORSWITCHTIME TICRATE * 5 // cooldown between unforced switches
#define DIRECTORBOREDOMTIME 3 * TICRATE / 2 // how long until players considered far apart?
#define DIRECTORTRANSFERTIME TICRATE // how long to delay reaction shots?
#define DIRECTORBREAKAWAYDIST 2000 // how *far* until players considered far apart?
#define DIRECTORWALKBACKDIST 400 // how close should a trailing player be before we switch?
#define DIRECTORPINCHDIST 20000 // how close should the leader be to be considered "end of race"?
boolean K_DirectorIsAvailable(void);
void K_InitDirector(void);
void K_UpdateDirector(void);
void K_DrawDirectorDebugger(void);
void K_DirectorFollowAttack(player_t *player, mobj_t *inflictor, mobj_t *source);
void K_ToggleDirector(void);
void K_DirectorSwitch(INT32 player, boolean force);
void K_DirectorForceSwitch(INT32 player, INT32 time);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // __K_DIRECTOR_H__