foxygit / doom Log in
commit 80fbe1a1d2fc32d13082a816a5521660318b0101
Author:     Simon Howard <fraggle@gmail.com>
AuthorDate: Sat Oct 29 23:55:30 2011 +0000
Commit:     Simon Howard <fraggle@gmail.com>
CommitDate: Sat Oct 29 23:55:30 2011 +0000

    Update Strife multiplayer behavior to always use altdeath mode in
    netgames, and remove code for -deathmatch parameter. Update setup tool
    to remove game type dropdown when setting up a Strife game.

    Subversion-branch: /branches/v2-branch
    Subversion-revision: 2470
---
 src/setup/multiplayer.c |  8 +++++++-
 src/strife/d_main.c     | 14 ++++----------
 src/strife/d_net.c      | 14 ++++++++++++--
 3 files changed, 23 insertions(+), 13 deletions(-)

diff --git a/src/setup/multiplayer.c b/src/setup/multiplayer.c
index b759f999..6d3103e8 100644
--- a/src/setup/multiplayer.c
+++ b/src/setup/multiplayer.c
@@ -689,9 +689,15 @@ static void StartGameMenu(char *window_title, int multiplayer)

     if (multiplayer)
     {
-        TXT_AddWidgets(gameopt_table,
+        if (gamemission != strife)
+        {
+            TXT_AddWidgets(gameopt_table,
                TXT_NewLabel("Game type"),
                TXT_NewDropdownList(&deathmatch, gamemodes, num_mult_types),
+               NULL);
+        }
+
+        TXT_AddWidgets(gameopt_table,
                TXT_NewLabel("Time limit"),
                TXT_NewHorizBox(TXT_NewIntInputBox(&timer, 2),
                                TXT_NewLabel("minutes"),
diff --git a/src/strife/d_main.c b/src/strife/d_main.c
index 89f99648..816cbd7b 100644
--- a/src/strife/d_main.c
+++ b/src/strife/d_main.c
@@ -1507,21 +1507,15 @@ void D_DoomMain (void)
     if(devparm)
         showintro = false;

-    //!
-    // @category net
-    // @vanilla
-    //
-    // Start a deathmatch game.
-    //
-
-    if (M_CheckParm ("-deathmatch"))
-        deathmatch = 1;
+    // Note: Strife *only* supports -altdeath mode. Vanilla
+    // Strife does not understand the -deathmatch command
+    // line parameter.

     //!
     // @category net
     // @vanilla
     //
-    // Start a deathmatch 2.0 game.  Weapons do not stay in place and
+    // Start a deathmatch game.  Weapons do not stay in place and
     // all items respawn after 30 seconds.
     //

diff --git a/src/strife/d_net.c b/src/strife/d_net.c
index 656d1393..021bbf91 100644
--- a/src/strife/d_net.c
+++ b/src/strife/d_net.c
@@ -278,8 +278,17 @@ void D_CheckNetGame (void)

     LoadGameSettings(&settings, &connect_data);

-    DEH_printf("startskill %i  deathmatch: %i  startmap: %i  startepisode: %i\n",
-               startskill, deathmatch, startmap, startepisode);
+    // Strife netgames are *always* deathmatch,
+    // specifically altdeath mode.
+
+    if (netgame)
+    {
+        deathmatch = 2;
+    }
+
+    DEH_printf("startmap: %i, skill: %i, enemies: %i, random: %i\n",
+               startmap, startskill, !nomonsters, 0 /* ??? */);
+

     DEH_printf("player %i of %i (%i nodes)\n",
                consoleplayer+1, settings.num_players, settings.num_players);
@@ -304,3 +313,4 @@ void D_CheckNetGame (void)
         }
     }
 }
+