1 #include "dialog_firstrun.qh"
3 #include "textlabel.qh"
5 #include "languagelist.qh"
6 #include "radiobutton.qh"
7 #include "colorpicker.qh"
9 #include "commandbutton.qh"
11 float CheckFirstRunButton(entity me)
13 if (cvar_string("_cl_name") != cvar_defstring("_cl_name")) {
17 if (cvar_string("_menu_prvm_language") != prvm_language) {
18 return 1; // OK will then reopen the dialog in another language
20 if (cvar_string("cl_allow_uid2name") != "-1") {
27 void firstRun_setLanguage(entity me)
29 if (prvm_language != cvar_string("_menu_prvm_language")) {
30 localcmd("\nprvm_language \"$_menu_prvm_language\"; saveconfig; menu_restart\n");
34 void XonoticFirstRunDialog_fill(entity me)
42 me.TD(me, 2, 4, e = makeXonoticTextLabel(0, _("Welcome to Xonotic, please select your language preference and enter your player name to get started. You can change these options later through the menu system.")));
48 me.TD(me, 1, 0.5, me.playerNameLabel = makeXonoticTextLabel(0, _("Name:")));
49 me.playerNameLabelAlpha = me.playerNameLabel.alpha;
50 me.TD(me, 1, 3.25, label = makeXonoticTextLabel(0, string_null));
52 label.allowColors = 1;
55 me.TD(me, 1, 3.75, box = makeXonoticInputBox_T(1, "_cl_name",
56 _("Name under which you will appear in the game")));
57 box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
58 box.maxLength = -127; // negative means encoded length in bytes
59 box.saveImmediately = 0; // Sorry, can't do this, it spams "name" commands.
60 box.enableClearButton = 0;
61 label.textEntity = box;
63 me.TD(me, 5, 1.25, e = makeXonoticColorpicker(box));
64 me.TD(me, 5, 2.5, e = makeXonoticCharmap(box));
71 me.setFirstColumn(me, me.currentColumn);
73 me.TD(me, 1, 2, e = makeXonoticTextLabel(0, _("Text language:")));
75 me.TD(me, 6, 2, e = makeXonoticLanguageList());
76 e.name = "languageselector_firstrun";
77 e.setLanguage = firstRun_setLanguage;
81 me.gotoRC(me, me.rows - 4, 0);
82 me.TD(me, 1, me.columns, e = makeXonoticTextLabel(0.5, _("Allow player statistics to use your nickname at stats.xonotic.org?")));
84 me.gotoRC(me, me.rows - 3, 0);
86 me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "cl_allow_uid2name", "1", _("Yes")));
87 me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "cl_allow_uid2name", "0", _("No")));
88 me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "cl_allow_uid2name", "-1", _("Undecided")));
90 // because of the language selector, this is a menu_restart!
91 me.gotoRC(me, me.rows - 1, 0);
92 me.TD(me, 1, me.columns, e = makeXonoticCommandButton(_("Save settings"), '0 0 0', "prvm_language \"$_menu_prvm_language\"; saveconfig; menu_restart", COMMANDBUTTON_APPLY));
93 setDependentWeird(e, CheckFirstRunButton);