X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fdialog_firstrun.c;h=90988703e0e5f9fa491ef0759e2a95a358b7fec3;hb=945e6b7cee9fa95c13a80805b2f5d60256216793;hp=6568a7198f301ef4ad9571fe9521ea8af0b6e3a3;hpb=dcaa708cee1093798a651369d9fd46ad5074121e;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/dialog_firstrun.c b/qcsrc/menu/xonotic/dialog_firstrun.c index 6568a7198..90988703e 100644 --- a/qcsrc/menu/xonotic/dialog_firstrun.c +++ b/qcsrc/menu/xonotic/dialog_firstrun.c @@ -3,9 +3,9 @@ CLASS(XonoticFirstRunDialog) EXTENDS(XonoticRootDialog) METHOD(XonoticFirstRunDialog, fill, void(entity)) // to be overridden by user to fill the dialog with controls ATTRIB(XonoticFirstRunDialog, title, string, _("Welcome")) ATTRIB(XonoticFirstRunDialog, color, vector, SKINCOLOR_DIALOG_FIRSTRUN) - ATTRIB(XonoticFirstRunDialog, intendedWidth, float, 0.6) - ATTRIB(XonoticFirstRunDialog, rows, float, 15) - ATTRIB(XonoticFirstRunDialog, columns, float, 3) + ATTRIB(XonoticFirstRunDialog, intendedWidth, float, 0.7) + ATTRIB(XonoticFirstRunDialog, rows, float, 16) + ATTRIB(XonoticFirstRunDialog, columns, float, 6) ATTRIB(XonoticFirstRunDialog, name, string, "FirstRun") ATTRIB(XonoticFirstRunDialog, playerNameLabel, entity, NULL) ATTRIB(XonoticFirstRunDialog, playerNameLabelAlpha, float, 0) @@ -17,56 +17,80 @@ ENDCLASS(XonoticFirstRunDialog) #ifdef IMPLEMENTATION float CheckFirstRunButton(entity me) { - if(cvar_string("_cl_name") != "Player") + if(cvar_string("_cl_name") != cvar_defstring("_cl_name")) return 1; - if(cvar_string("prvm_language") != prvm_language) + + if(cvar_string("_menu_prvm_language") != prvm_language) return 1; // OK will then reopen the dialog in another language + + if(cvar_string("cl_allow_uid2name") != "-1") + return 1; + return 0; } +void firstRun_setLanguage(entity me) +{ + if(prvm_language != cvar_string("_menu_prvm_language")) + localcmd("\nprvm_language \"$_menu_prvm_language\"; saveconfig; menu_restart\n"); +} + void XonoticFirstRunDialog_fill(entity me) { entity e; entity label, box; me.TR(me); - 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."))); + me.TR(me); + me.TDempty(me, 1); + 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."))); e.allowWrap = 1; me.TR(me); - me.TR(me); - me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Text language:"))); - me.TR(me); - me.TD(me, 3, 3, e = makeXonoticLanguageList()); - e.name = "languageselector_firstrun"; - e.doubleClickCommand = "saveconfig; menu_restart; togglemenu"; me.TR(me); - me.TR(me); - me.TR(me); me.TD(me, 1, 0.5, me.playerNameLabel = makeXonoticTextLabel(0, _("Name:"))); me.playerNameLabelAlpha = me.playerNameLabel.alpha; - me.TD(me, 1, 2.5, label = makeXonoticTextLabel(0, string_null)); + me.TD(me, 1, 3.25, label = makeXonoticTextLabel(0, string_null)); label.allowCut = 1; label.allowColors = 1; label.alpha = 1; me.TR(me); - me.TD(me, 1, 3.0, box = makeXonoticInputBox(1, "_cl_name")); + me.TD(me, 1, 3.75, box = makeXonoticInputBox(1, "_cl_name")); box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved box.maxLength = -127; // negative means encoded length in bytes box.saveImmediately = 1; label.textEntity = box; me.TR(me); - me.TD(me, 5, 1, e = makeXonoticColorpicker(box)); - me.TD(me, 5, 2, e = makeXonoticCharmap(box)); + me.TD(me, 5, 1.25, e = makeXonoticColorpicker(box)); + me.TD(me, 5, 2.5, e = makeXonoticCharmap(box)); + me.TR(me); + me.TR(me); + me.TR(me); me.TR(me); + + me.gotoRC(me, 3, 4); me.setFirstColumn(me, me.currentColumn); + me.TR(me); + me.TD(me, 1, 2, e = makeXonoticTextLabel(0, _("Text language:"))); me.TR(me); + me.TD(me, 6, 2, e = makeXonoticLanguageList()); + e.name = "languageselector_firstrun"; + e.setLanguage = firstRun_setLanguage; me.TR(me); me.TR(me); + me.gotoRC(me, me.rows - 4, 0); + me.TD(me, 1, me.columns, e = makeXonoticTextLabel(0.5, _("Allow player statistics to use your nickname at stats.xonotic.org?"))); + + me.gotoRC(me, me.rows - 3, 0); + me.TDempty(me, 1.5); + me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "cl_allow_uid2name", "1", ZCTX(_("ALWU2N^Yes")))); + me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "cl_allow_uid2name", "0", ZCTX(_("ALWU2N^No")))); + me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "cl_allow_uid2name", "-1", ZCTX(_("ALWU2N^Undecided")))); + // because of the language selector, this is a menu_restart! me.gotoRC(me, me.rows - 1, 0); - me.TD(me, 1, me.columns, e = makeXonoticCommandButton(_("Save settings"), '0 0 0', "saveconfig; menu_restart; togglemenu", COMMANDBUTTON_APPLY)); + me.TD(me, 1, me.columns, e = makeXonoticCommandButton(_("Save settings"), '0 0 0', "prvm_language \"$_menu_prvm_language\"; saveconfig; menu_restart", COMMANDBUTTON_APPLY)); setDependentWeird(e, CheckFirstRunButton); } #endif