]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/command/menu_cmd.qc
provide the "curl" command in all QC VMs
[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                 GenericCommand("help");
39                 return;
40         }
41
42         if(GenericCommand(theCommand))
43                 return;
44
45         if(argv(0) == "sync")
46         {
47                 m_sync();
48                 return;
49         }
50
51         if(argv(0) == "directmenu") if(argc == 2)
52         {
53                 // switch to a menu item
54                 if(!isdemo()) // don't allow this command in demos
55                         m_goto(argv(1));
56                 return;
57         }
58
59         if(argv(0) == "directpanelhudmenu")
60         {
61                 // switch to a menu item
62                 m_goto(strcat("HUD", argv(1)));
63                 return;
64         }
65
66         if(argv(0) == "skinselect")
67         {
68                 m_goto_skin_selector();
69                 return;
70         }
71
72         if(argv(0) == "languageselect")
73         {
74                 m_goto_language_selector();
75                 return;
76         }
77
78         if(argv(0) == "videosettings")
79         {
80                 m_goto_video_settings();
81                 return;
82         }
83
84         if(argv(0) == "dumptree")
85         {
86                 _dumptree_space = "";
87                 depthfirst(main, parent, firstChild, nextSibling, _dumptree_open, _dumptree_close, NULL);
88                 return;
89         }
90
91         if(argv(0) == "curl")
92         {
93         }
94
95         print(_("Invalid command. For a list of supported commands, try menu_cmd help.\n"));
96 }