ref: 9e3418c42b1e5d8dd83778b529bf5ed11fc7f281
parent: 0a29eddd798e0722b74d0653fcd293b977cb5704
author: Simon Howard <[email protected]>
date: Thu Aug 31 14:14:03 EDT 2006
Add display.c with missing ConfigDisplay and multiplayer.c with multiplayer game start window. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 584
--- /dev/null
+++ b/setup/display.c
@@ -1,0 +1,24 @@
+#include "textscreen.h"
+
+static int vidmode = 1;
+static int fullscreen = 0;
+static int grabmouse = 1;
+
+static char *modes[] = { "320x200", "640x400" };
+
+void ConfigDisplay(void)
+{
+ txt_window_t *window;
+ txt_table_t *box;
+
+ window = TXT_NewWindow("Display Configuration");
+
+ box = TXT_NewTable(2);
+ TXT_AddWidget(box, TXT_NewLabel("Screen mode: "));
+ TXT_AddWidget(box, TXT_NewDropdownList(&vidmode, modes, 2));
+ TXT_AddWidget(window, box);
+
+ TXT_AddWidget(window, TXT_NewCheckBox("Fullscreen", &fullscreen));
+ TXT_AddWidget(window, TXT_NewCheckBox("Grab mouse", &grabmouse));
+}
+
--- /dev/null
+++ b/setup/multiplayer.c
@@ -1,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));
+
+}
+