]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_welcome.qc
Merge branch 'master' into terencehill/menu_quit_game
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_welcome.qc
1 #include "dialog_welcome.qh"
2
3 #include "image.qh"
4 #include "textlabel.qh"
5 #include "textbox.qh"
6 #include "radiobutton.qh"
7 #include "commandbutton.qh"
8 #include "slider.qh"
9
10 void welcomeDialog_resetStrings(entity me)
11 {
12         strcpy(me.serverinfo_name, "<NO HOSTNAME>");
13         strcpy(me.serverinfo_MOTD, "<NO WELCOME MESSAGE>");
14 }
15
16 float XonoticWelcomeDialog_keyDown(entity me, float key, float ascii, float shift)
17 {
18         switch(key)
19         {
20                 case K_KP_ENTER:
21                 case K_ENTER:
22                 case K_SPACE:
23                         me.close(me);
24                         return true;
25                 default:
26                         return SUPER(XonoticWelcomeDialog).keyDown(me, key, ascii, shift);
27         }
28 }
29
30 void XonoticWelcomeDialog_configureDialog(entity me)
31 {
32         welcomeDialog_resetStrings(me);
33         SUPER(XonoticWelcomeDialog).configureDialog(me);
34         registercvar("_menu_welcome_dialog_available", "0", 0);
35         cvar_set("_menu_welcome_dialog_available", "1");
36 }
37
38 void XonoticWelcomeDialog_destroy(entity me)
39 {
40         cvar_set("_menu_welcome_dialog_available", "0");
41 }
42
43 void XonoticWelcomeDialog_readInputArgs(entity me, int argsbuf)
44 {
45         int i = 0;
46         string s;
47         welcomeDialog_resetStrings(me);
48         if(argsbuf >= 0)
49         while((s = bufstr_get(argsbuf, i)) != "")
50         {
51                 if(s == "HOSTNAME")
52                         strcpy(me.serverinfo_name, bufstr_get(argsbuf, ++i));
53                 else if(s == "WELCOME")
54                         strcpy(me.serverinfo_MOTD, bufstr_get(argsbuf, ++i));
55                 ++i;
56         }
57         //me.serverinfo_name_ent.setText(me.serverinfo_name_ent, me.serverinfo_name);
58         me.serverinfo_MOTD_ent.setText(me.serverinfo_MOTD_ent, me.serverinfo_MOTD);
59         me.frame.setText(me.frame, me.serverinfo_name);
60 }
61
62 void XonoticWelcomeDialog_fill(entity me)
63 {
64         entity e;
65
66         me.TR(me);
67                 me.TD(me, me.rows - 1, me.columns, me.serverinfo_MOTD_ent = makeXonoticTextBox());
68                         me.serverinfo_MOTD_ent.align = 0.5;
69                         me.serverinfo_MOTD_ent.allowColors = true;
70                         me.serverinfo_MOTD_ent.escapedNewLines = true;
71         me.gotoRC(me, me.rows - 1, 0);
72                 me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
73                         e.onClick = Dialog_Close;
74                         e.onClickEntity = me;
75                         e.preferredFocusPriority = 1;
76 }