summaryrefslogtreecommitdiff
path: root/setup
diff options
context:
space:
mode:
authorSimon Howard2006-09-29 11:49:30 +0000
committerSimon Howard2006-09-29 11:49:30 +0000
commit481b3391baff23f1682df009df7d3387d62f3d75 (patch)
tree8601712b0ea4659709f5b3a373c274d68151780e /setup
parent196e21dc30f6f2092992cdba5164a8985da41ecf (diff)
downloadchocolate-doom-481b3391baff23f1682df009df7d3387d62f3d75.tar.gz
chocolate-doom-481b3391baff23f1682df009df7d3387d62f3d75.tar.bz2
chocolate-doom-481b3391baff23f1682df009df7d3387d62f3d75.zip
Use TXT_AddWidgets in setup for greatly enhanced readability.
Subversion-branch: /trunk/chocolate-doom Subversion-revision: 679
Diffstat (limited to 'setup')
-rw-r--r--setup/compatibility.c10
-rw-r--r--setup/display.c46
-rw-r--r--setup/keyboard.c43
-rw-r--r--setup/mainmenu.c66
-rw-r--r--setup/mouse.c54
-rw-r--r--setup/multiplayer.c112
-rw-r--r--setup/sound.c63
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);
}