foxygit / doom Log in
commit 11035e797c56d66d3afebdc5041a7fce26aba36d
Author:     Fabian Greffrath <fabian@greffrath.com>
AuthorDate: Fri Sep 15 21:29:29 2017 +0200
Commit:     Fabian Greffrath <fabian@greffrath.com>
CommitDate: Fri Sep 15 21:29:29 2017 +0200

    add a -shorttics command line option

    I was really surprised today when ZeroMaster010 told me that he always
    has to start Doom with the -record parameter to practice for his
    record runs, because there is no other way to enable low-resolution
    turning during normal play.

    Why is that? I mean, we have a command line switch to enable
    full-resolution turning even when recording a demo, so why shouldn't
    there be a switch to force low-esolution turning even when not
    recording a demo. PrBoom+ already has this switch.
---
 src/doom/d_net.c    | 10 ++++++----
 src/net_dedicated.c |  2 +-
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/doom/d_net.c b/src/doom/d_net.c
index 20f56b27..19dc1e6c 100644
--- a/src/doom/d_net.c
+++ b/src/doom/d_net.c
@@ -152,8 +152,9 @@ static void SaveGameSettings(net_gamesettings_t *settings)
     settings->respawn_monsters = respawnparm;
     settings->timelimit = timelimit;

-    settings->lowres_turn = M_CheckParm("-record") > 0
-                         && M_CheckParm("-longtics") == 0;
+    settings->lowres_turn = (M_CheckParm("-record") > 0
+                          && M_CheckParm("-longtics") == 0)
+                          || M_CheckParm("-shorttics") > 0;
 }

 static void InitConnectData(net_connect_data_t *connect_data)
@@ -196,8 +197,9 @@ static void InitConnectData(net_connect_data_t *connect_data)

     // Are we recording a demo? Possibly set lowres turn mode

-    connect_data->lowres_turn = M_CheckParm("-record") > 0
-                             && M_CheckParm("-longtics") == 0;
+    connect_data->lowres_turn = (M_CheckParm("-record") > 0
+                              && M_CheckParm("-longtics") == 0)
+                              || M_CheckParm("-shorttics") > 0;

     // Read checksums of our WAD directory and dehacked information

diff --git a/src/net_dedicated.c b/src/net_dedicated.c
index 7d4ea6f5..2a5deede 100644
--- a/src/net_dedicated.c
+++ b/src/net_dedicated.c
@@ -41,7 +41,7 @@ static char *not_dedicated_options[] =
     "-deh", "-iwad", "-cdrom", "-gameversion", "-nomonsters", "-respawn",
     "-fast", "-altdeath", "-deathmatch", "-turbo", "-merge", "-af", "-as",
     "-aa", "-file", "-wart", "-skill", "-episode", "-timer", "-avg", "-warp",
-    "-loadgame", "-longtics", "-extratics", "-dup", NULL,
+    "-loadgame", "-longtics", "-extratics", "-dup", "-shorttics", NULL,
 };

 static void CheckForClientOptions(void)