]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/command/menu_cmd.qc
Fix menu_cmd help not listing the shared commands (message is not translatable on...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / command / menu_cmd.qc
1 string _dumptree_space;
2 void _dumptree_open(entity pass, entity me)
3 {
4         string s;
5         s = me.toString(me);
6         if(s == "")
7                 s = me.classname;
8         else
9                 s = strcat(me.classname, ": ", s);
10         print(_dumptree_space, etos(me), " (", s, ")");
11         if(me.firstChild)
12         {
13                 print(" {\n");
14                 _dumptree_space = strcat(_dumptree_space, "  ");
15         }
16         else
17                 print("\n");
18 }
19 void _dumptree_close(entity pass, entity me)
20 {
21         if(me.firstChild)
22         {
23                 _dumptree_space = substring(_dumptree_space, 0, strlen(_dumptree_space) - 2);
24                 print(_dumptree_space, "}\n");
25         }
26 }
27
28 void GameCommand(string theCommand)
29 {
30         float argc;
31         argc = tokenize_console(theCommand);
32
33         if(argv(0) == "help" || argc == 0)
34         {
35                 print(_("Usage: menu_cmd command..., where possible commands are:\n"));
36                 print(_("  sync - reloads all cvars on the current menu page\n"));
37                 print(_("  directmenu ITEM - select a menu item as main item\n"));
38
39                 print("\nGeneric commands shared by all programs:\n");
40                 GenericCommand_macro_help();
41
42                 return;
43         }
44
45         if(GenericCommand(theCommand))
46                 return;
47
48         if(argv(0) == "sync")
49         {
50                 m_sync();
51                 return;
52         }
53
54         if(argv(0) == "directmenu") if(argc == 2)
55         {
56                 // switch to a menu item
57                 if(!isdemo()) // don't allow this command in demos
58                         m_goto(argv(1));
59                 return;
60         }
61
62         if(argv(0) == "directpanelhudmenu")
63         {
64                 // switch to a menu item
65                 m_goto(strcat("HUD", argv(1)));
66                 return;
67         }
68
69         if(argv(0) == "skinselect")
70         {
71                 m_goto("skinselector");
72                 return;
73         }
74
75         if(argv(0) == "languageselect")
76         {
77                 m_goto("languageselector");
78                 return;
79         }
80
81         if(argv(0) == "videosettings")
82         {
83                 m_goto("videosettings");
84                 return;
85         }
86
87         if(argv(0) == "dumptree")
88         {
89                 _dumptree_space = "";
90                 depthfirst(main, parent, firstChild, nextSibling, _dumptree_open, _dumptree_close, NULL);
91                 return;
92         }
93
94         if(argv(0) == "curl")
95         {
96         }
97
98         print(_("Invalid command. For a list of supported commands, try menu_cmd help.\n"));
99 }