2 CLASS(XonoticFirstRunDialog) EXTENDS(XonoticRootDialog)
3 METHOD(XonoticFirstRunDialog, fill, void(entity)) // to be overridden by user to fill the dialog with controls
4 ATTRIB(XonoticFirstRunDialog, title, string, _("Welcome"))
5 ATTRIB(XonoticFirstRunDialog, color, vector, SKINCOLOR_DIALOG_FIRSTRUN)
6 ATTRIB(XonoticFirstRunDialog, intendedWidth, float, 0.6)
7 ATTRIB(XonoticFirstRunDialog, rows, float, 15)
8 ATTRIB(XonoticFirstRunDialog, columns, float, 3)
9 ATTRIB(XonoticFirstRunDialog, name, string, "FirstRun")
10 ATTRIB(XonoticFirstRunDialog, playerNameLabel, entity, NULL)
11 ATTRIB(XonoticFirstRunDialog, playerNameLabelAlpha, float, 0)
13 ATTRIB(XonoticFirstRunDialog, closable, float, 0)
14 ENDCLASS(XonoticFirstRunDialog)
18 float CheckFirstRunButton(entity me)
20 if(cvar_string("_cl_name") != "Player")
22 if(cvar_string("prvm_language") != prvm_language)
23 return 1; // OK will then reopen the dialog in another language
27 void XonoticFirstRunDialog_fill(entity me)
33 me.TD(me, 2, 3, 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.")));
38 me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Text language:")));
40 me.TD(me, 3, 3, e = makeXonoticLanguageList());
41 e.name = "languageselector_firstrun";
42 e.doubleClickCommand = "saveconfig; menu_restart; togglemenu";
47 me.TD(me, 1, 0.5, me.playerNameLabel = makeXonoticTextLabel(0, _("Name:")));
48 me.playerNameLabelAlpha = me.playerNameLabel.alpha;
49 me.TD(me, 1, 2.5, label = makeXonoticTextLabel(0, string_null));
51 label.allowColors = 1;
54 me.TD(me, 1, 3.0, box = makeXonoticInputBox(1, "_cl_name"));
55 box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
56 box.maxLength = -127; // negative means encoded length in bytes
57 box.saveImmediately = 1;
58 label.textEntity = box;
60 me.TD(me, 5, 1, e = makeXonoticColorpicker(box));
61 me.TD(me, 5, 2, e = makeXonoticCharmap(box));
67 // because of the language selector, this is a menu_restart!
68 me.gotoRC(me, me.rows - 1, 0);
69 me.TD(me, 1, me.columns, e = makeXonoticCommandButton(_("Save settings"), '0 0 0', "saveconfig; menu_restart; togglemenu", COMMANDBUTTON_APPLY));
70 setDependentWeird(e, CheckFirstRunButton);