#ifdef INTERFACE CLASS(VoretAdvancedDialog) EXTENDS(VoretDialog) METHOD(VoretAdvancedDialog, fill, void(entity)) METHOD(VoretAdvancedDialog, showNotify, void(entity)) METHOD(VoretAdvancedDialog, close, void(entity)) ATTRIB(VoretAdvancedDialog, title, string, "Advanced server settings") ATTRIB(VoretAdvancedDialog, color, vector, SKINCOLOR_DIALOG_ADVANCED) ATTRIB(VoretAdvancedDialog, intendedWidth, float, 0.5) ATTRIB(VoretAdvancedDialog, rows, float, 20) ATTRIB(VoretAdvancedDialog, columns, float, 3) ATTRIB(VoretAdvancedDialog, refilterEntity, entity, NULL) ENDCLASS(VoretAdvancedDialog) #endif #ifdef IMPLEMENTATION void showNotifyVoretAdvancedDialog(entity me) { loadAllCvars(me); } void fillVoretAdvancedDialog(entity me) { entity e; me.TR(me); me.TD(me, 1, 1.2, makeVoretTextLabel(0, "Server settings:")); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 1.15, makeVoretTextLabel(0, "Server type:")); me.TD(me, 1, 0.6, e = makeVoretRadioButton(1, "sv_public", "-2", "Local")); me.TD(me, 1, 0.6, e = makeVoretRadioButton(1, "sv_public", "0", "Hidden")); me.TD(me, 1, 0.6, e = makeVoretRadioButton(1, "sv_public", "1", "Public")); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 1.15, makeVoretTextLabel(0, "Hostname:")); me.TD(me, 1, 1.5, e = makeVoretInputBox(1, "hostname")); setDependentAND(e, "sv_public", 1, 1, "menu_use_default_hostname", 0, 0); me.TR(me); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Map voting:")); me.TDempty(me, 0.2); me.TD(me, 1, 1.7, e = makeVoretTextSlider("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.configureVoretTextSliderValues(e); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 1.2, e = makeVoretCheckBoxEx(0.5, 0, "sv_vote_simple_majority_factor", "Simple majority wins vcall")); me.TR(me); me.TR(me); me.TD(me, 1, 1.2, makeVoretTextLabel(0, "Game settings:")); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 1.2, e = makeVoretCheckBox(0, "sv_spectate", "Allow spectating")); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 1.2, e = makeVoretTextLabel(0, "Spawn shield:")); me.TD(me, 1, 1.7, e = makeVoretSlider(0, 15, 0.5, "g_spawnshieldtime")); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 1.2, e = makeVoretTextLabel(0, "Start delay:")); me.TD(me, 1, 1.7, e = makeVoretSlider(0, 30, 0.5, "g_start_delay")); me.TR(me); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 1.2, e = makeVoretTextLabel(0, "Game speed:")); me.TD(me, 1, 1.7, e = makeVoretSlider(0.5, 2.0, 0.1, "slowmo")); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 1.2, e = makeVoretCheckBoxEx(2, 0, "g_antilag", "AntiLag")); me.TR(me); me.TR(me); me.TD(me, 1, 1.2, makeVoretTextLabel(0, "Teamplay settings:")); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 1.2, e = makeVoretTextLabel(0, "Friendly fire scale:")); me.TD(me, 1, 1.7, e = makeVoretSlider(0, 1.0, 0.05, "g_friendlyfire")); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 1.2, e = makeVoretTextLabel(0, "Friendly fire penalty:")); me.TD(me, 1, 1.7, e = makeVoretSlider(0, 1.0, 0.05, "g_mirrordamage")); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 1.2, e = makeVoretTextLabel(0, "Teams:")); me.TD(me, 1, 1.7, e = makeVoretTextSlider("g_tdm_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.configureVoretTextSliderValues(e); makeMulti(e, "g_domination_teams_override g_keyhunt_teams_override"); me.gotoRC(me, me.rows - 1, 0); me.TD(me, 1, me.columns, e = makeVoretButton("OK", '0 0 0')); e.onClick = Dialog_Close; e.onClickEntity = me; } void closeVoretAdvancedDialog(entity me) { if(me.refilterEntity) me.refilterEntity.refilter(me.refilterEntity); closeDialog(me); } #endif