Changeset - r15826:ae8e8209155d
[Not reviewed]
master
0 2 0
rubidium - 14 years ago 2010-08-16 15:18:21
rubidium@openttd.org
(svn r20515) -Feature: ignore _ in console command names so there is no "inconsistent" behaviour w.r.t. underscores anymore without breaking backwards compatability greatly
2 files changed with 18 insertions and 4 deletions:
0 comments (0 inline, 0 general)
src/console.cpp
Show inline comments
 
@@ -224,6 +224,21 @@ void IConsoleAddSorted(T **base, T *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
 
 * @param name name of the command that will be used
 
 * @param proc function that will be called upon execution of command
 
@@ -231,7 +246,7 @@ void IConsoleAddSorted(T **base, T *item
 
void IConsoleCmdRegister(const char *name, IConsoleCmdProc *proc, IConsoleHook *hook)
 
{
 
	IConsoleCmd *item_new = MallocT<IConsoleCmd>(1);
 
	item_new->name = strdup(name);
 
	item_new->name = RemoveUnderscores(strdup(name));
 
	item_new->next = NULL;
 
	item_new->proc = proc;
 
	item_new->hook = hook;
 
@@ -266,7 +281,7 @@ void IConsoleAliasRegister(const char *n
 
		return;
 
	}
 

	
 
	char *new_alias = strdup(name);
 
	char *new_alias = RemoveUnderscores(strdup(name));
 
	char *cmd_aliased = strdup(cmd);
 
	IConsoleAlias *item_new = MallocT<IConsoleAlias>(1);
 

	
 
@@ -467,6 +482,7 @@ void IConsoleCmdExec(const char *cmdstr)
 
	 * First try commands, then aliases. Execute
 
	 * the found action taking into account its hooking code
 
	 */
 
	RemoveUnderscores(tokens[0]);
 
	IConsoleCmd *cmd = IConsoleCmdGet(tokens[0]);
 
	if (cmd != NULL) {
 
		ConsoleHookResult chr = (cmd->hook == NULL ? CHR_ALLOW : cmd->hook(true));
src/console_cmds.cpp
Show inline comments
 
@@ -1767,8 +1767,6 @@ void IConsoleStdLibRegister()
 
	IConsoleAliasRegister("dir",          "ls");
 
	IConsoleAliasRegister("del",          "rm %+");
 
	IConsoleAliasRegister("newmap",       "newgame");
 
	IConsoleAliasRegister("new_map",      "newgame");
 
	IConsoleAliasRegister("new_game",     "newgame");
 
	IConsoleAliasRegister("patch",        "setting %+");
 
	IConsoleAliasRegister("set",          "setting %+");
 
	IConsoleAliasRegister("set_newgame",  "setting_newgame %+");
0 comments (0 inline, 0 general)