From 2fb21550ef6fb712bef2213fc59087f9861cce90 Mon Sep 17 00:00:00 2001 From: Samual Lenks Date: Sun, 24 Nov 2013 17:33:47 -0500 Subject: [PATCH] Start getting rid of "advanced server settings" menu, move team slider --- .../menu/xonotic/dialog_multiplayer_create.c | 29 +++++++++++++++- .../dialog_multiplayer_create_advanced.c | 34 ------------------- 2 files changed, 28 insertions(+), 35 deletions(-) diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_create.c b/qcsrc/menu/xonotic/dialog_multiplayer_create.c index e41ab6f42..afbd71497 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_create.c +++ b/qcsrc/menu/xonotic/dialog_multiplayer_create.c @@ -9,8 +9,10 @@ CLASS(XonoticServerCreateTab) EXTENDS(XonoticTab) ATTRIB(XonoticServerCreateTab, mapListBox, entity, NULL) ATTRIB(XonoticServerCreateTab, sliderFraglimit, entity, NULL) + ATTRIB(XonoticServerCreateTab, sliderTeams, entity, NULL) ATTRIB(XonoticServerCreateTab, sliderTimelimit, entity, NULL) ATTRIB(XonoticServerCreateTab, labelFraglimit, entity, NULL) + ATTRIB(XonoticServerCreateTab, labelTeams, entity, NULL) ENDCLASS(XonoticServerCreateTab) entity makeXonoticServerCreateTab(); #endif @@ -103,7 +105,14 @@ void XonoticServerCreateTab_fill(entity me) me.TD(me, 1, 1, me.labelFraglimit = makeXonoticTextLabel(0, _("Frag limit:"))); me.TD(me, 1, 2, me.sliderFraglimit = makeXonoticTextSlider("fraglimit_override")); GameType_ConfigureSliders(me.sliderFraglimit, me.labelFraglimit, _("Frag limit:"), 5, 100, 5, "fraglimit_override"); - + me.TR(me); + me.TD(me, 1, 1, me.labelTeams = makeXonoticTextLabel(0, _("Teams:"))); + me.TD(me, 1, 2, e = me.sliderTeams = makeXonoticTextSlider(string_null)); + e.addValue(e, "Default", "0"); + e.addValue(e, "2 teams", "2"); + e.addValue(e, "3 teams", "3"); + e.addValue(e, "4 teams", "4"); + e.configureXonoticTextSliderValues(e); me.TR(me); me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Player slots:"))); me.TD(me, 1, 2, makeXonoticSlider(1, 32, 1, "menu_maxplayers")); @@ -175,6 +184,7 @@ void XonoticServerCreateTab_gameTypeChangeNotify(entity me) gt = MapInfo_CurrentGametype(); e = me.sliderFraglimit; l = me.labelFraglimit; + switch(gt) { case MAPINFO_TYPE_CTF: GameType_ConfigureSliders(e, l, _("Capture limit:"), 1, 20, 1, "capturelimit_override"); break; @@ -188,6 +198,23 @@ void XonoticServerCreateTab_gameTypeChangeNotify(entity me) case MAPINFO_TYPE_CTS: GameType_ConfigureSliders(e, l, _("Point limit:"), 50, 500, 10, ""); break; default: GameType_ConfigureSliders(e, l, _("Frag limit:"), 5, 100, 5, "fraglimit_override"); break; } + + float x = FALSE; + e = me.sliderTeams; + switch(gt) + { + case MAPINFO_TYPE_CA: x = TRUE; e.configureXonoticTextSlider(e, "g_ca_teams_override"); break; + case MAPINFO_TYPE_DOMINATION: x = TRUE; e.configureXonoticTextSlider(e, "g_domination_teams_override"); break; + case MAPINFO_TYPE_FREEZETAG: x = TRUE; e.configureXonoticTextSlider(e, "g_freezetag_teams_override"); break; + case MAPINFO_TYPE_KEEPAWAY: x = TRUE; e.configureXonoticTextSlider(e, "g_keepaway_teams_override"); break; + case MAPINFO_TYPE_KEYHUNT: x = TRUE; e.configureXonoticTextSlider(e, "g_keyhunt_teams_override"); break; + case MAPINFO_TYPE_TEAM_DEATHMATCH: x = TRUE; e.configureXonoticTextSlider(e, "g_tdm_teams_override"); break; + + default: x = FALSE; e.configureXonoticTextSlider(e, string_null); break; + } + me.sliderTeams.configureXonoticTextSliderValues(e); + me.sliderTeams.disabled = me.labelTeams.disabled = !x; + me.mapListBox.refilter(me.mapListBox); } diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c b/qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c index e6fffe093..c05cd77c2 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c +++ b/qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c @@ -21,16 +21,6 @@ void XonoticAdvancedDialog_showNotify(entity me) void XonoticAdvancedDialog_fill(entity me) { entity e; - me.TR(me); - me.TD(me, 1, 3, makeXonoticTextLabel(0, _("Game settings:"))); - me.TR(me); - me.TDempty(me, 0.2); - me.TD(me, 1, 2.8, makeXonoticCheckBox(0, "sv_spectate", _("Allow spectating"))); - me.TR(me); - me.TDempty(me, 0.2); - me.TD(me, 1, 1.2, makeXonoticTextLabel(0, _("Spawn shield:"))); - me.TD(me, 1, 1.6, makeXonoticSlider(0, 15, 0.5, "g_spawnshieldtime")); - me.TR(me); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 1.2, makeXonoticTextLabel(0, _("Game speed:"))); @@ -53,30 +43,6 @@ void XonoticAdvancedDialog_fill(entity me) me.TDempty(me, 0.4); me.TD(me, 1, 2.6, makeXonoticCheckBox(0, "g_mirrordamage_virtual", _("Virtual penalty (effect only)"))); me.TR(me); - me.TDempty(me, 0.2); - me.TD(me, 1, 1.2, makeXonoticTextLabel(0, _("Teams:"))); - me.TD(me, 1, 1.6, e = makeXonoticTextSlider("g_tdm_teams_override g_domination_teams_override g_ca_teams_override g_freezetag_teams_override g_keyhunt_teams_override")); - e.addValue(e, "Default", "0"); - e.addValue(e, "2 teams", "2"); - e.addValue(e, "3 teams", "3"); - e.addValue(e, "4 teams", "4"); - e.configureXonoticTextSliderValues(e); - me.TR(me); - me.TR(me); - me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Map voting:"))); - me.TD(me, 1, 2, e = makeXonoticTextSlider("g_maplist_votable")); - e.addValue(e, _("No voting"), "0"); - e.addValue(e, _("2 choices"), "2"); - e.addValue(e, _("3 choices"), "3"); - e.addValue(e, _("4 choices"), "4"); - e.addValue(e, _("5 choices"), "5"); - e.addValue(e, _("6 choices"), "6"); - e.addValue(e, _("7 choices"), "7"); - e.addValue(e, _("8 choices"), "8"); - e.addValue(e, _("9 choices"), "9"); - e.configureXonoticTextSliderValues(e); - me.TR(me); - me.TD(me, 1, 3, makeXonoticCheckBoxEx(0.5, 0, "sv_vote_simple_majority_factor", _("Simple majority wins vcall"))); me.gotoRC(me, me.rows - 1, 0); me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0')); -- 2.39.2