#include <common/command/_mod.qh>
+.void(entity me, int argsbuf) readInputArgs;
.entity firstChild, nextSibling;
string _dumptree_space;
int argc = tokenize_console(theCommand);
string ss = strtolower(argv(0));
+ // TODO port these commands to the command system
if (argv(0) == "help" || argc == 0)
{
- LOG_INFO(_("Usage: menu_cmd command..., where possible commands are:"));
- LOG_INFO(_(" sync - reloads all cvars on the current menu page"));
- LOG_INFO(_(" directmenu ITEM - select a menu item as main item"));
- LOG_INFO(_(" dumptree - dump the state of the menu as a tree to the console"));
+ LOG_HELP("Usage:^3 menu_cmd <command> [<item>], where possible commands are:");
+ LOG_HELP(" 'sync' reloads all cvars on the current menu page");
+ LOG_HELP(" 'directmenu' shows the menu window named <item> (or the menu window containing an item named <item>)");
+ LOG_HELP(" if <item> is not specified it shows the list of available items in the console");
+ LOG_HELP(" 'dumptree' dumps the state of the menu as a tree to the console");
- LOG_INFO("Generic commands shared by all programs:");
+ LOG_HELP("\nGeneric commands shared by all programs:");
GenericCommand_macro_help();
return;
if (argc == 1)
{
- LOG_INFO(_("Available options:"));
+ LOG_HELP("Available items:");
FOREACH_ENTITY_ORDERED(it.name != "", {
if (it.classname == "vtbl") continue;
if (!startsWith(s, filter)) continue;
s = substring(s, strlen(filter), strlen(s) - strlen(filter));
}
- LOG_INFOF(" %s", s);
+ LOG_HELP(" ", s);
});
}
else if (argc == 2 && !isdemo()) // don't allow this command in demos
m_play_click_sound(MENU_SOUND_OPEN);
m_goto(strcat(filter, argv(1))); // switch to a menu item
}
+ else if(argc > 2 && !isdemo())
+ {
+ entity e = NULL;
+ float argsbuf = 0;
+ string s = strzone(argv(1)); // dialog name
+ for(int i = 0; (e = nextent(e)); )
+ if(e.classname != "vtbl" && e.name == strcat(filter, s))
+ {
+ argsbuf = buf_create();
+ if(argsbuf >= 0)
+ if(e.readInputArgs)
+ {
+ for(i = 2; i < argc; ++i)
+ bufstr_add(argsbuf, argv(i), 1);
+ e.readInputArgs(e, argsbuf);
+ m_goto(strcat(filter, s));
+ }
+ if(argsbuf >= 0)
+ buf_del(argsbuf);
+ }
+ }
+ return;
+ }
+
+ if (argv(0) == "nexposee")
+ {
+ m_goto("nexposee");
+ return;
+ }
+
+ if (argv(0) == "servers")
+ {
+ m_goto("servers");
+ return;
+ }
+
+ if (argv(0) == "profile")
+ {
+ m_goto("profile");
return;
}
return;
}
+ if (argv(0) == "inputsettings")
+ {
+ m_goto("inputsettings");
+ return;
+ }
+
if (argv(0) == "videosettings")
{
m_goto("videosettings");
if(MUTATOR_CALLHOOK(Menu_ConsoleCommand, ss, argc, theCommand)) // handled by a mutator
return;
- LOG_INFO(_("Invalid command. For a list of supported commands, try menu_cmd help."));
+ LOG_INFO("Invalid command. For a list of supported commands, try menu_cmd help.");
}