summaryrefslogtreecommitdiff
path: root/setup/multiplayer.c
diff options
context:
space:
mode:
authorSimon Howard2006-08-31 18:14:03 +0000
committerSimon Howard2006-08-31 18:14:03 +0000
commit9e3418c42b1e5d8dd83778b529bf5ed11fc7f281 (patch)
tree66f3b8aa3794e1c190acd979a57dd4af459eb7ba /setup/multiplayer.c
parent0a29eddd798e0722b74d0653fcd293b977cb5704 (diff)
downloadchocolate-doom-9e3418c42b1e5d8dd83778b529bf5ed11fc7f281.tar.gz
chocolate-doom-9e3418c42b1e5d8dd83778b529bf5ed11fc7f281.tar.bz2
chocolate-doom-9e3418c42b1e5d8dd83778b529bf5ed11fc7f281.zip
Add display.c with missing ConfigDisplay and multiplayer.c with
multiplayer game start window. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 584
Diffstat (limited to 'setup/multiplayer.c')
-rw-r--r--setup/multiplayer.c110
1 files changed, 110 insertions, 0 deletions
diff --git a/setup/multiplayer.c b/setup/multiplayer.c
new file mode 100644
index 00000000..8e9a2e6b
--- /dev/null
+++ b/setup/multiplayer.c
@@ -0,0 +1,110 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "textscreen.h"
+
+#define NUM_WADS 10
+
+static char *skills[] =
+{
+ "I'm too young to die!",
+ "Hey, not too rough.",
+ "Hurt me plenty.",
+ "Ultra-violence",
+ "NIGHTMARE!",
+};
+
+static char *gamemodes[] =
+{
+ "Co-operative",
+ "Deathmatch",
+ "Deathmatch 2.0",
+};
+
+char *wads[NUM_WADS] = {};
+int skill = 0;
+int nomonsters = 0;
+int deathmatch = 0;
+int fast = 0;
+int respawn = 0;
+int udpport = 4815;
+
+static void StartGame(void)
+{
+ printf("Now we start the game.\n");
+ exit(0);
+}
+
+static txt_window_action_t *StartGameAction(void)
+{
+ txt_window_action_t *action;
+
+ action = TXT_NewWindowAction(KEY_F10, "Start");
+ TXT_SignalConnect(action, "pressed", StartGame, NULL);
+
+ return action;
+}
+
+static void OpenWadsWindow(void)
+{
+ txt_window_t *window;
+ int i;
+
+ window = TXT_NewWindow("Add WADs");
+
+ for (i=0; i<NUM_WADS; ++i)
+ {
+ TXT_AddWidget(window, TXT_NewInputBox(&wads[i], 40));
+ }
+}
+
+static txt_window_action_t *WadWindowAction(void)
+{
+ txt_window_action_t *action;
+
+ action = TXT_NewWindowAction('w', "Add WADs");
+ TXT_SignalConnect(action, "pressed", OpenWadsWindow, NULL);
+
+ return action;
+}
+
+void StartMultiGame(void)
+{
+ txt_window_t *window;
+ txt_table_t *table;
+
+ window = TXT_NewWindow("Start multiplayer game");
+
+ TXT_SetWindowAction(window, TXT_HORIZ_CENTER, WadWindowAction());
+ TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, StartGameAction());
+
+ table = TXT_NewTable(2);
+ TXT_AddWidget(table, TXT_NewStrut(12, 0));
+ TXT_AddWidget(table, TXT_NewStrut(12, 0));
+ TXT_AddWidget(table, TXT_NewLabel("Skill"));
+ TXT_AddWidget(table, TXT_NewDropdownList(&skill, skills, 5));
+ TXT_AddWidget(table, TXT_NewLabel("Game type"));
+ TXT_AddWidget(table, TXT_NewDropdownList(&deathmatch, gamemodes, 3));
+ TXT_AddWidget(table, TXT_NewLabel("UDP port"));
+ TXT_AddWidget(table, TXT_NewIntInputBox(&udpport, 5));
+
+ TXT_AddWidget(window, table);
+
+ TXT_AddWidget(window, TXT_NewSeparator("Level warp"));
+
+ table = TXT_NewTable(2);
+ TXT_AddWidget(table, TXT_NewStrut(12, 0));
+ TXT_AddWidget(table, TXT_NewStrut(12, 0));
+ TXT_AddWidget(table, TXT_NewLabel("Doom 1"));
+ TXT_AddWidget(table, TXT_NewButton("E1M1"));
+ TXT_AddWidget(table, TXT_NewLabel("Doom 2"));
+ TXT_AddWidget(table, TXT_NewButton("MAP01"));
+ TXT_AddWidget(window, table);
+
+ TXT_AddWidget(window, TXT_NewSeparator("Monsters"));
+ TXT_AddWidget(window, TXT_NewInvertedCheckBox("Monsters", &nomonsters));
+ TXT_AddWidget(window, TXT_NewCheckBox("Fast monsters", &fast));
+ TXT_AddWidget(window, TXT_NewCheckBox("Respawning monsters", &respawn));
+
+}
+