From 3dff612f3c2901bb0e5c4bc833cff3fb8851e919 Mon Sep 17 00:00:00 2001 From: Riku Salminen <38985578+Riku-S@users.noreply.github.com> Date: Tue, 10 Nov 2020 13:06:47 +0200 Subject: [PATCH] Try to add cvars for old camera --- src/d_netcmd.c | 2 ++ src/p_tick.c | 8 ++++++-- src/p_tick.h | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 87abd596a..a113460f5 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -880,6 +880,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); diff --git a/src/p_tick.c b/src/p_tick.c index 90f410f9d..24d5005e1 100644 --- a/src/p_tick.c +++ b/src/p_tick.c @@ -39,6 +39,7 @@ tic_t leveltime; // The entries will behave like both the head and tail of the lists. thinker_t thlist[NUM_THINKERLISTS]; +consvar_t cv_freedemocamera = {"freedemocamera", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; void Command_Numthinkers_f(void) { @@ -646,8 +647,11 @@ void P_Ticker(boolean run) { player_t* p = &players[consoleplayer]; G_ReadDemoTiccmd(&p->cmd, 0); - P_ForceLocalAngle(p, p->cmd.angleturn << 16); - localaiming = p->aiming; + if (!cv_freedemocamera.value) + { + P_ForceLocalAngle(p, p->cmd.angleturn << 16); + localaiming = p->aiming; + } } ps_lua_mobjhooks = 0; diff --git a/src/p_tick.h b/src/p_tick.h index 1fb88f3f2..3b04a427a 100644 --- a/src/p_tick.h +++ b/src/p_tick.h @@ -19,6 +19,7 @@ #endif extern tic_t leveltime; +extern consvar_t cv_freedemocamera; // Called by G_Ticker. Carries out all thinking of enemies and players. void Command_Numthinkers_f(void);