mirror of https://github.com/OpenTTD/OpenTTD
(svn r20515) -Feature: ignore _ in console command names so there is no "inconsistent" behaviour w.r.t. underscores anymore without breaking backwards compatability greatly
parent
ca6aac6a5a
commit
d98ff7c4c4
|
@ -223,6 +223,21 @@ void IConsoleAddSorted(T **base, T *item_new)
|
||||||
item_new->next = item;
|
item_new->next = item;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove underscores from a string; the string will be modified!
|
||||||
|
* @param name The string to remove the underscores from.
|
||||||
|
* @return #name.
|
||||||
|
*/
|
||||||
|
char *RemoveUnderscores(char *name)
|
||||||
|
{
|
||||||
|
char *q = name;
|
||||||
|
for (const char *p = name; *p != '\0'; p++) {
|
||||||
|
if (*p != '_') *q++ = *p;
|
||||||
|
}
|
||||||
|
*q = '\0';
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register a new command to be used in the console
|
* Register a new command to be used in the console
|
||||||
* @param name name of the command that will be used
|
* @param name name of the command that will be used
|
||||||
|
@ -231,7 +246,7 @@ void IConsoleAddSorted(T **base, T *item_new)
|
||||||
void IConsoleCmdRegister(const char *name, IConsoleCmdProc *proc, IConsoleHook *hook)
|
void IConsoleCmdRegister(const char *name, IConsoleCmdProc *proc, IConsoleHook *hook)
|
||||||
{
|
{
|
||||||
IConsoleCmd *item_new = MallocT<IConsoleCmd>(1);
|
IConsoleCmd *item_new = MallocT<IConsoleCmd>(1);
|
||||||
item_new->name = strdup(name);
|
item_new->name = RemoveUnderscores(strdup(name));
|
||||||
item_new->next = NULL;
|
item_new->next = NULL;
|
||||||
item_new->proc = proc;
|
item_new->proc = proc;
|
||||||
item_new->hook = hook;
|
item_new->hook = hook;
|
||||||
|
@ -266,7 +281,7 @@ void IConsoleAliasRegister(const char *name, const char *cmd)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *new_alias = strdup(name);
|
char *new_alias = RemoveUnderscores(strdup(name));
|
||||||
char *cmd_aliased = strdup(cmd);
|
char *cmd_aliased = strdup(cmd);
|
||||||
IConsoleAlias *item_new = MallocT<IConsoleAlias>(1);
|
IConsoleAlias *item_new = MallocT<IConsoleAlias>(1);
|
||||||
|
|
||||||
|
@ -467,6 +482,7 @@ void IConsoleCmdExec(const char *cmdstr)
|
||||||
* First try commands, then aliases. Execute
|
* First try commands, then aliases. Execute
|
||||||
* the found action taking into account its hooking code
|
* the found action taking into account its hooking code
|
||||||
*/
|
*/
|
||||||
|
RemoveUnderscores(tokens[0]);
|
||||||
IConsoleCmd *cmd = IConsoleCmdGet(tokens[0]);
|
IConsoleCmd *cmd = IConsoleCmdGet(tokens[0]);
|
||||||
if (cmd != NULL) {
|
if (cmd != NULL) {
|
||||||
ConsoleHookResult chr = (cmd->hook == NULL ? CHR_ALLOW : cmd->hook(true));
|
ConsoleHookResult chr = (cmd->hook == NULL ? CHR_ALLOW : cmd->hook(true));
|
||||||
|
|
|
@ -1767,8 +1767,6 @@ void IConsoleStdLibRegister()
|
||||||
IConsoleAliasRegister("dir", "ls");
|
IConsoleAliasRegister("dir", "ls");
|
||||||
IConsoleAliasRegister("del", "rm %+");
|
IConsoleAliasRegister("del", "rm %+");
|
||||||
IConsoleAliasRegister("newmap", "newgame");
|
IConsoleAliasRegister("newmap", "newgame");
|
||||||
IConsoleAliasRegister("new_map", "newgame");
|
|
||||||
IConsoleAliasRegister("new_game", "newgame");
|
|
||||||
IConsoleAliasRegister("patch", "setting %+");
|
IConsoleAliasRegister("patch", "setting %+");
|
||||||
IConsoleAliasRegister("set", "setting %+");
|
IConsoleAliasRegister("set", "setting %+");
|
||||||
IConsoleAliasRegister("set_newgame", "setting_newgame %+");
|
IConsoleAliasRegister("set_newgame", "setting_newgame %+");
|
||||||
|
|
Loading…
Reference in New Issue