diff options
-rw-r--r-- | setup/display.c | 24 | ||||
-rw-r--r-- | setup/multiplayer.c | 110 |
2 files changed, 134 insertions, 0 deletions
diff --git a/setup/display.c b/setup/display.c new file mode 100644 index 00000000..f4250590 --- /dev/null +++ b/setup/display.c @@ -0,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)); +} + 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)); + +} + |