diff --git a/src/netcode/d_netcmd.c b/src/netcode/d_netcmd.c index 85b1236110c8e2955a7cf52f0786ef6713144869..924d873e66f2a3e06c86574d3c2483037eed8515 100644 --- a/src/netcode/d_netcmd.c +++ b/src/netcode/d_netcmd.c @@ -399,6 +399,8 @@ consvar_t cv_freedemocamera = CVAR_INIT("freedemocamera", "Off", NULL, CV_SAVE, // NOTE: this should be in hw_main.c, but we can't put it there as it breaks dedicated build consvar_t cv_glallowshaders = CVAR_INIT ("gr_allowcustomshaders", "On", "If on, clients are allowed to use custom OpenGL shaders", CV_NETVAR, CV_OnOff, NULL); +consvar_t cv_preticker = CVAR_INIT ("preticker", "On", "If P_Ticker should be invoked twice before map starts, disabling improves load times and fixes map change bugs but can break some addons", CV_NETVAR, CV_OnOff, NULL); + char timedemo_name[256]; boolean timedemo_csv; char timedemo_csv_id[256]; @@ -642,6 +644,7 @@ void D_RegisterServerCommands(void) CV_RegisterVar(&cv_chatspamprotection); CV_RegisterVar(&cv_chatspamspeed); CV_RegisterVar(&cv_chatspamburst); + CV_RegisterVar(&cv_preticker); } // ========================================================================= diff --git a/src/netcode/d_netcmd.h b/src/netcode/d_netcmd.h index c11575575fc025bcce4ad755651e3b77493233db..9d995fd2553d44d109ac0daaab6344afd4e2ad98 100644 --- a/src/netcode/d_netcmd.h +++ b/src/netcode/d_netcmd.h @@ -116,6 +116,8 @@ extern consvar_t cv_perfstats; extern consvar_t cv_ps_samplesize; extern consvar_t cv_ps_descriptor; +extern consvar_t cv_preticker; + extern char timedemo_name[256]; extern boolean timedemo_csv; extern char timedemo_csv_id[256]; diff --git a/src/p_setup.c b/src/p_setup.c index d8e4e5d67c06b8d3bb9df58d53ad495458c3818d..ecc319e2596133a48b9a5f38ea996ae28278a1ab 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -8152,7 +8152,8 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate) if (playeringame[i]) G_CopyTiccmd(&players[i].cmd, &netcmds[buf][i], 1); } - P_PreTicker(2); + if (cv_preticker.value) + P_PreTicker(2); P_MapStart(); // just in case MapLoad modifies tmthing LUA_HookInt(gamemap, HOOK(MapLoad)); P_MapEnd(); // just in case MapLoad modifies tmthing