diff options
-rw-r--r-- | setup/compatibility.c | 10 | ||||
-rw-r--r-- | setup/display.c | 46 | ||||
-rw-r--r-- | setup/keyboard.c | 43 | ||||
-rw-r--r-- | setup/mainmenu.c | 66 | ||||
-rw-r--r-- | setup/mouse.c | 54 | ||||
-rw-r--r-- | setup/multiplayer.c | 112 | ||||
-rw-r--r-- | setup/sound.c | 63 |
7 files changed, 181 insertions, 213 deletions
diff --git a/setup/compatibility.c b/setup/compatibility.c index 4a3c1206..422f2280 100644 --- a/setup/compatibility.c +++ b/setup/compatibility.c @@ -34,9 +34,11 @@ void CompatibilitySettings(void) window = TXT_NewWindow("Compatibility"); - TXT_AddWidget(window, TXT_NewCheckBox("Vanilla savegame limit", - &vanilla_savegame_limit)); - TXT_AddWidget(window, TXT_NewCheckBox("Vanilla demo limit", - &vanilla_demo_limit)); + TXT_AddWidgets(window, + TXT_NewCheckBox("Vanilla savegame limit", + &vanilla_savegame_limit), + TXT_NewCheckBox("Vanilla demo limit", + &vanilla_demo_limit), + NULL); } diff --git a/setup/display.c b/setup/display.c index 930c14ae..2672c7d8 100644 --- a/setup/display.c +++ b/setup/display.c @@ -81,7 +81,9 @@ static void ModeSelected(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(mode)) void ConfigDisplay(void) { txt_window_t *window; - txt_table_t *table; + txt_table_t *windowed_table; + txt_table_t *fullscreen_table; + txt_table_t *misc_table; txt_radiobutton_t *rbutton; int i; @@ -93,43 +95,39 @@ void ConfigDisplay(void) window = TXT_NewWindow("Display Configuration"); - TXT_AddWidget(window, TXT_NewSeparator("Windowed modes")); - - table = TXT_NewTable(2); - TXT_SetColumnWidths(table, 14, 14); + TXT_AddWidgets(window, + TXT_NewSeparator("Fullscreen modes"), + fullscreen_table = TXT_NewTable(2), + TXT_NewSeparator("Windowed modes"), + windowed_table = TXT_NewTable(2), + TXT_NewSeparator("Misc."), + TXT_NewCheckBox("Show ENDOOM screen", &show_endoom), + misc_table = TXT_NewTable(2), + NULL); + + TXT_SetColumnWidths(windowed_table, 14, 14); for (i=0; modes[i].fullscreen == 0; ++i) { rbutton = TXT_NewRadioButton(modes[i].description, &vidmode, i); - TXT_AddWidget(table, rbutton); + TXT_AddWidget(windowed_table, rbutton); TXT_SignalConnect(rbutton, "selected", ModeSelected, &modes[i]); } - TXT_AddWidget(window, table); - - TXT_AddWidget(window, TXT_NewSeparator("Fullscreen modes")); - - table = TXT_NewTable(2); - TXT_SetColumnWidths(table, 14, 14); + TXT_SetColumnWidths(fullscreen_table, 14, 14); for (; modes[i].description != NULL; ++i) { rbutton = TXT_NewRadioButton(modes[i].description, &vidmode, i); - TXT_AddWidget(table, rbutton); + TXT_AddWidget(fullscreen_table, rbutton); TXT_SignalConnect(rbutton, "selected", ModeSelected, &modes[i]); } - TXT_AddWidget(window, table); - - TXT_AddWidget(window, TXT_NewSeparator("Misc.")); - TXT_AddWidget(window, TXT_NewCheckBox("Show ENDOOM screen", &show_endoom)); - - table = TXT_NewTable(2); - - TXT_SetColumnWidths(table, 22, 5); - TXT_AddWidget(table, TXT_NewLabel("Startup delay (ms)")); - TXT_AddWidget(table, TXT_NewIntInputBox(&startup_delay, 5)); + TXT_SetColumnWidths(misc_table, 22, 5); - TXT_AddWidget(window, table); + TXT_AddWidgets(misc_table, + TXT_NewLabel("Startup delay (ms)"), + TXT_NewIntInputBox(&startup_delay, 5), + NULL); } diff --git a/setup/keyboard.c b/setup/keyboard.c index e6ad242d..1c5f38ee 100644 --- a/setup/keyboard.c +++ b/setup/keyboard.c @@ -72,36 +72,35 @@ static void AddKeyControl(txt_table_t *table, char *name, int *var) void ConfigKeyboard(void) { txt_window_t *window; - txt_table_t *table; + txt_table_t *movement_table; + txt_table_t *action_table; window = TXT_NewWindow("Keyboard configuration"); - TXT_AddWidget(window, TXT_NewSeparator("Movement")); + TXT_AddWidgets(window, + TXT_NewSeparator("Movement"), + movement_table = TXT_NewTable(2), + TXT_NewCheckBox("Always run", &always_run), - table = TXT_NewTable(2); - TXT_SetColumnWidths(table, 20, 8); + TXT_NewSeparator("Action"), + action_table = TXT_NewTable(2), + NULL); - AddKeyControl(table, "Move Forward", &key_up); - AddKeyControl(table, "Move Backward", &key_down); - AddKeyControl(table, "Turn Left", &key_left); - AddKeyControl(table, "Turn Right", &key_right); - AddKeyControl(table, "Strafe Left", &key_strafeleft); - AddKeyControl(table, "Strafe Right", &key_straferight); - AddKeyControl(table, "Speed On", &key_speed); - AddKeyControl(table, "Strafe On", &key_strafe); + TXT_SetColumnWidths(movement_table, 20, 8); - TXT_AddWidget(window, table); - TXT_AddWidget(window, TXT_NewCheckBox("Always run", &always_run)); + AddKeyControl(movement_table, "Move Forward", &key_up); + AddKeyControl(movement_table, "Move Backward", &key_down); + AddKeyControl(movement_table, "Turn Left", &key_left); + AddKeyControl(movement_table, "Turn Right", &key_right); + AddKeyControl(movement_table, "Strafe Left", &key_strafeleft); + AddKeyControl(movement_table, "Strafe Right", &key_straferight); + AddKeyControl(movement_table, "Speed On", &key_speed); + AddKeyControl(movement_table, "Strafe On", &key_strafe); - TXT_AddWidget(window, TXT_NewSeparator("Action")); + TXT_SetColumnWidths(action_table, 20, 8); - table = TXT_NewTable(2); - TXT_SetColumnWidths(table, 20, 8); - - AddKeyControl(table, "Use", &key_use); - AddKeyControl(table, "Fire", &key_fire); - - TXT_AddWidget(window, table); + AddKeyControl(action_table, "Use", &key_use); + AddKeyControl(action_table, "Fire", &key_fire); TXT_SetWindowAction(window, TXT_HORIZ_CENTER, TestConfigAction()); } diff --git a/setup/mainmenu.c b/setup/mainmenu.c index 0343fcff..7aaef574 100644 --- a/setup/mainmenu.c +++ b/setup/mainmenu.c @@ -37,23 +37,22 @@ void QuitConfirm(void *unused1, void *unused2) { txt_window_t *window; txt_label_t *label; - txt_button_t *button; + txt_button_t *yes_button; + txt_button_t *no_button; window = TXT_NewWindow(NULL); - label = TXT_NewLabel("Save settings and\n" - "quit setup?"); - TXT_AddWidget(window, label); - TXT_AddWidget(window, TXT_NewStrut(24, 0)); - TXT_SetWidgetAlign(label, TXT_HORIZ_CENTER); - - button = TXT_NewButton2(" Yes ", DoQuit, DoQuit); - TXT_SetWidgetAlign(button, TXT_HORIZ_CENTER); - TXT_AddWidget(window, button); + TXT_AddWidgets(window, + label = TXT_NewLabel("Save settings and\n" + "quit setup?"), + TXT_NewStrut(24, 0), + yes_button = TXT_NewButton2(" Yes ", DoQuit, DoQuit), + no_button = TXT_NewButton2(" No ", DoQuit, NULL), + NULL); - button = TXT_NewButton2(" No ", DoQuit, NULL); - TXT_SetWidgetAlign(button, TXT_HORIZ_CENTER); - TXT_AddWidget(window, button); + TXT_SetWidgetAlign(label, TXT_HORIZ_CENTER); + TXT_SetWidgetAlign(yes_button, TXT_HORIZ_CENTER); + TXT_SetWidgetAlign(no_button, TXT_HORIZ_CENTER); // Only an "abort" button in the middle. TXT_SetWindowAction(window, TXT_HORIZ_LEFT, NULL); @@ -78,35 +77,18 @@ void MainMenu(void) window = TXT_NewWindow("Main Menu"); - TXT_AddWidget(window, - TXT_NewButton2("Configure display", ConfigDisplay, NULL)); - - TXT_AddWidget(window, - TXT_NewButton2("Configure keyboard", ConfigKeyboard, NULL)); - - TXT_AddWidget(window, - TXT_NewButton2("Configure mouse", ConfigMouse, NULL)); - - TXT_AddWidget(window, - TXT_NewButton2("Configure sound", ConfigSound, NULL)); - - TXT_AddWidget(window, - TXT_NewButton2("Compatibility", CompatibilitySettings, NULL)); - - TXT_AddWidget(window, - TXT_NewButton("Save parameters and launch DOOM")); - - TXT_AddWidget(window, TXT_NewStrut(0, 1)); - - TXT_AddWidget(window, - TXT_NewButton2("Start a Network game", StartMultiGame, NULL)); - - TXT_AddWidget(window, - TXT_NewButton2("Join a Network game", JoinMultiGame, NULL)); - - TXT_AddWidget(window, - TXT_NewButton2("Multiplayer configuration", - MultiplayerConfig, NULL)); + TXT_AddWidgets(window, + TXT_NewButton2("Configure display", ConfigDisplay, NULL), + TXT_NewButton2("Configure keyboard", ConfigKeyboard, NULL), + TXT_NewButton2("Configure mouse", ConfigMouse, NULL), + TXT_NewButton2("Configure sound", ConfigSound, NULL), + TXT_NewButton2("Compatibility", CompatibilitySettings, NULL), + TXT_NewButton("Save parameters and launch DOOM"), + TXT_NewStrut(0, 1), + TXT_NewButton2("Start a Network game", StartMultiGame, NULL), + TXT_NewButton2("Join a Network game", JoinMultiGame, NULL), + TXT_NewButton2("Multiplayer configuration", MultiplayerConfig, NULL), + NULL); quit_action = TXT_NewWindowAction(KEY_ESCAPE, "Quit"); TXT_SignalConnect(quit_action, "pressed", QuitConfirm, NULL); diff --git a/setup/mouse.c b/setup/mouse.c index 57b65b77..67e12b23 100644 --- a/setup/mouse.c +++ b/setup/mouse.c @@ -74,43 +74,43 @@ static void AddMouseControl(txt_table_t *table, char *label, int *var) void ConfigMouse(void) { txt_window_t *window; - txt_table_t *table; + txt_table_t *motion_table; + txt_table_t *button_table; window = TXT_NewWindow("Mouse configuration"); - TXT_AddWidget(window, TXT_NewCheckBox("Enable mouse", &use_mouse)); + TXT_AddWidgets(window, + TXT_NewCheckBox("Enable mouse", &use_mouse), + TXT_NewInvertedCheckBox("Allow vertical mouse movement", + &novert), + TXT_NewCheckBox("Grab mouse in windowed mode", + &grabmouse), - TXT_AddWidget(window, - TXT_NewInvertedCheckBox("Allow vertical mouse movement", - &novert)); - TXT_AddWidget(window, TXT_NewCheckBox("Grab mouse in windowed mode", - &grabmouse)); - - TXT_AddWidget(window, TXT_NewSeparator("Mouse motion")); + TXT_NewSeparator("Mouse motion"), + motion_table = TXT_NewTable(2), + + TXT_NewSeparator("Mouse buttons"), - table = TXT_NewTable(2); + button_table = TXT_NewTable(2), + NULL); - TXT_SetColumnWidths(table, 27, 5); - TXT_AddWidget(table, TXT_NewLabel("Speed")); - TXT_AddWidget(table, TXT_NewSpinControl(&speed, 1, 256)); - TXT_AddWidget(table, TXT_NewLabel("Acceleration")); - TXT_AddWidget(table, TXT_NewSpinControl(&accel, 1, 5)); - TXT_AddWidget(table, TXT_NewLabel("Acceleration threshold")); - TXT_AddWidget(table, TXT_NewSpinControl(&threshold, 0, 32)); + TXT_SetColumnWidths(motion_table, 27, 5); - TXT_AddWidget(window, table); - - TXT_AddWidget(window, TXT_NewSeparator("Mouse buttons")); + TXT_AddWidgets(motion_table, + TXT_NewLabel("Speed"), + TXT_NewSpinControl(&speed, 1, 256), + TXT_NewLabel("Acceleration"), + TXT_NewSpinControl(&accel, 1, 5), + TXT_NewLabel("Acceleration threshold"), + TXT_NewSpinControl(&threshold, 0, 32), + NULL); - table = TXT_NewTable(2); + TXT_SetColumnWidths(button_table, 27, 5); - TXT_SetColumnWidths(table, 27, 5); - AddMouseControl(table, "Fire weapon", &mouseb_fire); - AddMouseControl(table, "Move forward", &mouseb_forward); - AddMouseControl(table, "Strafe on", &mouseb_strafe); + AddMouseControl(button_table, "Fire weapon", &mouseb_fire); + AddMouseControl(button_table, "Move forward", &mouseb_forward); + AddMouseControl(button_table, "Strafe on", &mouseb_strafe); - TXT_AddWidget(window, table); - TXT_SetWindowAction(window, TXT_HORIZ_CENTER, TestConfigAction()); } diff --git a/setup/multiplayer.c b/setup/multiplayer.c index 12609b6c..e6a70500 100644 --- a/setup/multiplayer.c +++ b/setup/multiplayer.c @@ -249,52 +249,49 @@ static txt_window_action_t *WadWindowAction(void) void StartMultiGame(void) { txt_window_t *window; - txt_table_t *table; - txt_button_t *button; + txt_table_t *gameopt_table; + txt_table_t *advanced_table; window = TXT_NewWindow("Start multiplayer game"); + TXT_AddWidgets(window, + gameopt_table = TXT_NewTable(2), + TXT_NewSeparator("Monsters"), + TXT_NewInvertedCheckBox("Monsters", &nomonsters), + TXT_NewCheckBox("Fast monsters", &fast), + TXT_NewCheckBox("Respawning monsters", &respawn), + TXT_NewSeparator("Advanced"), + advanced_table = TXT_NewTable(2), + TXT_NewButton2("Add extra parameters...", + OpenExtraParamsWindow, NULL), + NULL); + TXT_SetWindowAction(window, TXT_HORIZ_CENTER, WadWindowAction()); TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, StartGameAction()); - table = TXT_NewTable(2); - TXT_SetColumnWidths(table, 12, 12); - 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("Level warp")); + TXT_SetColumnWidths(gameopt_table, 12, 12); + + TXT_AddWidgets(gameopt_table, + TXT_NewLabel("Skill"), + TXT_NewDropdownList(&skill, skills, 5), + TXT_NewLabel("Game type"), + TXT_NewDropdownList(&deathmatch, gamemodes, 3), + TXT_NewLabel("Level warp"), + warpbutton = TXT_NewButton2("????", LevelSelectDialog, NULL), + TXT_NewLabel("Time limit"), + TXT_NewHorizBox(TXT_NewIntInputBox(&timer, 2), + TXT_NewLabel("minutes"), + NULL), + NULL); + + TXT_SetColumnWidths(advanced_table, 12, 12); + + TXT_AddWidgets(advanced_table, + TXT_NewLabel("UDP port"), + TXT_NewIntInputBox(&udpport, 5), + NULL); - warpbutton = TXT_NewButton("????"); - TXT_AddWidget(table, warpbutton); - TXT_SignalConnect(warpbutton, "pressed", LevelSelectDialog, NULL); UpdateWarpButton(); - - TXT_AddWidget(table, TXT_NewLabel("Time limit")); - TXT_AddWidget(table, TXT_NewHorizBox(TXT_NewIntInputBox(&timer, 2), - TXT_NewLabel("minutes"), - NULL)); - - 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)); - - TXT_AddWidget(window, TXT_NewSeparator("Advanced")); - table = TXT_NewTable(2); - TXT_SetColumnWidths(table, 12, 12); - - TXT_AddWidget(table, TXT_NewLabel("UDP port")); - TXT_AddWidget(table, TXT_NewIntInputBox(&udpport, 5)); - TXT_AddWidget(window, table); - - button = TXT_NewButton("Add extra parameters..."); - TXT_SignalConnect(button, "pressed", OpenExtraParamsWindow, NULL); - TXT_AddWidget(window, button); - } void JoinMultiGame(void) @@ -303,13 +300,13 @@ void JoinMultiGame(void) window = TXT_NewWindow("Join multiplayer game"); - TXT_AddWidget(window, TXT_NewLabel("Connect to address: ")); - TXT_AddWidget(window, TXT_NewInputBox(&connect_address, 40)); - TXT_AddWidget(window, TXT_NewStrut(0, 1)); - - TXT_AddWidget(window, TXT_NewButton2("Add extra parameters...", - OpenExtraParamsWindow, NULL)); - TXT_AddWidget(window, TXT_NewButton2("Add WADs...", OpenWadsWindow, NULL)); + TXT_AddWidgets(window, + TXT_NewLabel("Connect to address: "), + TXT_NewInputBox(&connect_address, 40), + TXT_NewStrut(0, 1), + TXT_NewButton2("Add extra parameters...", OpenExtraParamsWindow, NULL), + TXT_NewButton2("Add WADs...", OpenWadsWindow, NULL), + NULL); TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, StartGameAction()); } @@ -373,16 +370,14 @@ void MultiplayerConfig(void) window = TXT_NewWindow("Multiplayer Configuration"); - TXT_AddWidget(window, TXT_NewStrut(0, 1)); - - table = TXT_NewTable(2); - - TXT_AddWidget(table, TXT_NewLabel("Player name: ")); - TXT_AddWidget(table, TXT_NewInputBox(&player_name, 25)); - - TXT_AddWidget(window, table); - TXT_AddWidget(window, TXT_NewStrut(0, 1)); - TXT_AddWidget(window, TXT_NewSeparator("Chat macros")); + TXT_AddWidgets(window, + TXT_NewStrut(0, 1), + TXT_NewHorizBox(TXT_NewLabel("Player name: "), + TXT_NewInputBox(&player_name, 25), + NULL), + TXT_NewStrut(0, 1), + TXT_NewSeparator("Chat macros"), + NULL); table = TXT_NewTable(2); @@ -392,8 +387,11 @@ void MultiplayerConfig(void) label = TXT_NewLabel(buf); TXT_SetFGColor(label, TXT_COLOR_BRIGHT_CYAN); - TXT_AddWidget(table, label); - TXT_AddWidget(table, TXT_NewInputBox(&chatmacros[i], 40)); + + TXT_AddWidgets(table, + label, + TXT_NewInputBox(&chatmacros[i], 40), + NULL); } TXT_AddWidget(window, table); diff --git a/setup/sound.c b/setup/sound.c index 0e8869d4..a96868ab 100644 --- a/setup/sound.c +++ b/setup/sound.c @@ -35,45 +35,34 @@ int music_volume = 15; void ConfigSound(void) { txt_window_t *window; - txt_table_t *table; - txt_checkbox_t *checkbox; - txt_spincontrol_t *spincontrol; + txt_table_t *sfx_table; + txt_table_t *music_table; window = TXT_NewWindow("Sound configuration"); - TXT_AddWidget(window, TXT_NewSeparator("Sound effects")); - - checkbox = TXT_NewCheckBox("Sound effects enabled", &snd_sfxenabled); - TXT_AddWidget(window, checkbox); - - table = TXT_NewTable(2); - TXT_SetColumnWidths(table, 20, 5); - - TXT_AddWidget(table, TXT_NewLabel("Sound channels")); - - spincontrol = TXT_NewSpinControl(&snd_channels, 1, 8); - TXT_AddWidget(table, spincontrol); - - TXT_AddWidget(table, TXT_NewLabel("SFX volume")); - - spincontrol = TXT_NewSpinControl(&sfx_volume, 0, 15); - TXT_AddWidget(table, spincontrol); - - TXT_AddWidget(window, table); - - TXT_AddWidget(window, TXT_NewSeparator("Music")); - - checkbox = TXT_NewCheckBox("Music enabled", &snd_musicenabled); - TXT_AddWidget(window, checkbox); - - table = TXT_NewTable(2); - TXT_SetColumnWidths(table, 20, 5); - - TXT_AddWidget(table, TXT_NewLabel("Music volume")); - - spincontrol = TXT_NewSpinControl(&music_volume, 0, 15); - TXT_AddWidget(table, spincontrol); - - TXT_AddWidget(window, table); + TXT_AddWidgets(window, + TXT_NewSeparator("Sound effects"), + TXT_NewCheckBox("Sound effects enabled", &snd_sfxenabled), + sfx_table = TXT_NewTable(2), + TXT_NewSeparator("Music"), + TXT_NewCheckBox("Music enabled", &snd_musicenabled), + music_table = TXT_NewTable(2), + NULL); + + TXT_SetColumnWidths(sfx_table, 20, 5); + + TXT_AddWidgets(sfx_table, + TXT_NewLabel("Sound channels"), + TXT_NewSpinControl(&snd_channels, 1, 8), + TXT_NewLabel("SFX volume"), + TXT_NewSpinControl(&sfx_volume, 0, 15), + NULL); + + TXT_SetColumnWidths(music_table, 20, 5); + + TXT_AddWidgets(music_table, + TXT_NewLabel("Music volume"), + TXT_NewSpinControl(&music_volume, 0, 15), + NULL); } |