shithub: choc

Download patch

ref: 9e3418c42b1e5d8dd83778b529bf5ed11fc7f281
parent: 0a29eddd798e0722b74d0653fcd293b977cb5704
author: Simon Howard <fraggle@gmail.com>
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));
+
+}
+