Merge branch 'replay-camera-update' into 'next'

Make the replay camera follow the player

See merge request STJr/SRB2!1243
This commit is contained in:
James R 2020-11-22 17:23:38 -05:00
commit bec85c033a
3 changed files with 14 additions and 1 deletions

View file

@ -374,6 +374,7 @@ consvar_t cv_sleep = CVAR_INIT ("cpusleep", "1", CV_SAVE, sleeping_cons_t, NULL)
static CV_PossibleValue_t perfstats_cons_t[] = {
{0, "Off"}, {1, "Rendering"}, {2, "Logic"}, {3, "ThinkFrame"}, {0, NULL}};
consvar_t cv_perfstats = CVAR_INIT ("perfstats", "Off", 0, perfstats_cons_t, NULL);
consvar_t cv_freedemocamera = CVAR_INIT("freedemocamera", "Off", CV_SAVE, CV_OnOff, NULL);
char timedemo_name[256];
boolean timedemo_csv;
@ -876,6 +877,8 @@ void D_RegisterClientCommands(void)
// CV_RegisterVar(&cv_grid);
// CV_RegisterVar(&cv_snapto);
CV_RegisterVar(&cv_freedemocamera);
// add cheat commands
COM_AddCommand("noclip", Command_CheatNoClip_f);
COM_AddCommand("god", Command_CheatGod_f);

View file

@ -118,6 +118,8 @@ extern boolean timedemo_csv;
extern char timedemo_csv_id[256];
extern boolean timedemo_quit;
extern consvar_t cv_freedemocamera;
typedef enum
{
XD_NAMEANDCOLOR = 1,

View file

@ -643,7 +643,15 @@ void P_Ticker(boolean run)
if (demorecording)
G_WriteDemoTiccmd(&players[consoleplayer].cmd, 0);
if (demoplayback)
G_ReadDemoTiccmd(&players[consoleplayer].cmd, 0);
{
player_t* p = &players[consoleplayer];
G_ReadDemoTiccmd(&p->cmd, 0);
if (!cv_freedemocamera.value)
{
P_ForceLocalAngle(p, p->cmd.angleturn << 16);
localaiming = p->aiming;
}
}
ps_lua_mobjhooks = 0;
ps_checkposition_calls = 0;